feat: Basis-DTOs, Service und Controller für automatische Metadatenverwaltung hinzugefügt

- 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.
This commit is contained in:
Developer 02
2024-08-14 18:49:59 +02:00
parent 4746d63aea
commit 36d763d5e5
16 changed files with 240 additions and 50 deletions

View File

@@ -0,0 +1,19 @@
using DigitalData.UserManager.Domain.Entities;
using DigitalData.Core.Abstractions.Application;
using DigitalData.UserManager.Application.DTOs.User;
using DigitalData.UserManager.Application.DTOs.Base;
namespace DigitalData.UserManager.Application.Contracts
{
public interface IBaseService<TCreateDto, TReadDto, TUpdateDto, TBaseEntity> : ICRUDService<TCreateDto, TReadDto, TUpdateDto, TBaseEntity, int>
where TCreateDto : BaseCreateDto
where TReadDto : class
where TUpdateDto : BaseUpdateDto
where TBaseEntity : BaseEntity
{
public Func<Task<UserReadDto?>> UserFactoryAsync { set; }
public Task<UserReadDto?> GetUserAsync();
}
}

View File

@@ -1,11 +1,10 @@
using DigitalData.Core.Abstractions.Application;
using DigitalData.UserManager.Application.DTOs.Group;
using DigitalData.UserManager.Application.DTOs.Group;
using DigitalData.UserManager.Domain.Entities;
using DigitalData.Core.DTO;
namespace DigitalData.UserManager.Application.Contracts
{
public interface IGroupService : ICRUDService<GroupCreateDto, GroupReadDto, GroupUpdateDto, Group, int>
public interface IGroupService : IBaseService<GroupCreateDto, GroupReadDto, GroupUpdateDto, Group>
{
Task<DataResult<int>> CreateAsync(DirectoryGroupDto dirGroup);
}