Ajout des Dockerfiles et configuration de production pour déploiement unionflow

This commit is contained in:
dahoud
2025-12-09 19:37:23 +00:00
parent 1e835ba2c3
commit bba28595f6
40 changed files with 1762 additions and 1652 deletions

View File

@@ -1,5 +1,6 @@
package dev.lions.unionflow.server.api.dto.membre;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
@@ -56,10 +57,12 @@ public class MembreSearchResultDTO {
/** Indique si c'est la première page */
@Schema(description = "Indique si c'est la première page")
@JsonProperty("isFirst")
private boolean isFirst;
/** Indique si c'est la dernière page */
@Schema(description = "Indique si c'est la dernière page")
@JsonProperty("isLast")
private boolean isLast;
/** Critères de recherche utilisés */
@@ -181,19 +184,42 @@ public class MembreSearchResultDTO {
* @return Résultat vide
*/
public static MembreSearchResultDTO empty(MembreSearchCriteria criteria) {
return empty(criteria, 20, 0);
}
/**
* Factory method pour créer un résultat vide avec pageSize spécifique
*
* @param criteria Critères de recherche
* @param pageSize Taille de la page
* @param currentPage Page actuelle
* @return Résultat vide
*/
public static MembreSearchResultDTO empty(MembreSearchCriteria criteria, int pageSize, int currentPage) {
MembreSearchResultDTO result = new MembreSearchResultDTO();
result.setMembres(List.of());
result.setTotalElements(0L);
result.setTotalPages(0);
result.setCurrentPage(0);
result.setPageSize(20);
result.setCurrentPage(currentPage);
result.setPageSize(pageSize);
result.setNumberOfElements(0);
result.setHasNext(false);
result.setHasPrevious(false);
result.setFirst(true);
result.setLast(true);
result.isFirst = true; // Assignation directe pour éviter les problèmes avec les setters Lombok
result.isLast = true; // Assignation directe pour éviter les problèmes avec les setters Lombok
result.setCriteria(criteria);
result.setExecutionTimeMs(0L);
// Initialiser statistics avec des valeurs vides
result.setStatistics(SearchStatistics.builder()
.membresActifs(0)
.membresInactifs(0)
.ageMoyen(0.0)
.ageMin(0)
.ageMax(0)
.nombreOrganisations(0)
.nombreRegions(0)
.ancienneteMoyenne(0.0)
.build());
return result;
}
}