98215b83956df2ad3b03d1bb41a251283a450865
lions-user-manager-server-api
Contrats partagés entre le serveur et le client — DTOs, interfaces de services, enums, validations
Rôle
Ce module constitue la couche de contrats (API layer) du projet Lions User Manager. Il est compilé en JAR et publié sur le Gitea Package Registry pour être consommé par server-impl et client comme dépendance Maven.
Contenu
DTOs
| DTO | Description |
|---|---|
UserDTO |
Représentation complète d'un utilisateur Keycloak |
UserCreationDTO |
Données de création d'un utilisateur |
UserUpdateDTO |
Données de mise à jour |
RoleDTO |
Rôle Keycloak |
RealmDTO |
Realm Keycloak |
RealmAssignmentDTO |
Assignation d'un utilisateur à un realm |
AuditLogDTO |
Entrée de journal d'audit |
SyncHistoryDTO |
Historique de synchronisation |
SyncConsistencyDTO |
Rapport de cohérence sync |
ImportResultDTO |
Résultat d'import CSV |
Interfaces de services
| Interface | Responsabilité |
|---|---|
UserService |
CRUD utilisateurs, export/import CSV |
RoleService |
Gestion des rôles par realm |
AuditService |
Consultation et export des logs d'audit |
SyncService |
Synchronisation Keycloak ↔ base de données |
RealmAuthorizationService |
Gestion des realms autorisés |
Interfaces de ressources (JAX-RS)
| Interface | Path |
|---|---|
UserResourceApi |
/api/users |
RoleResourceApi |
/api/roles |
AuditResourceApi |
/api/audit |
SyncResourceApi |
/api/sync |
RealmResourceApi |
/api/realms |
RealmAssignmentResourceApi |
/api/realm-assignments |
Enums
StatutUser— ACTIF, INACTIF, SUSPENDUTypeRole— ADMIN, USER, VIEWERTypeActionAudit— CREATE, UPDATE, DELETE, LOGIN, LOGOUT, SYNC
Validations
ValidationConstants— Constantes partagées (longueurs, patterns regex)
Dépôt Git
https://git.lions.dev/lionsdev/lions-user-manager-server-api
Maven Registry
Le jar est disponible sur le Gitea Package Registry :
groupId : dev.lions.user.manager
artifactId : lions-user-manager-server-api
version : 1.0.0
registry : https://git.lions.dev/api/packages/lionsdev/maven
Consommer ce module (server-impl / client)
<dependency>
<groupId>dev.lions.user.manager</groupId>
<artifactId>lions-user-manager-server-api</artifactId>
<version>1.0.0</version>
</dependency>
<repositories>
<repository>
<id>gitea-lionsdev</id>
<url>https://git.lions.dev/api/packages/lionsdev/maven</url>
</repository>
</repositories>
Publier une nouvelle version
- Incrémenter la version dans
../pom.xml(parent) - Exécuter depuis la racine du monorepo :
# Windows
script\publish-api.bat
# Linux / macOS
./script/publish-api.sh
Build local
mvn clean install -DskipTests
Licence
Propriétaire — Lions Dev © 2025
Description
Languages
Java
99%
Batchfile
0.5%
Shell
0.5%