- URL:
/register
- Method:
POST
- Description: Inscription d'un nouvel utilisateur.
- Body:
{ "name": "string", "email": "string", "password": "string", "password_confirmation": "string" }
- Réponse:
- 201 Created
{ "token": "string" }
- 201 Created
- URL:
/login
- Method:
POST
- Description: Connexion d'un utilisateur.
- Body:
{ "email": "string", "password": "string" }
- Réponse:
- 200 OK
{ "token": "string" }
- 200 OK
- URL:
/logout
- Method:
POST
- Headers:
Authorization: Bearer {token}
- Description: Déconnexion de l'utilisateur.
- Réponse:
- 204 No Content
- URL:
/email/verification-notification
- Method:
POST
- Headers:
Authorization: Bearer {token}
- Description: Envoie un email pour vérifier l'adresse.
- Réponse:
- 200 OK
{ "message": "Verification email sent." }
- 200 OK
- URL:
/email/verify/{id}/{hash}
- Method:
GET
- Headers:
Authorization: Bearer {token}
- Description: Vérifie l'email de l'utilisateur.
- Réponse:
- 200 OK
{ "message": "Email verified successfully." }
- 200 OK
- URL:
/articles
- Method:
GET
- Description: Liste paginée des articles publics.
- Query Parameters:
per_page
: Nombre d'articles par page.
- Réponse:
- 200 OK
{ "data": [ { "id": "integer", "title": "string", "content": "string", "status": "public", "tags": ["array"], "category": { "id": "integer", "name": "string" } } ], "meta": { "pagination": { "total": "integer", "count": "integer", "per_page": "integer", "current_page": "integer", "total_pages": "integer" } } }
- 200 OK
- URL:
/articles/search
- Method:
GET
- Description: Recherche d'articles.
- Query Parameters:
query
: Mot-clé.category
: Filtrer par catégorie.date_from
: Date de début.date_to
: Date de fin.
- Réponse: Même réponse que la liste des articles publics.
- URL:
/articles/{article}
- Method:
GET
- Description: Récupère les détails d'un article spécifique.
- Réponse:
- 200 OK
{ "id": "integer", "title": "string", "content": "string", "tags": ["array"] }
- 200 OK
- URL:
/articles
- Method:
POST
- Headers:
Authorization: Bearer {token}
- Description: Création d'un nouvel article.
- Body:
{ "title": "string", "content": "string", "category_id": "integer", "tags": ["array"] }
- URL:
/admin/articles/under_review
- Method:
GET
- Headers:
Authorization: Bearer {token}
- Description: Liste paginée des articles en statut
under_review
. - Réponse:
- 200 OK: Même structure que la liste des articles.
- URL:
/articles/{article}/flag
- Method:
POST
- Headers:
Authorization: Bearer {token}
- Description: Marquer un article comme
under_review
.
- URL:
/admin/articles/{article}/resolve
- Method:
POST
- Headers:
Authorization: Bearer {token}
- Description: Publier un article précédemment en revue.
- Réponse:
- 200 OK
{ "message": "Article reviewed and published." }
- 200 OK
- URL:
/categories
- Method:
GET
- Description: Récupère toutes les catégories.
- URL:
/categories
- Method:
POST
- Headers:
Authorization: Bearer {token}
- Body:
{ "name": "string", "description": "string", "parent_id": "integer" }
- URL:
/articles/{article}/comments
- Method:
GET
- Description: Liste des commentaires pour un article.
- URL:
/articles/{article}/is-favorite
- Method:
GET
- Headers:
Authorization: Bearer {token}
- Réponse:
- 200 OK
{ "is_favorite": true }
- 200 OK
- URL:
/admin/users/{user}/sanction-status
- Method:
GET
- Headers:
Authorization: Bearer {token}
- Réponse:
- 200 OK
{ "is_sanctioned": true }
- 200 OK