48 lines
2.0 KiB
Markdown
48 lines
2.0 KiB
Markdown
# 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).
|