Aktualisierte Versionsnummern für API-, Anwendungs- und Infrastrukturprojekte:
- API: 6.0.0 auf 6.0.1
- Anwendung: 3.1.2 bis 3.1.3
- Infrastruktur: 3.0.1 bis 3.0.2
Außerdem wurden die Assembly- und Dateiversionen entsprechend aktualisiert. Zwei unbenutzte JavaScript-Dateien wurden aus dem API-Projekt entfernt.
Updated `Program.cs` to eliminate the Windows service conditional check.
Updated `DigitalData.Core.Abstractions` and `DigitalData.Core.Application`
to versions 3.4.1 and 3.2.1, respectively. Removed the
`DigitalData.Core.Infrastructure` package reference. In
`DigitalData.UserManager.Infrastructure.csproj`, updated
`DigitalData.Core.Infrastructure` to version 2.0.1 and added
`Microsoft.EntityFrameworkCore.Relational` for net7.0, net8.0,
and net9.0 with corresponding versions.
Added `DigitalData.Core.Infrastructure` version `2.0.0` and updated package references for `net7.0`, `net8.0`, and `net9.0` in `DigitalData.UserManager.Application.csproj`. Updated `AutoMapper` to version `14.0.0` for `net8.0` and `net9.0`, along with other related packages to their latest versions.
Umbenennung der Methoden für mehr Klarheit: `AddUserManager` zu `AddUserManagerApplication` und `AddInfrastructureServices` zu `AddUserManagerInfrastructure`. Neue Projektreferenzen für `Application`, `Domain` und `Infrastructure` in der `DigitalData.UserManager.DependencyInjection.csproj` hinzugefügt. Einführung von Erweiterungsmethoden in `Extensions.cs`, um die Registrierung von UserManager-Diensten zu rationalisieren und die Kohärenz zwischen Infrastruktur- und Anwendungsdienstregistrierungen zu verbessern.
Die Datei `DIExtensions.cs` wurde erheblich überarbeitet, um Abhängigkeiten von der Schicht `DigitalData.UserManager.Infrastructure` zu entfernen. Die Methode `AddUserManager` wurde vereinfacht und eine Methode `AddEncryptor` hinzugefügt. Die Projektverweise auf die Infrastrukturebene in der Anwendungsprojektdatei wurden entfernt. Aktualisierte Servicedateien zur Verwendung neuer Repository-Schnittstellen aus „DigitalData.UserManager.Application.Contracts.Repositories“. Repository-Schnittstellen wurden in den Namensraum für Anwendungsverträge verschoben und ihre Definitionen aktualisiert. Einführung von `DependencyInjection.cs` für die Handhabung von Infrastrukturdienstregistrierungen. Aktualisierte Repository-Implementierungen, um sie an die neue Struktur anzupassen, die Trennung von Belangen zu verbessern und die Injektion von Abhängigkeiten zu vereinfachen.
Die Projektdateien für die Anwendung DigitalData.UserManager wurden aktualisiert, um .NET 9.0 neben .NET 7.0 und .NET 8.0 als Ziel zu verwenden. Diese Änderung betrifft die folgenden Projektdateien: `DigitalData.UserManager.API.csproj`, `DigitalData.UserManager.Application.csproj`, `DigitalData.UserManager.Domain.csproj` und `DigitalData.UserManager.Infrastructure.csproj`.
Außerdem wurde die Version des Pakets `DigitalData.EmailProfilerDispatcher.Abstraction` in der Datei `DigitalData.UserManager.Application.csproj` von 2.0.0 auf 3.0.0 aktualisiert.
- XOR-Logik hinzugefügt, um zu prüfen, ob ValidFrom und ValidTo Null sind
- Logik hinzugefügt, um zu kontrollieren, dass ValidFrom kleiner als ValidTo ist
- Die Eigenschaften 'Username', 'Language', 'DateFormat', 'ChangedWho', 'ChangedWhen' und 'AddedWhen' wurden als erforderlich festgelegt, um sicherzustellen, dass notwendige Daten bereitgestellt werden.
- 'AddedWho' wurde zu einer nur-initialisierbaren Eigenschaft aktualisiert, um die Unveränderlichkeit nach der Objekterstellung zu fördern.
- Diese Änderung verbessert die Datenintegrität und Validierung innerhalb der UserReadDto-Klasse.
- `IUnique`-Schnittstelle in allen Entitäten implementiert.
- Interface für DbContext erstellt und DbSet-Eigenschaften in den Konstruktoren über Repositories injiziert.
- Die Spalte `right_group` aus der `Representation`-Entität entfernt, um die Zuordnung von Benutzern oder Gruppen zu spezifischen Gruppen zu entfernen.
- Stattdessen wurde die `group`-Eigenschaft hinzugefügt, um flexible Zuordnungen zu ermöglichen.
- Ermöglicht nun `user-user`, `user-group`, `group-user` und `group-group` Repräsentationen.
- `EcmFkId`-Eigenschaft aus dem `GroupCreateDto` im Backend entfernt.
- Anpassungen im Frontend vorgenommen, um das `EcmFkId`-Feld im Formular zur Gruppenerstellung zu entfernen.
- `EcmFkId` wird im Entity standardmäßig auf `-1` gesetzt.
- Hinzufügen der `Encryptor`-Klasse für AES-Verschlüsselung und -Entschlüsselung.
- Implementierung des `EncryptionController` zur Bereitstellung von Endpunkten für Verschlüsselung, Entschlüsselung und Generierung von Verschlüsselungsparametern.
- Erweiterung der DI-Konfiguration mit `AddEncryptor`-Erweiterungsmethode und Integration in `Program.cs`.
- Bedingte Registrierung des `EncryptionController` basierend auf der Konfiguration `UseEncryptor`, um sicherzustellen, dass der Controller nur bei Bedarf verfügbar ist.
- Implementierung von Lazy Loading für die Verbindungszeichenfolge in `UserManagerDbContext` zur sicheren Handhabung von verschlüsselten Verbindungszeichenfolgen.
- Basis-DTOs für Lese-, Erstellungs- und Aktualisierungsvorgänge erstellt, um die Felder "hinzugefügt von", "hinzugefügt am", "geändert von" und "geändert am" automatisch über Middleware zu ergänzen.
- Diese Basiskomponenten in die Gruppenstruktur integriert.