Files
slp-modular-cms/aidlc-docs/features/slp-modular-cms-api/construction/availability-module/functional-design/business-rules.md
T

1.7 KiB

Business Rules — Unit 03: Availability Module

Dit document beschrijft de functionele logica voor de beschikbaarheidscontrole en de remote shutdown functionaliteit.

1. Beschikbaarheidsstatus (BR-AVAIL-01)

  • Status Typen:
    • Available: Het systeem is volledig operationeel.
    • Maintenance: Het systeem is in onderhoud; alleen beheerders hebben toegang.
    • Degraded: Sommige functies zijn beperkt, maar het systeem is in principe bereikbaar.
    • NotAvailable: Het systeem is volledig afgesloten (Remote Shutdown).
  • Default (MVP): In de MVP versie retourneert de StubAvailabilityService altijd Available, tenzij handmatig anders geconfigureerd in appsettings.json.

2. Remote Shutdown Handhaving (BR-AVAIL-02)

  • Mechanisme: Een globale middleware controleert bij elk inkomend request de status via de IAvailabilityService.
  • Gedrag:
    • Als status == NotAvailable -> Retourneer 503 Service Unavailable.
    • Als status == Maintenance -> Blokkeer requests voor reguliere gebruikers; sta alleen toe voor gebruikers met de rol Owner of Administrator.
  • Response: De response moet het gestandaardiseerde ApiErrorResponse formaat gebruiken (U01).

3. Publieke Status (BR-AVAIL-03)

  • Endpoint: GET /api/availability/status moet voor iedereen bereikbaar zijn (geen authenticatie vereist).
  • Informatie: Het endpoint retourneert de huidige status en een timestamp van de laatste controle.

4. Beheerder Bypass (BR-AVAIL-04)

  • Rechten: Gebruikers met de rol Owner of Administrator kunnen de blokkades van de Availability Middleware omzeilen om onderhoudstaken uit te voeren.
  • Identificatie: De bypass is gebaseerd op de JWT claims (role).