refactoring
This commit is contained in:
124
README.md
Normal file
124
README.md
Normal file
@@ -0,0 +1,124 @@
|
||||
# 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)
|
||||
|
||||
```xml
|
||||
<dependency>
|
||||
<groupId>dev.lions.user.manager</groupId>
|
||||
<artifactId>lions-user-manager-server-api</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
```xml
|
||||
<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 :
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
script\publish-api.bat
|
||||
|
||||
# Linux / macOS
|
||||
./script/publish-api.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Build local
|
||||
|
||||
```bash
|
||||
mvn clean install -DskipTests
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Licence
|
||||
|
||||
Propriétaire — Lions Dev © 2025
|
||||
Reference in New Issue
Block a user