Diagrammes de Séquence
Création d'une Organisation
sequenceDiagram
Client->>PartnerController: POST /organizations
PartnerController->>OrganizationService: addOrganization(organization)
OrganizationService->>Database: save()
Database-->>OrganizationService: organization
OrganizationService-->>PartnerController: OrganizationRepresentation
PartnerController-->>Client: 201 Created
Modification d'une Organisation
sequenceDiagram
Client->>PartnerController: PUT /organizations/{id}
PartnerController->>OrganizationService: updateOrganization(id, organization)
OrganizationService->>Database: findById()
Database-->>OrganizationService: organization
OrganizationService->>Database: save()
Database-->>OrganizationService: updated
OrganizationService-->>PartnerController: OrganizationRepresentation
PartnerController-->>Client: 200 OK
Suppression d'une Organisation
sequenceDiagram
Client->>PartnerController: DELETE /organizations/{id}
PartnerController->>OrganizationService: deleteOrganization(id)
OrganizationService->>Database: findById()
Database-->>OrganizationService: organization
OrganizationService->>Database: delete()
OrganizationService-->>PartnerController: void
PartnerController-->>Client: 204 No Content
Récupération d'une Organisation
sequenceDiagram
Client->>PartnerController: GET /organizations/{id}
PartnerController->>OrganizationService: getOrganization(id)
OrganizationService->>Database: findById()
Database-->>OrganizationService: organization
OrganizationService-->>PartnerController: OrganizationRepresentation
PartnerController-->>Client: 200 OK
Liste des Organisations
sequenceDiagram
Client->>PartnerController: GET /organizations
PartnerController->>OrganizationService: getOrganizations(filters)
OrganizationService->>Database: findAll(criteria)
Database-->>OrganizationService: organizations[]
OrganizationService-->>PartnerController: OrganizationRepresentation[]
PartnerController-->>Client: 200 OK
Ajout d'un Utilisateur à une Organisation
sequenceDiagram
Client->>PartnerController: POST /organizations/{id}/users
PartnerController->>OrganizationService: addUser(orgId, user)
OrganizationService->>Database: findById()
Database-->>OrganizationService: organization
OrganizationService->>Database: saveUser()
Database-->>OrganizationService: updatedOrg
OrganizationService-->>PartnerController: UserRepresentation
PartnerController-->>Client: 201 Created
Suppression d'un Utilisateur d'une Organisation
sequenceDiagram
Client->>PartnerController: DELETE /organizations/{orgId}/users/{userId}
PartnerController->>OrganizationService: removeUser(orgId, userId)
OrganizationService->>Database: findById()
Database-->>OrganizationService: organization
OrganizationService->>Database: removeUser()
Database-->>OrganizationService: updated
OrganizationService-->>PartnerController: void
PartnerController-->>Client: 204 No Content
Création d'un Établissement
sequenceDiagram
Client->>PartnerController: POST /establishments
PartnerController->>EstablishmentService: addEstablishment(establishment)
EstablishmentService->>Database: save()
Database-->>EstablishmentService: establishment
EstablishmentService-->>PartnerController: EstablishmentRepresentation
PartnerController-->>Client: 201 Created
Modification d'un Établissement
sequenceDiagram
Client->>PartnerController: PUT /establishments/{id}
PartnerController->>EstablishmentService: updateEstablishment(id, establishment)
EstablishmentService->>Database: findById()
Database-->>EstablishmentService: establishment
EstablishmentService->>Database: save()
Database-->>EstablishmentService: updated
EstablishmentService-->>PartnerController: EstablishmentRepresentation
PartnerController-->>Client: 200 OK
Suppression d'un Établissement
sequenceDiagram
Client->>PartnerController: DELETE /establishments/{id}
PartnerController->>EstablishmentService: deleteEstablishment(id)
EstablishmentService->>Database: findById()
Database-->>EstablishmentService: establishment
EstablishmentService->>Database: delete()
EstablishmentService-->>PartnerController: void
PartnerController-->>Client: 204 No Content
Récupération d'un Établissement
sequenceDiagram
Client->>PartnerController: GET /establishments/{id}
PartnerController->>EstablishmentService: getEstablishment(id)
EstablishmentService->>Database: findById()
Database-->>EstablishmentService: establishment
EstablishmentService-->>PartnerController: EstablishmentRepresentation
PartnerController-->>Client: 200 OK
Liste des Établissements
sequenceDiagram
Client->>PartnerController: GET /establishments
PartnerController->>EstablishmentService: getEstablishments(filters)
EstablishmentService->>Database: findAll(criteria)
Database-->>EstablishmentService: establishments[]
EstablishmentService-->>PartnerController: EstablishmentRepresentation[]
PartnerController-->>Client: 200 OK
Ajout d'un Service à un Établissement
sequenceDiagram
Client->>PartnerController: POST /establishments/{id}/services
PartnerController->>EstablishmentService: addService(estId, service)
EstablishmentService->>Database: findById()
Database-->>EstablishmentService: establishment
EstablishmentService->>Database: saveService()
Database-->>EstablishmentService: updatedEst
EstablishmentService-->>PartnerController: ServiceRepresentation
PartnerController-->>Client: 201 Created
Suppression d'un Service d'un Établissement
sequenceDiagram
Client->>PartnerController: DELETE /establishments/{estId}/services/{serviceId}
PartnerController->>EstablishmentService: removeService(estId, serviceId)
EstablishmentService->>Database: findById()
Database-->>EstablishmentService: establishment
EstablishmentService->>Database: removeService()
Database-->>EstablishmentService: updated
EstablishmentService-->>PartnerController: void
PartnerController-->>Client: 204 No Content