API Utilisateurs
L'API Utilisateurs permet de gérer les comptes utilisateurs du système PCH-SIG.
Vue d'ensemble
| Endpoint | Méthode | Description |
|---|---|---|
/api/users | GET | Liste des utilisateurs |
/api/users | POST | Créer un utilisateur |
/api/users/{id} | GET | Détail d'un utilisateur |
/api/users/{id} | PUT/PATCH | Modifier un utilisateur |
/api/users/{id} | DELETE | Supprimer un utilisateur |
/api/users/{id}/toggle-status | POST | Activer/Désactiver |
/api/users/{id}/reset-password | POST | Réinitialiser mot de passe |
/api/users/{id}/permissions | GET | Permissions effectives |
Authentification
Tous les endpoints nécessitent une authentification JWT avec le rôle ROLE_ADMIN ou admin.users permission.
Structure d'un utilisateur
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "john.doe@example.com",
"nom": "Doe",
"prenom": "John",
"telephone": "+245955123456",
"roles": ["ROLE_USER", "ROLE_TM_SPECIALIST"],
"role": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"nom": "Spécialiste TM",
"code": "ROLE_TM_SPECIALIST"
},
"isActive": true,
"twoFactorEnabled": false,
"lastLoginAt": "2025-03-15T10:30:00+00:00",
"createdAt": "2025-01-01T00:00:00+00:00",
"regions": [
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"nom": "Oio"
}
]
}
Champs
| Champ | Type | Description |
|---|---|---|
id | UUID | Identifiant unique |
email | string | Adresse email (login) |
nom | string | Nom de famille |
prenom | string | Prénom |
telephone | string | Numéro de téléphone |
roles | array | Liste des rôles Symfony |
role | object | Rôle principal (entité Role) |
isActive | boolean | Compte actif ou désactivé |
twoFactorEnabled | boolean | 2FA activé |
lastLoginAt | datetime | Dernière connexion |
regions | array | Régions affectées (pour filtrage géographique) |