AM
Application Mitaines
Atelier nocturne

Base URL

Local : http://localhost:3000

Prod : http://68.233.121.181

GET /api/mittens/random

Authentification

Les routes privées requièrent un token JWT.

Authorization: Bearer <token>

Routes publiques

1. Mitaine aléatoire

Route : /api/mittens/random

Méthode : GET

Description : Récupère une mitaine au hasard.

GET /api/mittens/random

Réponse 200
{
  "data": {
    "id": 1,
    "name": "Mitaine X",
    "types": ["Doux", "Luxe"],
    "hp": 12,
    "cp": 4,
    "picture": "https://..."
  }
}

2. Vérification code

Route : /api/verifyCode

Méthode : POST

Description : Génère un token de vérification pour créer un utilisateur.

POST /api/verifyCode
{
  "code": "code_de_verification"
}

Réponse 200
{
  "token": "verify_token"
}

3. Créer un utilisateur

Route : /api/users

Méthode : POST

POST /api/users
{
  "username": "nom_utilisateur",
  "password": "mot_de_passe",
  "token": "verify_token"
}

4. Connexion

Route : /api/login

Méthode : POST

POST /api/login
{
  "username": "nom_utilisateur",
  "password": "mot_de_passe"
}

Réponse 200
{
  "token": "jwt_token",
  "data": {
    "id": 12,
    "role": "user"
  }
}

Routes connectées

5. Lister les mitaines

Route : /api/mittens

Méthode : GET

GET /api/mittens
Authorization: Bearer <token>

6. Mitaine par ID

Route : /api/mittens/:id

Méthode : GET

7. Commentaires d'une mitaine

Route : /api/mittens/:id/comments

Méthode : GET

8. Ajouter un commentaire

Route : /api/mittens/:id/comments

Méthode : POST

POST /api/mittens/:id/comments
Authorization: Bearer <token>
{
  "content": "Mon commentaire"
}

9. Réactions d'une mitaine

Route : /api/mittens/:id/reactions

Méthode : GET

GET /api/mittens/:id/reactions
Authorization: Bearer <token>

10. Ajouter/retirer une réaction

Route : /api/mittens/:id/reactions

Méthode : POST

POST /api/mittens/:id/reactions
Authorization: Bearer <token>
{
  "type": "like"
}

11. Mes suggestions

Route : /api/mittens/suggestions/mine

Méthode : GET

GET /api/mittens/suggestions/mine
Authorization: Bearer <token>

12. Créer une mitaine (admin)

Route : /api/mittens

Méthode : POST

13. Mettre à jour une mitaine (admin)

Route : /api/mittens/:id

Méthode : PUT

14. Supprimer une mitaine (admin)

Route : /api/mittens/:id

Méthode : DELETE

Erreurs fréquentes

401 : token manquant ou expiré

403 : permissions insuffisantes

404 : ressource inexistante

500 : erreur serveur

{
  "message": "Erreur explicite"
}