Diagrammes de Classes
Structure du Système
classDiagram
%% Controllers
class PartnerController {
-OrganizationService organizationService
-EstablishmentService establishmentService
+addOrganization(Organization)
+updateOrganization(String, Organization)
+deleteOrganization(String)
+getOrganization(String)
+listOrganizations(Integer, Integer)
+activateOrganization(String)
+deactivateOrganization(String)
+addEstablishment(Establishment)
+updateEstablishment(String, Establishment)
+deleteEstablishment(String)
+getEstablishment(String)
+listEstablishments(String, Integer, Integer)
}
%% Services
class OrganizationService {
-CommonService commonService
-OrganizationRepository organizationRepository
-EstablishmentRepository establishmentRepository
+addOrganization(Organization)
+updateOrganization(String, Organization)
+deleteOrganization(String)
+activateOrganization(String)
+deactivateOrganization(String)
+getOrganization(String)
+listOrganizations(Integer, Integer)
}
class EstablishmentService {
-CommonService commonService
-EstablishmentRepository establishmentRepository
+addEstablishment(Establishment)
+updateEstablishment(String, Establishment)
+deleteEstablishment(String)
+getEstablishment(String)
+listEstablishmentsByOrganization(String, Integer, Integer)
}
class CommonService {
-TripsApiWebClient tripsApiWebClient
-OrganizationRepository organizationRepository
+getOrganizationActiveById(String)
+getOrganizationDeactivatedById(String)
+getTripsIdsByEstablishmentId(String)
+deleteTripsByEstablishmentId(String, boolean)
+archivePublications(List~String~)
}
%% Entities
class OrganizationEntity {
-String id
-String name
-String picture
-AddressEntity address
-StatusEnum status
-boolean isDeleted
-boolean isActive
}
class EstablishmentEntity {
-String id
-String parentOrganism
-String name
-String picture
-String supportingDocumentsID
-LegalStatusEnum legalStatus
-AddressEntity address
-StatusEnum status
-List~ExtensionAttributEntity~ companyInformation
-List~ActivitiesEnum~ activities
-boolean isDeleted
-boolean isActive
}
class AddressEntity {
-String id
-String number
-String route
-String zipPostal
-String city
-String country
-String complement
-String stage
-boolean isDeleted
}
class ExtensionAttributEntity {
-String id
-String name
-String value
-boolean isDeleted
}
%% Repositories
class OrganizationRepository {
+findByIdAndIsDeletedFalseAndIsActiveTrue(String)
+findByIdAndIsDeletedFalseAndIsActiveFalse(String)
}
class EstablishmentRepository {
+findByParentOrganism(String, Pageable)
+findByParentOrganism(String)
}
class AddressRepository {
}
%% Mappers
class OrganizationMapper {
+dtoToEntity(OrganizationEntity, Organization)
+dtoToEntity(Organization)
+entityToRepresentation(OrganizationEntity)
+entityToDto(OrganizationEntity)
}
class EstablishmentMapper {
+dtoToEntity(EstablishmentEntity, Establishment)
+dtoToEntity(Establishment)
+entityToRepresentation(EstablishmentEntity)
+entityToDto(EstablishmentEntity)
}
class AddressMapper {
+mapAddressEntityToAddress(Address, AddressEntity)
+mapAddressDtoToAddressEntity(AddressEntity, Address)
}
%% Relationships
PartnerController --> OrganizationService
PartnerController --> EstablishmentService
OrganizationService --> CommonService
OrganizationService --> OrganizationRepository
EstablishmentService --> CommonService
EstablishmentService --> EstablishmentRepository
OrganizationEntity --> AddressEntity
EstablishmentEntity --> AddressEntity
EstablishmentEntity --> ExtensionAttributEntity
OrganizationRepository --|> JpaRepository
EstablishmentRepository --|> JpaRepository
AddressRepository --|> JpaRepository