Appearance
Organisations And Services Domain
Definition
Le domaine couvre:
- les etablissements dans
public.organisations - les services dans
public.services - leur relation N-N dans
public.organisations_services
Le backend centralise:
- les permissions par role
- l'acces API key par scopes
- la pagination
- le nettoyage metier des rattachements profil
References:
back/src/organisations/organisations.controller.tsback/src/organisations/organisations.service.ts
Regles d'acces
| Endpoint | super-admin | administrateur | API key |
|---|---|---|---|
GET /enterprises/:enterpriseId/organisations | Oui | Oui, sur son entreprise | organisations:read |
POST /enterprises/:enterpriseId/organisations | Oui | Oui, sur son entreprise | organisations:write |
GET /enterprises/:enterpriseId/services | Oui | Oui, sur son entreprise | services:read |
GET /organisations/:id | Oui | Oui, sur son entreprise | organisations:read |
PATCH /organisations/:id | Oui | Oui, sur son entreprise | organisations:write |
DELETE /organisations/:id | Oui | Oui, sur son entreprise | organisations:write |
GET /organisations/:organisationId/services | Oui | Oui, sur son entreprise | services:read |
POST /organisations/:organisationId/services | Oui | Oui, sur son entreprise | services:write |
GET /organisations/:organisationId/services/:serviceId | Oui | Oui, sur son entreprise | services:read |
PATCH /organisations/:organisationId/services/:serviceId | Oui | Oui, sur son entreprise | services:write |
DELETE /organisations/:organisationId/services/:serviceId | Oui | Oui, sur son entreprise | services:write |
Regles metier
- un service peut appartenir a un ou plusieurs etablissements
- un service reste dans la base tant qu'il est rattache a au moins un etablissement
- supprimer un etablissement:
- supprime ses references
profiles_organisations - supprime ses liaisons
organisations_services - supprime uniquement les services devenus orphelins
- nettoie les
profiles_servicesinvalides sans supprimer les utilisateurs
- supprime ses references
- supprimer un service depuis un etablissement:
- retire d'abord le lien
organisations_services - supprime ensuite le service seulement s'il n'est rattache a aucun autre etablissement
- nettoie les
profiles_servicesinvalides sans supprimer les utilisateurs
- retire d'abord le lien
Pagination
Les endpoints listes acceptent:
page, defaut1pageSize, defaut20, max100
Endpoints concernes:
GET /enterprises/:enterpriseId/organisationsGET /enterprises/:enterpriseId/servicesGET /organisations/:organisationId/services
Exemples
Creation d'un etablissement:
json
{
"name": "Site A",
"slug": "site-a",
"address": "1 rue de Paris",
"zip_code": "75001",
"town": "Paris"
}Creation d'un service dans le contexte d'un etablissement:
json
{
"name": "Bloc",
"slug": "bloc",
"organisationIds": [11, 12]
}