# Documentation des API ## 🔐 Authentification ### POST /api/auth/login - **Description** : Connexion d'un utilisateur - **Body** : `{ email: string, password: string }` - **Réponse** : `{ message: string, user: UserData }` ### POST /api/auth/register - **Description** : Inscription d'un utilisateur - **Body** : `{ email: string, password: string }` - **Réponse** : `{ message: string, user: UserData }` ## ⚙️ Configuration ### GET /api/komga/config - **Description** : Récupération de la configuration Komga - **Réponse** : `{ url: string, username: string, password: string, userId: string }` ### POST /api/komga/config - **Description** : Sauvegarde de la configuration Komga - **Body** : `{ url: string, username: string, password: string }` - **Réponse** : `{ message: string, config: Config }` ## 📚 Bibliothèques ### GET /api/komga/libraries - **Description** : Liste des bibliothèques - **Réponse** : `Library[]` ### GET /libraries/[libraryId] - **Description** : Page d'une bibliothèque - **Paramètres** : `libraryId` dans l'URL - **Query Parameters** : - `page` : Numéro de page (défaut: 1) - `size` : Nombre d'éléments par page (défaut: 20, valeurs possibles: 20, 50, 100) - `unread` : Filtrer les séries non lues (défaut: false) - `search` : Rechercher une série par titre - `compact` : Mode d'affichage compact (défaut: false) - **Réponse** : Page HTML avec la liste des séries ## 📖 Séries ### GET /api/komga/series/[seriesId] - **Description** : Détails d'une série - **Paramètres** : `seriesId` dans l'URL - **Réponse** : `Series` ## 📑 Livres ### GET /api/komga/books/[bookId] - **Description** : Détails d'un livre - **Paramètres** : `bookId` dans l'URL - **Réponse** : `{ book: Book, pages: number[] }` ### PATCH /api/komga/books/[bookId]/read-progress - **Description** : Mise à jour de la progression de lecture - **Paramètres** : `bookId` dans l'URL - **Body** : `{ page: number, completed: boolean }` - **Réponse** : `{ message: string }` ## 🖼️ Images ### GET /api/komga/images/series/[seriesId]/thumbnail - **Description** : Miniature d'une série - **Paramètres** : `seriesId` dans l'URL - **Réponse** : Image ### GET /api/komga/images/books/[bookId]/thumbnail - **Description** : Miniature d'un livre - **Paramètres** : `bookId` dans l'URL - **Réponse** : Image ### GET /api/komga/images/books/[bookId]/pages/[pageNumber] - **Description** : Page d'un livre - **Paramètres** : `bookId` et `pageNumber` dans l'URL - **Réponse** : Image ### GET /api/komga/images/books/[bookId]/pages/[pageNumber]/thumbnail - **Description** : Miniature d'une page - **Paramètres** : `bookId` et `pageNumber` dans l'URL - **Réponse** : Image ## ⭐ Favoris ### GET /api/komga/favorites - **Description** : Liste des IDs des séries favorites - **Réponse** : `string[]` ## 🔧 Préférences ### GET /api/preferences - **Description** : Récupération des préférences utilisateur - **Réponse** : `{ showThumbnails: boolean, showOnlyUnread: boolean, displayMode: object, background: object, readerPrefetchCount: number }` ### PUT /api/preferences - **Description** : Mise à jour des préférences utilisateur - **Body** : `{ showThumbnails?: boolean, showOnlyUnread?: boolean, displayMode?: object, background?: object, readerPrefetchCount?: number }` - **Réponse** : `{ showThumbnails: boolean, showOnlyUnread: boolean, displayMode: object, background: object, readerPrefetchCount: number }` ## 🧪 Test ### POST /api/komga/test - **Description** : Test de connexion au serveur Komga - **Body** : `{ serverUrl: string, username: string, password: string }` - **Réponse** : `{ message: string, librariesCount: number }`