1.7 KiB
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
StubAvailabilityServicealtijdAvailable, tenzij handmatig anders geconfigureerd inappsettings.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-> Retourneer503 Service Unavailable. - Als status ==
Maintenance-> Blokkeer requests voor reguliere gebruikers; sta alleen toe voor gebruikers met de rolOwnerofAdministrator.
- Als status ==
- Response: De response moet het gestandaardiseerde
ApiErrorResponseformaat gebruiken (U01).
3. Publieke Status (BR-AVAIL-03)
- Endpoint:
GET /api/availability/statusmoet 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
OwnerofAdministratorkunnen de blokkades van de Availability Middleware omzeilen om onderhoudstaken uit te voeren. - Identificatie: De bypass is gebaseerd op de JWT claims (
role).