41 lines
1.7 KiB
Markdown
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.
|