Skip to content

Documentation UML du projet TravelsAPI

Diagramme des Services

classDiagram
    class TripsService {
        -TripsRepository tripsRepository
        -CommonServices commonServices
        -PartnersApiWebClient partnersApiWebClient
        -TripPublicationsService tripPublicationsService
        +addTrip(Trip) TripRepresentation
        +updateTrip(String, Trip) TripRepresentation
        +deleteTrip(String) void
        +getTrip(String) TripRepresentation
        +listTrip(String, Integer, Integer) ListTripResume
    }

    class TripPublicationsService {
        -TripPublicationsRepository tripPublicationsRepository
        -CommonServices commonServices
        +addTripPublication(TripPublication) TripPublicationRepresentation
        +updateTripPublication(String, TripPublication) TripPublicationRepresentation
        +deletePublication(String) void
        +getTripPublication(String) TripPublicationRepresentation
        +listTripPublication(...) ListTripPublicationResume
    }

    class TripReservationsService {
        -TripReservationsRepository tripReservationsRepository
        -CommonServices commonServices
        -PricingTools pricingTools
        +addTripReservation(TripReservationLead) TripReservationRepresentation
        +updateTripReservation(String, TripReservationLead) TripReservationRepresentation
        +deleteTripReservation(String) void
        +getTripReservation(String) TripReservationRepresentation
        +listTripReservation(...) ListTripReservationResume
    }

    class CommonServices {
        -TripsRepository tripsRepository
        -TripPublicationsRepository tripPublicationsRepository
        -TripReservationsRepository tripReservationsRepository
        -TripOpinionsRepository tripOpinionsRepository
        +getTripById(String) TripEntity
        +checkPublishedTripPublication(String) TripPublicationEntity
        +checkTripReservation(String) TripReservationEntity
        +checkClient(List~Client~, boolean) void
    }

    TripsService --> CommonServices
    TripPublicationsService --> CommonServices
    TripReservationsService --> CommonServices

Diagramme des Entités

classDiagram
    class TripEntity {
        -String id
        -String reference
        -String establishmentId
        -String title
        -String smallDescription
        -String detailedDescription
        -List~TripProgramDetailsEntity~ tripProgramDetails
        -Boolean isDeleted
    }

    class TripPublicationEntity {
        -String id
        -TripEntity trip
        -Boolean isAutomaticReservation
        -TripPublication.StatusEnum status
        -Integer childsMaxAge
        -Integer babiesMaxAge
        -List~TripDateEntity~ tripDates
        -Boolean isDeleted
    }

    class TripReservationEntity {
        -String id
        -String tripId
        -String publicationId
        -List~ClientEntity~ clients
        -String transactionId
        -String tripDateId
        -TripReservation.StatusEnum status
        -PricingDetailsEntity pricingDetails
        -ReservedPlacesEntity reservedPlaces
    }

    TripPublicationEntity --> TripEntity
    TripReservationEntity --> TripPublicationEntity

Diagramme des Controllers

classDiagram
    class TripsApiController {
        -TripsService tripsService
        +addTrip(Trip) ResponseEntity
        +putTrip(String, Trip) ResponseEntity
        +deleteTrip(String) ResponseEntity
        +getTrip(String) ResponseEntity
        +listTrip(String, Integer, Integer) ResponseEntity
    }

    class TripPublicationsApiController {
        -TripPublicationsService tripPublicationsService
        +putPublication(String, TripPublication) ResponseEntity
        +deletePublication(String) ResponseEntity
        +getPublication(String) ResponseEntity
        +listPublications(...) ResponseEntity
    }

    class TripReservationsApiController {
        -TripReservationsService tripReservationsService
        -CommonServices commonServices
        +addReservation(TripReservationLead) ResponseEntity
        +putReservation(String, TripReservationLead) ResponseEntity
        +deleteReservation(String) ResponseEntity
        +getReservation(String) ResponseEntity
        +listReservations(...) ResponseEntity
    }

    TripsApiController --> TripsService
    TripPublicationsApiController --> TripPublicationsService
    TripReservationsApiController --> TripReservationsService

Description des Composants Principaux

Services

  • TripsService: Gestion des voyages (CRUD)
  • TripPublicationsService: Gestion des publications de voyages
  • TripReservationsService: Gestion des réservations
  • CommonServices: Services partagés et validations communes

Entités

  • TripEntity: Voyage
  • TripPublicationEntity: Publication d'un voyage
  • TripReservationEntity: Réservation d'un voyage
  • TripProgramDetailsEntity: Détails du programme du voyage

Controllers

  • TripsApiController: Points d'entrée API pour les voyages
  • TripPublicationsApiController: Points d'entrée API pour les publications
  • TripReservationsApiController: Points d'entrée API pour les réservations