Files

1.8 KiB

Business Rules — Unit 04: API Shell & Integration

Dit document beschrijft de integratie-regels en de orkestratie van de modules.

1. Module Discovery (BR-SHELL-01)

  • Scanning: De API Shell scant bij het opstarten naar alle geladen assemblies die voldoen aan het patroon SlpModularCms.Modules.*.
  • Interface: Alleen klassen die IModule implementeren worden geregistreerd.
  • Validatie: Indien een module niet voldoet aan de eisen (bijv. ontbrekende naam of versie), wordt dit gelogd als een fout en wordt de module niet geladen.

2. Dependency Injection & Pipeline (BR-SHELL-02)

  • Gecentraliseerde Registratie: De ModuleOrchestrator roept RegisterServices aan op alle gevonden modules voordat de applicatie start.
  • Middleware Pipeline: De ModuleOrchestrator roept UseModule aan om modules de kans te geven hun middleware te registreren in de HTTP pipeline.
  • Core First: Core services (Identity, Logging) worden altijd geregistreerd vóórdat de modules aan de beurt zijn.

3. API Versioning & Routing (BR-SHELL-03)

  • Gecentraliseerde Prefix: Alle API endpoints krijgen de prefix /api/v1/.
  • Afdwingen: Dit wordt globaal geconfigureerd in de Shell zodat individuele modules hier geen rekening mee hoeven te houden in hun route attributen.

4. Swagger Documentatie (BR-SHELL-04)

  • Tagging: De Shell groepeert endpoints automatisch per module op basis van de module naam die in de IModule interface is opgegeven.
  • Security: Swagger wordt geconfigureerd om JWT Bearer tokens te ondersteunen voor het testen van beveiligde endpoints.

5. Cross-Module Communicatie (BR-SHELL-05)

  • Ontkoppeling: Modules communiceren niet direct met elkaar via projectreferenties.
  • Interfaces: Communicatie verloopt uitsluitend via interfaces die gedefinieerd zijn in SlpModularCms.Core.