From 57bc51290b3b62d54aab3d7c6485ffc86549be93 Mon Sep 17 00:00:00 2001 From: Mathis HERRIOT <197931332+0x485254@users.noreply.github.com> Date: Wed, 21 Jan 2026 10:08:09 +0100 Subject: [PATCH] feat(docs): update and reorganize API reference structure - Refactored API endpoint documentation using individual accordions for better clarity. - Added detailed descriptions for `/contents`, `/categories`, `/favorites`, `/reports`, `/api-keys`, `/tags`, `/media`, and `/admin` endpoints. - Improved consistency in query parameters and usage examples. --- documentation/content/docs/api-reference.mdx | 161 ++++++++++++++----- 1 file changed, 118 insertions(+), 43 deletions(-) diff --git a/documentation/content/docs/api-reference.mdx b/documentation/content/docs/api-reference.mdx index 4a3ab55..ce12519 100644 --- a/documentation/content/docs/api-reference.mdx +++ b/documentation/content/docs/api-reference.mdx @@ -119,28 +119,38 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego - - - `POST /users/me/2fa/setup` : Génère un secret et QR Code. - - `POST /users/me/2fa/enable` : Active après vérification du jeton. - - `POST /users/me/2fa/disable` : Désactive avec jeton. + + Génère un secret et un QR Code pour la configuration de la 2FA. - - - `GET /users/admin` : Liste tous les utilisateurs (avec pagination `limit`, `offset`). - - `DELETE /users/:uuid` : Supprime définitivement un utilisateur par son UUID. + + Active la 2FA après vérification du jeton TOTP. + + + + Désactive la 2FA en utilisant un jeton TOTP valide. + + + + Liste tous les utilisateurs (réservé aux administrateurs). + **Query Params :** `limit`, `offset`. + + + + Supprime définitivement un utilisateur par son UUID (réservé aux administrateurs). ### 🖼️ Contenus (`/contents`) - - Recherche et filtre les contenus. Ces endpoints sont mis en cache (Redis + Navigateur). + + Recherche et filtre les contenus. Cet endpoint est mis en cache. **Query Params :** - `limit` (number) : Défaut 10. - `offset` (number) : Défaut 0. - - `sort` : `trend` | `recent` (uniquement sur `/explore`) + - `sort` : `trend` | `recent` - `tag` (string) : Filtrer par tag. - `category` (slug ou id) : Filtrer par catégorie. - `author` (username) : Filtrer par auteur. @@ -149,6 +159,14 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego - `userId` (uuid) : Filtrer les contenus d'un utilisateur spécifique. + + Récupère les contenus les plus populaires du moment. + + + + Récupère les contenus les plus récents. + + Récupère un contenu par son ID ou son Slug. @@ -178,8 +196,12 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego **Query Param :** `fileName` (string). - - Incrémente les statistiques de vue ou d'utilisation. + + Incrémente le compteur de vues d'un contenu. + + + + Incrémente le compteur d'utilisation d'un contenu. @@ -191,58 +213,111 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego -### 📂 Catégories, ⭐ Favoris, 🚩 Signalements +### 📂 Catégories (`/categories`) - - - `GET /categories` : Liste toutes les catégories. - - `GET /categories/:id` : Détails d'une catégorie. - - `POST /categories` : Création (Admin uniquement). - - `PATCH /categories/:id` : Mise à jour (Admin uniquement). - - `DELETE /categories/:id` : Suppression (Admin uniquement). + + Liste toutes les catégories de mèmes disponibles. - - Requiert l'authentification. - - `GET /favorites` : Liste les favoris de l'utilisateur (avec pagination `limit`, `offset`). - - `POST /favorites/:contentId` : Ajoute un favori. - - `DELETE /favorites/:contentId` : Retire un favori. + + Récupère les détails d'une catégorie spécifique. - - - `POST /reports` : Signale un contenu ou un tag. - - `GET /reports` : Liste des signalements (Pagination `limit`, `offset`). **Admin/Modérateurs**. - - `PATCH /reports/:id/status` : Change le statut (`pending`, `resolved`, `dismissed`). **Admin/Modérateurs**. + + Crée une nouvelle catégorie (**Admin uniquement**). + + + + Met à jour une catégorie existante (**Admin uniquement**). + + + + Supprime une catégorie (**Admin uniquement**). -### 🔑 Clés API & 🏷️ Tags +### ⭐ Favoris (`/favorites`) - - - `POST /api-keys` : Génère une clé `{ name, expiresAt? }`. - - `GET /api-keys` : Liste les clés actives. - - `DELETE /api-keys/:id` : Révoque une clé. + + Liste les favoris de l'utilisateur connecté. + **Query Params :** `limit`, `offset`. - - - `GET /tags` : Recherche de tags. - - **Params :** `query` (recherche), `sort` (`popular` | `recent`), `limit`, `offset`. + + Ajoute un contenu aux favoris de l'utilisateur. + + + + Retire un contenu des favoris de l'utilisateur. -### 🛠️ Système & Médias +### 🚩 Signalements (`/reports`) - - - `GET /health` : Vérifie l'état de l'API et de la connexion à la base de données. + + Signale un contenu ou un tag inapproprié. - - - `GET /media?path=key` : Accès direct aux fichiers stockés sur S3 via le paramètre `path`. Supporte la mise en cache agressive. + + Liste tous les signalements (**Admin/Modérateurs uniquement**). + **Query Params :** `limit`, `offset`. - - - `GET /admin/stats` : Récupère les statistiques globales de la plateforme. **Admin uniquement**. + + Change le statut d'un signalement (`pending`, `resolved`, `dismissed`) (**Admin/Modérateurs uniquement**). + + + +### 🔑 Clés API (`/api-keys`) + + + + Génère une nouvelle clé API pour l'utilisateur. + **Corps :** `{ name, expiresAt? }`. + + + + Liste toutes les clés API actives de l'utilisateur. + + + + Révoque une clé API spécifique. + + + +### 🏷️ Tags (`/tags`) + + + + Recherche et liste les tags populaires ou récents. + **Query Params :** `query`, `sort` (`popular` | `recent`), `limit`, `offset`. + + + +### 🛠️ Système (`/health`) + + + + Vérifie l'état de santé de l'API et de ses dépendances (Base de données, Redis, etc.). + + + +### 📁 Médias (`/media`) + + + + Accès direct aux fichiers multimédias. + **Query Param :** `path` (clé du fichier sur S3). + + + +### 📊 Administration (`/admin`) + + + + Récupère les statistiques globales d'utilisation de la plateforme (**Admin uniquement**).