# Unit of Work — SlpModularCms.Api Dit document beschrijft de decompositie van de API in ontwikkel-eenheden (Units of Work). ## Overzicht van Units | Unit ID | Naam | Beschrijving | Belangrijkste Componenten | |---|---|---|---| | **U01** | **Core Base** | Het fundament: interfaces, cross-cutting concerns en basis framework logica. | `IModule`, `IAvailabilityService`, Exceptions, Logging setup. | | **U02** | **Identity & RBAC** | Het identiteitssysteem: Gebruikers, Rollen, JWT en de hiërarchische autorisatie logica. | `UserManager`, `RoleManager`, `IAuthService`, `IUserService`, Authorization Handlers. | | **U03** | **Availability Module** | De implementatie van de beschikbaarheidscontrole (stub). | `StubAvailabilityService`, `AvailabilityController`. | | **U04** | **API Shell & Integration** | De host applicatie die alles samenbrengt en modules laadt. | `Program.cs`, `ModuleOrchestrator`, Middleware, Swagger. | ## Greenfield Code Organisatie Strategie We gebruiken een **Just-in-Time** project creatie strategie. De projecten worden aangemaakt wanneer de betreffende Unit aan de beurt is. ### Mappenstructuur (Verwacht) - `src/SlpModularCms.Core/` (U01 & U02) - `src/SlpModularCms.Modules.Availability/` (U03) - `src/SlpModularCms.Api/` (U04 - Reeds aanwezig als scaffolding) ### Project Type - Class Libraries voor Core en Modules. - ASP.NET Core Web API voor de Shell.