Skip to content

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