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, SUSPENDU
  • TypeRole — ADMIN, USER, VIEWER
  • TypeActionAudit — 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

  1. Incrémenter la version dans ../pom.xml (parent)
  2. 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
No description provided
Readme 3.1 MiB
Languages
Java 99%
Batchfile 0.5%
Shell 0.5%