Gestion des utilisateurs
Cette section détaille les opérations relatives aux comptes utilisateurs (joueurs).
Inscription
Création d'un nouveau compte joueur. Cet endpoint est généralement appelé lors d'une inscription sur la plateforme Gamers.
- Méthode :
POST - Chemin :
/users - Accès : Public
Exemple de requête
{
"firstName": "Alice",
"lastName": "Smith",
"email": "alice.smith@example.com",
"password": "SecurePassword123!",
"phone": "+33600000000",
"address": "10 Rue de Rivoli",
"city": "Paris",
"postalCode": "75004",
"country": "FR",
"dateOfBirth": "1992-08-24"
}
Exemple de réponse (201 Created)
{
"success": true,
"message": "Utilisateur créé",
"payload": {
"id": "a1b2c3d4-e5f6-4g7h-8i9j-k1l2m3n4o5p6",
"firstName": "Alice",
"lastName": "Smith",
"email": "alice.smith@example.com",
"status": "OK",
"createdAt": "2026-01-13T20:00:00Z"
...
}
}
Administration des Utilisateurs
Note : Les endpoints suivants nécessitent un token Administrateur.
Lister les utilisateurs
Récupère la liste de tous les joueurs inscrits.
- Méthode :
GET - Chemin :
/users - Accès : Admin
- Paramètres (Query) :
status: Filtrer par statut (OK,SUSPENDED,BLOCKED,DELETED).
Exemple de réponse (200 OK)
{
"success": true,
"message": "Users retrieved successfully",
"payload": [
{
"id": "a1b2c3d4-e5f6-4g7h-8i9j-k1l2m3n4o5p6",
"firstName": "Alice",
"lastName": "Smith",
"email": "alice.smith@example.com",
"phone": "+33600000000",
"status": "OK",
"createdAt": "2026-01-13T20:00:00Z"
...
},
{
"id": "b2c3d4e5-f6g7-5h8i-9j0k-l1m2n3o4p5q6",
"firstName": "Bob",
"lastName": "Martin",
"email": "bob.martin@example.com",
"phone": "+33611111111",
"status": "OK",
"createdAt": "2026-01-14T10:00:00Z"
...
}
]
}
Consulter un utilisateur
Détails complets d'un joueur par son ID.
- Méthode :
GET - Chemin :
/users/{userId} - Accès : Authentifié (propre compte) ou Admin
Exemple de Réponse (200 OK)
{
"success": true,
"message": "User details retrieved successfully",
"payload": {
"id": "a1b2c3d4-e5f6-4g7h-8i9j-k1l2m3n4o5p6",
"firstName": "Alice",
"lastName": "Smith",
"email": "alice.smith@example.com",
"phone": "+33600000000",
"address": "10 Rue de Rivoli",
"city": "Paris",
"postalCode": "75004",
"country": "FR",
"dateOfBirth": "1992-08-24",
"status": "OK",
"paymentMethod": {
"type": "SEPA",
"iban": "FR76****************1234"
},
"createdAt": "2026-01-13T20:00:00Z",
"updatedAt": "2026-01-13T20:00:00Z"
}
}
Mettre à jour un utilisateur
Mise à jour des informations personnelles du joueur.
- Méthode :
PUT - Chemin :
/users/{userId} - Accès : Authentifié (propre compte) ou Admin
Note : Le champ status ne peut pas être modifié via cet endpoint. Utilisez PATCH /users/{userId}/status pour modifier le statut (Admin uniquement).
Exemple de requête
Exemple de réponse (200 OK)
{
"success": true,
"message": "User updated successfully",
"payload": {
"id": "a1b2c3d4-e5f6-4g7h-8i9j-k1l2m3n4o5p6",
"firstName": "Alice",
...
}
}
Modifier un statut financier/accès
Permet de suspendre ou bloquer un utilisateur (souvent suite à un incident de paiement).
- Méthode :
PATCH - Chemin :
/users/{userId}/status - Accès : Admin
Exemple de requête
Exemple de réponse (200 OK)
{
"success": true,
"message": "User status updated successfully",
"payload": {
"id": "a1b2c3d4-e5f6-4g7h-8i9j-k1l2m3n4o5p6",
"firstName": "Alice",
"lastName": "Smith",
"email": "alice.smith@example.com",
"status": "BLOCKED"
}
}
Suppression logique
Désactive le compte d'un utilisateur sans supprimer les données historiques.
- Méthode :
DELETE - Chemin :
/users/{userId} - Accès : Admin