From 65c7096f461bff258a97e46731133b4b8de3adcf Mon Sep 17 00:00:00 2001 From: Mathis HERRIOT <197931332+0x485254@users.noreply.github.com> Date: Tue, 20 Jan 2026 11:49:47 +0100 Subject: [PATCH] feat(docs): update API reference with new endpoints and extended parameter details --- documentation/content/docs/api-reference.mdx | 85 ++++++++++++++++---- 1 file changed, 71 insertions(+), 14 deletions(-) diff --git a/documentation/content/docs/api-reference.mdx b/documentation/content/docs/api-reference.mdx index 5aaa090..442676e 100644 --- a/documentation/content/docs/api-reference.mdx +++ b/documentation/content/docs/api-reference.mdx @@ -82,6 +82,11 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego Récupère les informations détaillées de l'utilisateur connecté. Requiert l'authentification. + + Récupère le profil public d'un utilisateur par son nom d'utilisateur. + **Réponse :** `id`, `username`, `displayName`, `avatarUrl`, `createdAt`. + + Extrait l'intégralité des données de l'utilisateur au format JSON (Conformité RGPD). Contient le profil, les contenus et les favoris. @@ -89,7 +94,22 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego Met à jour les informations du profil. + **Corps :** - `displayName` (string) + - `bio` (string) + + + + Met à jour l'avatar de l'utilisateur. + **Type :** `multipart/form-data` + **Champ :** `file` (Image) + + + + Met à jour les consentements légaux de l'utilisateur. + **Corps :** + - `termsVersion` (string) + - `privacyVersion` (string) @@ -105,9 +125,9 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego - `POST /users/me/2fa/disable` : Désactive avec jeton. - - Liste tous les utilisateurs. Réservé aux administrateurs. - **Params :** `limit`, `offset`. + + - `GET /users/admin` : Liste tous les utilisateurs (avec pagination `limit`, `offset`). + - `DELETE /users/:uuid` : Supprime définitivement un utilisateur par son UUID. @@ -118,12 +138,15 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego Recherche et filtre les contenus. Ces endpoints sont mis en cache (Redis + Navigateur). **Query Params :** + - `limit` (number) : Défaut 10. + - `offset` (number) : Défaut 0. - `sort` : `trend` | `recent` (uniquement sur `/explore`) - - `tag` (string) - - `category` (slug ou id) - - `author` (username) - - `query` (titre) - - `favoritesOnly` (bool) + - `tag` (string) : Filtrer par tag. + - `category` (slug ou id) : Filtrer par catégorie. + - `author` (username) : Filtrer par auteur. + - `query` (titre) : Recherche textuelle. + - `favoritesOnly` (bool) : Ne montrer que les favoris de l'utilisateur connecté. + - `userId` (uuid) : Filtrer les contenus d'un utilisateur spécifique. @@ -133,8 +156,13 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego Si l'User-Agent correspond à un robot d'indexation (Googlebot, Twitterbot, etc.), l'API retourne un rendu HTML minimal contenant les méta-tags **OpenGraph** et **Twitter Cards** pour un partage optimal. Pour les autres clients, les données sont retournées en JSON. + + Crée une entrée de contenu (sans upload de fichier direct). Utile pour référencer des URLs externes. + **Corps :** `title`, `description`, `url`, `type`, `categoryId`, `tags`. + + - Upload un fichier avec traitement automatique. + Upload un fichier avec traitement automatique par le serveur. **Type :** `multipart/form-data` **Champs :** @@ -145,6 +173,11 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego - `tags`? : string[] + + Génère une URL présignée pour un upload direct vers S3. + **Query Param :** `fileName` (string). + + Incrémente les statistiques de vue ou d'utilisation. @@ -152,6 +185,10 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego Supprime un contenu (Soft Delete). Doit être l'auteur. + + + Supprime définitivement un contenu. **Réservé aux administrateurs.** + ### 📂 Catégories, ⭐ Favoris, 🚩 Signalements @@ -159,19 +196,23 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego - `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). - - `GET /favorites` : Liste les favoris de l'utilisateur. + 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. - `POST /reports` : Signale un contenu ou un tag. - - `GET /reports` : Liste (Modérateurs). - - `PATCH /reports/:id/status` : Gère le workflow. + - `GET /reports` : Liste des signalements (Pagination `limit`, `offset`). **Admin/Modérateurs**. + - `PATCH /reports/:id/status` : Change le statut (`pending`, `resolved`, `dismissed`). **Admin/Modérateurs**. @@ -185,7 +226,23 @@ Cette page documente tous les points de terminaison disponibles sur l'API Memego - - `GET /tags` : Recherche de tags populaires ou récents. - **Params :** `query`, `sort`, `limit`. + - `GET /tags` : Recherche de tags. + - **Params :** `query` (recherche), `sort` (`popular` | `recent`), `limit`, `offset`. + + + +### 🛠️ Système & Médias + + + + - `GET /health` : Vérifie l'état de l'API et de la connexion à la base de données. + + + + - `GET /media/*key` : Accès direct aux fichiers stockés sur S3. Supporte la mise en cache agressive. + + + + - `GET /admin/stats` : Récupère les statistiques globales de la plateforme. **Admin uniquement**.