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.