Files

41 lines
1.7 KiB
Markdown

# Components — SlpModularCms.Api
Dit document beschrijft de belangrijkste functionele componenten van de CMS API en hun verantwoordelijkheden.
## 1. Core Framework (SlpModularCms.Core)
Het fundament van de applicatie. Bevat de gedeelde logica, interfaces en infrastructuur-configuratie.
- **Verantwoordelijkheden**:
- Definiëren van basis-interfaces (`IModule`, `IAvailabilityService`).
- Cross-cutting concerns (logging, exception handling, validatie).
- Infrastructuur abstracties (Unit of Work, Repository interfaces).
- Bevat de **Identity** kernfunctionaliteit (Gebruikers, Rollen, JWT).
## 2. Availability Module (SlpModularCms.Modules.Availability)
Een specifieke module voor de beschikbaarheidscontrole.
- **Verantwoordelijkheden**:
- Implementatie van `IAvailabilityService`.
- Stub-functionaliteit voor de MVP (retourneert altijd "beschikbaar").
- Toekomstige integratie met de Master-API.
## 3. Web API Shell (SlpModularCms.Api)
De host-applicatie (ASP.NET Core Web API).
- **Verantwoordelijkheden**:
- Dependency Injection registratie van de Core en statisch gekoppelde modules.
- Dynamisch laden van optionele modules via Assembly loading (Hybride strategie).
- Hosting van Swagger/OpenAPI documentatie.
- Middleware configuratie (Auth, HTTPS, CORS).
- Routeerlaag naar module-controllers.
## 4. Identity Component (Binnen Core)
Hoewel onderdeel van de Core, fungeert dit als een onderscheidbaar subsysteem.
- **Verantwoordelijkheden**:
- Inloggen en JWT generatie.
- Refresh token beheer.
- CRUD operaties op Gebruikers.
- Beheer van module-specifieke permissies voor Gebruikers.
- Hiërarchische RBAC handhaving via Authorization Policies.