# Documentation des Services ## 🔐 AuthService Service de gestion de l'authentification ### Méthodes - `loginUser(email: string, password: string): Promise` - Authentifie un utilisateur - Retourne les données utilisateur - `createUser(email: string, password: string): Promise` - Crée un nouvel utilisateur - Retourne les données utilisateur - `logout(): Promise` - Déconnecte l'utilisateur actuel ## 📚 LibraryService Service de gestion des bibliothèques ### Méthodes - `getLibraries(): Promise` - Récupère la liste des bibliothèques - Met en cache les résultats - `getLibrary(libraryId: string): Promise` - 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, search?: string): Promise>` - Récupère les séries d'une bibliothèque - Supporte la pagination et le filtrage - Paramètres : - `page` : Numéro de page (défaut: 0) - `size` : Nombre d'éléments par page (défaut: 20, valeurs possibles: 20, 50, 100) - `unreadOnly` : Filtrer les séries non lues (défaut: false) - `search` : Rechercher une série par titre (optionnel) ## 📖 SeriesService Service de gestion des séries ### Méthodes - `getSeries(seriesId: string): Promise` - Récupère les détails d'une série - `getSeriesBooks(seriesId: string, page: number = 0, size: number = 24, unreadOnly: boolean = false): Promise>` - Récupère les livres d'une série - Supporte la pagination et le filtrage - `getCover(seriesId: string): Promise` - 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` - Met à jour la progression de lecture - `getPage(bookId: string, pageNumber: number): Promise` - Récupère une page spécifique d'un livre - `getCover(bookId: string): Promise` - Récupère la couverture d'un livre - `getPageThumbnail(bookId: string, pageNumber: number): Promise` - Récupère la miniature d'une page ## 🖼️ ImageService Service de gestion des images ### Méthodes - `getImage(path: string): Promise` - 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` - Récupère la configuration Komga - `saveConfig(config: Config): Promise` - Sauvegarde la configuration Komga - `getTTLConfig(): Promise` - Récupère la configuration TTL - `saveTTLConfig(config: TTLConfig): Promise` - 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` - Récupère les IDs des séries favorites ## 🔧 PreferencesService Service de gestion des préférences ### Méthodes - `getPreferences(): Promise` - Récupère les préférences utilisateur - `savePreferences(preferences: Preferences): Promise` - Sauvegarde les préférences utilisateur ## 🧪 TestService Service de test de connexion ### Méthodes - `testConnection(config: AuthConfig): Promise<{ libraries: KomgaLibrary[] }>` - 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` - Construit une URL d'API - `getAuthHeaders(config: Config): Headers` - Génère les en-têtes d'authentification - `fetchFromApi(url: string, headers: Headers, raw?: boolean): Promise` - Effectue un appel API avec gestion d'erreurs - `fetchWithCache(key: string, fetcher: () => Promise, type: CacheType): Promise` - Effectue un appel API avec mise en cache