Aller au contenu principal

Détail et modification d'un utilisateur

Récupérer un utilisateur

Endpoint

GET /api/users/{id}

Réponse

{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "john.doe@example.com",
"nom": "Doe",
"prenom": "John",
"telephone": "+245955123456",
"role": {
"id": "550e8400-e29b-41d4-a716-446655440001",
"nom": "Spécialiste TM",
"code": "ROLE_TM_SPECIALIST",
"permissions": ["transferts.cycles_view", "transferts.paiements_view"]
},
"isActive": true,
"twoFactorEnabled": false,
"lastLoginAt": "2025-03-15T10:30:00+00:00",
"failedLoginAttempts": 0,
"regions": [
{
"id": "550e8400-e29b-41d4-a716-446655440002",
"nom": "Oio",
"code": "OIO"
}
],
"createdAt": "2025-01-01T00:00:00+00:00",
"updatedAt": "2025-03-15T10:30:00+00:00"
}
}

Modifier un utilisateur

Endpoint

PUT /api/users/{id}

ou

PATCH /api/users/{id}

Corps de la requête

{
"nom": "Doe",
"prenom": "John Updated",
"telephone": "+245955123457",
"role_id": "550e8400-e29b-41d4-a716-446655440003",
"regions": ["550e8400-e29b-41d4-a716-446655440002", "550e8400-e29b-41d4-a716-446655440004"]
}

Paramètres modifiables

ParamètreTypeDescription
nomstringNom de famille
prenomstringPrénom
telephonestringNuméro de téléphone
role_idUUIDID du nouveau rôle
regionsarrayIDs des régions affectées
attention

L'email ne peut pas être modifié après création. Pour changer l'email, créer un nouveau compte.


Supprimer un utilisateur

Endpoint

DELETE /api/users/{id}

Réponse

{
"success": true,
"message": "Utilisateur supprimé"
}
attention

La suppression est définitive. Préférez désactiver l'utilisateur pour conserver l'historique.


Activer/Désactiver un utilisateur

Endpoint

POST /api/users/{id}/toggle-status

Réponse

{
"success": true,
"message": "Utilisateur désactivé",
"data": {
"isActive": false
}
}

Réinitialiser le mot de passe

Endpoint

POST /api/users/{id}/reset-password

Corps de la requête (optionnel)

{
"newPassword": "NouveauMotDePasse123!"
}

Si newPassword n'est pas fourni, un mot de passe aléatoire est généré et envoyé par email.

Réponse

{
"success": true,
"message": "Mot de passe réinitialisé. Un email a été envoyé à l'utilisateur."
}

Obtenir les permissions effectives

Retourne toutes les permissions dont dispose un utilisateur (via son rôle).

Endpoint

GET /api/users/{id}/permissions

Réponse

{
"success": true,
"data": {
"role": "ROLE_TM_SPECIALIST",
"permissions": [
"transferts.cycles_view",
"transferts.cycles_create",
"transferts.paiements_view",
"transferts.paiements_export",
"registre.menages_view",
"registre.beneficiaires_view"
]
}
}