Update - Lions User Manager - Server API (DTOs, Interfaces)

This commit is contained in:
dahoud
2025-12-06 22:03:36 +00:00
parent 04b4aa47f8
commit b7494148c4
41 changed files with 112 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
package dev.lions.user.manager.dto.sync;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.eclipse.microprofile.openapi.annotations.media.Schema;
import java.io.Serializable;
/**
* DTO représentant le statut de santé de Keycloak
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "Statut de santé de Keycloak")
public class HealthStatusDTO implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "Timestamp du check de santé (millisecondes)", example = "1699545600000")
private long timestamp;
@Schema(description = "Indique si Keycloak est accessible", example = "true")
private boolean keycloakAccessible;
@Schema(description = "Version de Keycloak", example = "23.0.3")
private String keycloakVersion;
@Schema(description = "Indique si les realms sont accessibles", example = "true")
private boolean realmsAccessible;
@Schema(description = "Nombre de realms disponibles", example = "5")
private int realmsCount;
@Schema(description = "Indique si Keycloak est globalement en bonne santé", example = "true")
private boolean overallHealthy;
@Schema(description = "Message d'erreur si le check a échoué")
private String errorMessage;
}

View File

@@ -0,0 +1,57 @@
package dev.lions.user.manager.dto.sync;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.eclipse.microprofile.openapi.annotations.media.Schema;
import java.io.Serializable;
/**
* DTO représentant le résultat d'une synchronisation
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "Résultat d'une synchronisation avec Keycloak")
public class SyncResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "Nom du realm synchronisé", example = "lions")
private String realmName;
@Schema(description = "Nombre d'utilisateurs synchronisés", example = "150")
private int usersCount;
@Schema(description = "Nombre de rôles realm synchronisés", example = "25")
private int realmRolesCount;
@Schema(description = "Nombre de rôles client synchronisés", example = "50")
private int clientRolesCount;
@Schema(description = "Indique si la synchronisation a réussi", example = "true")
private boolean success;
@Schema(description = "Message d'erreur si la synchronisation a échoué")
private String errorMessage;
@Schema(description = "Timestamp de début de la synchronisation (millisecondes)", example = "1699545600000")
private long startTime;
@Schema(description = "Timestamp de fin de la synchronisation (millisecondes)", example = "1699545615000")
private long endTime;
/**
* Retourne la durée de la synchronisation en millisecondes
* @return durée en ms
*/
public long getDurationMs() {
return endTime - startTime;
}
}

View File

@@ -42,6 +42,9 @@ public class UserSearchCriteriaDTO implements Serializable {
@Schema(description = "Nom de famille", example = "Dupont")
private String nom;
@Schema(description = "Numéro de téléphone", example = "+225 01 02 03 04 05")
private String telephone;
// Filtres de statut
@Schema(description = "Statut de l'utilisateur", example = "ACTIF")
private StatutUser statut;

View File

@@ -1,6 +1,8 @@
dev\lions\user\manager\dto\role\RoleDTO$RoleDTOBuilder.class
dev\lions\user\manager\dto\audit\AuditLogDTO.class
dev\lions\user\manager\dto\user\UserSearchCriteriaDTO$UserSearchCriteriaDTOBuilder.class
dev\lions\user\manager\dto\sync\SyncResultDTO.class
dev\lions\user\manager\dto\sync\HealthStatusDTO.class
dev\lions\user\manager\dto\audit\AuditLogDTO$AuditLogDTOBuilder.class
dev\lions\user\manager\dto\role\RoleAssignmentDTO.class
dev\lions\user\manager\dto\base\BaseDTO$BaseDTOBuilder.class
@@ -8,6 +10,7 @@ dev\lions\user\manager\enums\role\TypeRole.class
dev\lions\user\manager\dto\base\BaseDTO.class
dev\lions\user\manager\dto\user\UserSearchResultDTO.class
dev\lions\user\manager\enums\user\StatutUser.class
dev\lions\user\manager\dto\sync\SyncResultDTO$SyncResultDTOBuilder.class
dev\lions\user\manager\dto\role\RoleAssignmentDTO$RoleAssignmentDTOBuilder.class
dev\lions\user\manager\dto\role\RoleDTO$RoleDTOBuilderImpl.class
dev\lions\user\manager\service\SyncService.class
@@ -18,6 +21,7 @@ dev\lions\user\manager\dto\user\UserDTO$FederatedIdentityDTO.class
dev\lions\user\manager\dto\user\UserDTO$FederatedIdentityDTO$FederatedIdentityDTOBuilderImpl.class
dev\lions\user\manager\dto\user\UserSearchResultDTO$UserSearchResultDTOBuilder.class
dev\lions\user\manager\dto\role\RoleDTO.class
dev\lions\user\manager\dto\sync\HealthStatusDTO$HealthStatusDTOBuilder.class
dev\lions\user\manager\dto\user\UserDTO$FederatedIdentityDTO$FederatedIdentityDTOBuilder.class
dev\lions\user\manager\dto\role\RoleDTO$RoleCompositeDTO$RoleCompositeDTOBuilder.class
dev\lions\user\manager\dto\user\UserDTO$UserDTOBuilder.class

View File

@@ -10,6 +10,8 @@ C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-ma
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\dto\role\RoleAssignmentDTO.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\dto\user\UserSearchResultDTO.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\enums\audit\TypeActionAudit.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\dto\sync\SyncResultDTO.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\dto\user\UserDTO.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\dto\role\RoleDTO.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\dto\sync\HealthStatusDTO.java
C:\Users\dadyo\PersonalProjects\lions-workspace\lions-user-manager\lions-user-manager-server-api\src\main\java\dev\lions\user\manager\service\UserService.java