Some checks failed
CI/CD Pipeline / pipeline (push) Failing after 3m22s
Suite à la récupération précédente (044ca4b) qui n'avait restauré que les fichiers SUPPRIMÉS, ce commit restaure les MODIFICATIONS d'entités/services qui étaient nécessaires pour que les fichiers restaurés compilent. Restaurés depuis a72ab54^ (=31330d9+ corrections) : - Entities : Organisation, FormuleAbonnement, AuditService, MembreOrganisation, SouscriptionOrganisation, etc. - Services : MigrerOrganisationsVersKeycloakService, ComptabilitePdfService, KycAmlService, AuditService.logKycRisqueEleve, etc. - Resources : PaiementUnifieResource, etc. Backend compile désormais (BUILD SUCCESS).
57 lines
1.6 KiB
Java
57 lines
1.6 KiB
Java
package dev.lions.unionflow.server.entity;
|
|
|
|
import jakarta.persistence.*;
|
|
import jakarta.validation.constraints.*;
|
|
import lombok.*;
|
|
|
|
/**
|
|
* Catalogue des modules métier activables par type d'organisation.
|
|
*
|
|
* <p>Géré uniquement par le Super Admin UnionFlow.
|
|
* Les organisations ne peuvent pas créer de nouveaux modules.
|
|
*
|
|
* <p>Table : {@code modules_disponibles}
|
|
*/
|
|
@Entity
|
|
@Table(
|
|
name = "modules_disponibles",
|
|
indexes = {
|
|
@Index(name = "idx_module_code", columnList = "code", unique = true),
|
|
@Index(name = "idx_module_actif", columnList = "actif")
|
|
})
|
|
@Data
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Builder
|
|
@EqualsAndHashCode(callSuper = true)
|
|
public class ModuleDisponible extends BaseEntity {
|
|
|
|
@NotBlank
|
|
@Column(name = "code", unique = true, nullable = false, length = 50)
|
|
private String code;
|
|
|
|
@NotBlank
|
|
@Column(name = "libelle", nullable = false, length = 150)
|
|
private String libelle;
|
|
|
|
@Column(name = "description", columnDefinition = "TEXT")
|
|
private String description;
|
|
|
|
/**
|
|
* JSON array des types d'organisations compatibles.
|
|
* Exemple : ["MUTUELLE_SANTE","ONG"] ou ["ALL"] pour tous.
|
|
*/
|
|
@Column(name = "types_org_compatibles", columnDefinition = "TEXT")
|
|
private String typesOrgCompatibles;
|
|
|
|
@Builder.Default
|
|
@Column(name = "ordre_affichage", nullable = false)
|
|
private Integer ordreAffichage = 0;
|
|
|
|
public boolean estCompatibleAvec(String typeOrganisation) {
|
|
if (typesOrgCompatibles == null) return false;
|
|
return typesOrgCompatibles.contains("ALL")
|
|
|| typesOrgCompatibles.contains(typeOrganisation);
|
|
}
|
|
}
|