2.0 KiB
2.0 KiB
Component Methods — SlpModularCms.Api
Dit document specificeert de belangrijkste methoden en interfaces per component.
1. IModule Interface (Core)
Alle modules moeten deze interface implementeren om geregistreerd te kunnen worden.
void RegisterServices(IServiceCollection services)- Registreert module-specifieke services in de DI container.
void ConfigureMiddleware(IApplicationBuilder app)- Configureert module-specifieke middleware (optioneel).
2. IAvailabilityService (Core Interface, Availability Implementatie)
Interface voor de beschikbaarheidscontrole.
Task<bool> IsAvailableAsync()- Retourneert of het systeem/module beschikbaar is.
Task<AvailabilityDetails> GetDetailsAsync()- Geeft gedetailleerde statusinformatie terug (toekomstig).
3. IAuthService (Identity - Core)
Afhandeling van authenticatie.
Task<AuthResult> LoginAsync(LoginRequest request)- Valideert credentials en geeft tokens terug.
Task<AuthResult> RefreshTokenAsync(RefreshRequest request)- Vernieuwt een sessie met een refresh token.
4. IUserService (Identity - Core)
Beheer van gebruikers accounts.
Task<UserDto> CreateUserAsync(CreateUserRequest request)- Maakt een nieuwe gebruiker aan (alleen voor Admin/Owner).
Task<IEnumerable<UserDto>> GetAllUsersAsync()- Lijst met alle gebruikers (alleen voor Admin/Owner).
Task UpdateUserRoleAsync(Guid userId, string newRole)- Wijzigt een rol (met hiërarchische validatie).
Task DeleteUserAsync(Guid userId)- Verwijdert een gebruiker (voorkomt verwijdering Owner).
Task SetModulePermissionAsync(Guid userId, string moduleName, bool hasAccess)- Kent module-specifieke rechten toe aan een gebruiker.
5. Authorization Handlers (Identity - Core)
Technisch mechanisme voor RBAC.
HandleRequirementAsync(AuthorizationHandlerContext context, HierarchyRequirement requirement)- Valideert of de gebruiker de vereiste rol heeft op basis van de hiërarchie (Owner > Admin > User).