Updated version, assembly version, and file version for:
- DigitalData.UserManager.API: 6.0.1 to 6.1.0
- DigitalData.UserManager.Application: 3.1.3 to 3.2.0
- DigitalData.UserManager.DependencyInjection: 1.0.0 to 1.1.0
- DigitalData.UserManager.Domain: 3.1.0 to 3.2.0
- DigitalData.UserManager.Infrastructure: 3.0.2 to 3.1.0
- Added obsolete attributes to `AuthController`, `ModuleController`, and various mapping profiles, recommending the use of MediatR and DigitalData.Core.Exceptions.
- Updated `User` class to use `required` keyword for `DateFormat` in .NET 7.0 or greater.
- Marked methods in `Extensions` and `AddUserManagerInfrastructure` as obsolete, suggesting the use of IRepository.
- Adjusted import statements in `DependencyInjection.cs` and marked `GroupOfUserRepository` and `ModuleRepository` as obsolete, recommending a Repository pattern.
Introduce `[Obsolete]` attributes to various methods and classes, suggesting alternatives such as MediatR and IRepository. Mark multiple DTOs and repository classes as obsolete, recommending the use of DigitalData.Core.Exceptions and .Middleware or Repository. This change aims to enhance maintainability and clarity in the codebase.
Refactor namespaces from `DigitalData.Core.DTO` to `DigitalData.Core.Abstraction.Application.DTO` in multiple controllers to adopt a new abstraction layer. Update `DigitalData.Core.API` package from version `2.2.0` to `2.2.1` and add `DigitalData.Core.Abstraction.Application` package with version `1.0.0`. Add `[Obsolete("Use MediatR")]` attribute to several controllers to encourage transitioning to MediatR for request handling.
Replaced the namespace import from `DigitalData.Core.DTO` to `DigitalData.Core.Abstraction.Application.DTO` in `BaseReadDto.cs`. Added an `Obsolete` attribute to indicate deprecation and recommend using `DigitalData.Core.Exceptions and .Middleware` instead. This change enhances code organization and clarity.
Updated namespaces for DTOs and services to improve project organization. Marked several interfaces as obsolete in favor of MediatR for better request handling. Simplified `BaseUpdateDto` and other DTOs by removing `IUnique<int>` implementation. Changed return types of `CreateAsync` methods to return corresponding read DTOs. Removed reference to `DigitalData.Core.DTO` in the project file, reflecting a shift in architecture for maintainability.
Added an `Obsolete` attribute to the `IBaseService` interface, recommending the use of MediatR instead. This change serves as a warning to developers about potential deprecation, encouraging a transition to the suggested alternative.
Updated the import statement for `DigitalData.Core.Abstractions.Application` to `DigitalData.Core.Abstraction.Application` in `IBaseService.cs`. Removed the `PackageReference` for `DigitalData.Core.Abstractions` version `4.0.0` from the project file, indicating a shift in library usage.
- Updated package references to newer versions for `DigitalData.Auth.Client`, `DigitalData.Core.API`, `DigitalData.Core.Abstractions`, `DigitalData.Core.Application`, and `DigitalData.EmailProfilerDispatcher.Abstraction`.
- Changed `UserManager.Domain` package version from `3.0.2` to `3.1.0` and updated assembly and file versions.
- Removed `IUnique<int>` interface implementation from `BaseEntity`, `ClientUser`, `Module`, and `ModuleOfUser`.
- Added data annotations to the `User` class for various properties that were previously commented out.
- Updated `Microsoft.EntityFrameworkCore` package references in the `Infrastructure` project for `net7.0` and `net9.0`.
- Modified solution configuration to change a project's build configuration from Debug to Release.
Die Projektdateien für `DigitalData.UserManager` wurden geändert, um auf ein neues Paketsymbol zu verweisen, das sich unter `..\Assets\icon.png` befindet. Dazu gehört das Hinzufügen des Elements „<PackageIcon>“ in „DigitalData.UserManager.API.csproj“ und die Aktualisierung der Elemente „<None>“ in mehreren Projektdateien. Die alte Icondatei wurde gelöscht, und die Abschnitte von `<ItemGroup>` wurden angepasst, um sicherzustellen, dass das neue Icon korrekt in das Projekt gepackt wird.
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.