Files

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).