doc: adding docs
This commit is contained in:
122
docs/api.md
Normal file
122
docs/api.md
Normal file
@@ -0,0 +1,122 @@
|
||||
# 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 }`
|
||||
|
||||
### GET /api/komga/ttl-config
|
||||
|
||||
- **Description** : Récupération de la configuration TTL du cache
|
||||
- **Réponse** : `{ defaultTTL: number, homeTTL: number, ... }`
|
||||
|
||||
### POST /api/komga/ttl-config
|
||||
|
||||
- **Description** : Sauvegarde de la configuration TTL
|
||||
- **Body** : `{ defaultTTL: number, homeTTL: number, ... }`
|
||||
- **Réponse** : `{ message: string, config: TTLConfig }`
|
||||
|
||||
### GET /api/komga/cache/mode
|
||||
|
||||
- **Description** : Récupération du mode de cache actuel
|
||||
- **Réponse** : `{ mode: string }`
|
||||
|
||||
## 📚 Bibliothèques
|
||||
|
||||
### GET /api/komga/libraries
|
||||
|
||||
- **Description** : Liste des bibliothèques
|
||||
- **Réponse** : `Library[]`
|
||||
|
||||
## 📖 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** : `Preferences`
|
||||
|
||||
## 🧪 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 }`
|
||||
192
docs/services.md
Normal file
192
docs/services.md
Normal file
@@ -0,0 +1,192 @@
|
||||
# Documentation des Services
|
||||
|
||||
## 🔐 AuthService
|
||||
|
||||
Service de gestion de l'authentification
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `loginUser(email: string, password: string): Promise<UserData>`
|
||||
|
||||
- Authentifie un utilisateur
|
||||
- Retourne les données utilisateur
|
||||
|
||||
- `createUser(email: string, password: string): Promise<UserData>`
|
||||
|
||||
- Crée un nouvel utilisateur
|
||||
- Retourne les données utilisateur
|
||||
|
||||
- `logout(): Promise<void>`
|
||||
- Déconnecte l'utilisateur actuel
|
||||
|
||||
## 📚 LibraryService
|
||||
|
||||
Service de gestion des bibliothèques
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getLibraries(): Promise<Library[]>`
|
||||
|
||||
- Récupère la liste des bibliothèques
|
||||
- Met en cache les résultats
|
||||
|
||||
- `getLibrary(libraryId: string): Promise<Library>`
|
||||
|
||||
- Récupère une bibliothèque spécifique
|
||||
- Lance une erreur si non trouvée
|
||||
|
||||
- `getLibrarySeries(libraryId: string, page: number = 0, size: number = 20, unreadOnly: boolean = false): Promise<LibraryResponse<Series>>`
|
||||
- Récupère les séries d'une bibliothèque
|
||||
- Supporte la pagination et le filtrage
|
||||
|
||||
## 📖 SeriesService
|
||||
|
||||
Service de gestion des séries
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getSeries(seriesId: string): Promise<Series>`
|
||||
|
||||
- Récupère les détails d'une série
|
||||
|
||||
- `getSeriesBooks(seriesId: string, page: number = 0, size: number = 24, unreadOnly: boolean = false): Promise<LibraryResponse<KomgaBook>>`
|
||||
|
||||
- Récupère les livres d'une série
|
||||
- Supporte la pagination et le filtrage
|
||||
|
||||
- `getCover(seriesId: string): Promise<Response>`
|
||||
- Récupère la couverture d'une série
|
||||
|
||||
## 📑 BookService
|
||||
|
||||
Service de gestion des livres
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getBook(bookId: string): Promise<{ book: KomgaBook; pages: number[] }>`
|
||||
|
||||
- Récupère les détails d'un livre et ses pages
|
||||
|
||||
- `updateReadProgress(bookId: string, page: number, completed: boolean = false): Promise<void>`
|
||||
|
||||
- Met à jour la progression de lecture
|
||||
|
||||
- `getPage(bookId: string, pageNumber: number): Promise<Response>`
|
||||
|
||||
- Récupère une page spécifique d'un livre
|
||||
|
||||
- `getCover(bookId: string): Promise<Response>`
|
||||
|
||||
- Récupère la couverture d'un livre
|
||||
|
||||
- `getPageThumbnail(bookId: string, pageNumber: number): Promise<Response>`
|
||||
- Récupère la miniature d'une page
|
||||
|
||||
## 🖼️ ImageService
|
||||
|
||||
Service de gestion des images
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getImage(path: string): Promise<ImageResponse>`
|
||||
|
||||
- Récupère une image depuis le serveur
|
||||
- Gère le cache des images
|
||||
|
||||
- `getSeriesThumbnailUrl(seriesId: string): string`
|
||||
|
||||
- Génère l'URL de la miniature d'une série
|
||||
|
||||
- `getBookThumbnailUrl(bookId: string): string`
|
||||
|
||||
- Génère l'URL de la miniature d'un livre
|
||||
|
||||
- `getBookPageUrl(bookId: string, pageNumber: number): string`
|
||||
- Génère l'URL d'une page de livre
|
||||
|
||||
## ⚙️ ConfigDBService
|
||||
|
||||
Service de gestion de la configuration
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getConfig(): Promise<Config>`
|
||||
|
||||
- Récupère la configuration Komga
|
||||
|
||||
- `saveConfig(config: Config): Promise<Config>`
|
||||
|
||||
- Sauvegarde la configuration Komga
|
||||
|
||||
- `getTTLConfig(): Promise<TTLConfig>`
|
||||
|
||||
- Récupère la configuration TTL
|
||||
|
||||
- `saveTTLConfig(config: TTLConfig): Promise<TTLConfig>`
|
||||
- Sauvegarde la configuration TTL
|
||||
|
||||
## 🔄 ServerCacheService
|
||||
|
||||
Service de gestion du cache serveur
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getCacheMode(): string`
|
||||
|
||||
- Récupère le mode de cache actuel
|
||||
|
||||
- `clearCache(): void`
|
||||
- Vide le cache serveur
|
||||
|
||||
## ⭐ FavoriteService
|
||||
|
||||
Service de gestion des favoris
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getAllFavoriteIds(): Promise<string[]>`
|
||||
- Récupère les IDs des séries favorites
|
||||
|
||||
## 🔧 PreferencesService
|
||||
|
||||
Service de gestion des préférences
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `getPreferences(): Promise<Preferences>`
|
||||
|
||||
- Récupère les préférences utilisateur
|
||||
|
||||
- `savePreferences(preferences: Preferences): Promise<void>`
|
||||
- Sauvegarde les préférences utilisateur
|
||||
|
||||
## 🧪 TestService
|
||||
|
||||
Service de test de connexion
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `testConnection(config: AuthConfig): Promise<{ libraries: Library[] }>`
|
||||
- Teste la connexion au serveur Komga
|
||||
- Retourne les bibliothèques si succès
|
||||
|
||||
## 🌐 BaseApiService
|
||||
|
||||
Service de base pour les appels API
|
||||
|
||||
### Méthodes
|
||||
|
||||
- `buildUrl(config: Config, path: string, params?: Record<string, string>): string`
|
||||
|
||||
- Construit une URL d'API
|
||||
|
||||
- `getAuthHeaders(config: Config): Headers`
|
||||
|
||||
- Génère les en-têtes d'authentification
|
||||
|
||||
- `fetchFromApi<T>(url: string, headers: Headers, raw?: boolean): Promise<T>`
|
||||
|
||||
- Effectue un appel API avec gestion d'erreurs
|
||||
|
||||
- `fetchWithCache<T>(key: string, fetcher: () => Promise<T>, type: CacheType): Promise<T>`
|
||||
- Effectue un appel API avec mise en cache
|
||||
Reference in New Issue
Block a user