From 995ec455f75e03fbd7ab9219e35d4cd10d1946e7 Mon Sep 17 00:00:00 2001 From: Julien Froidefond Date: Sun, 23 Feb 2025 07:52:44 +0100 Subject: [PATCH] fix: delete read progress for real --- .../books/[bookId]/read-progress/route.ts | 2 +- src/lib/services/book.service.ts | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/app/api/komga/books/[bookId]/read-progress/route.ts b/src/app/api/komga/books/[bookId]/read-progress/route.ts index bc8285d..bcb7284 100644 --- a/src/app/api/komga/books/[bookId]/read-progress/route.ts +++ b/src/app/api/komga/books/[bookId]/read-progress/route.ts @@ -24,7 +24,7 @@ export async function PATCH(request: Request, { params }: { params: { bookId: st } export async function DELETE(request: Request, { params }: { params: { bookId: string } }) { try { - await BookService.updateReadProgress(params.bookId, 1, false); + await BookService.deleteReadProgress(params.bookId); return NextResponse.json({ message: "Progression supprimée avec succès" }); } catch (error) { console.error("API Delete Read Progress - Erreur:", error); diff --git a/src/lib/services/book.service.ts b/src/lib/services/book.service.ts index 37c40bf..0cc15b2 100644 --- a/src/lib/services/book.service.ts +++ b/src/lib/services/book.service.ts @@ -61,6 +61,26 @@ export class BookService extends BaseApiService { } } + static async deleteReadProgress(bookId: string): Promise { + try { + const config = await this.getKomgaConfig(); + const url = this.buildUrl(config, `books/${bookId}/read-progress`); + const headers = this.getAuthHeaders(config); + headers.set("Content-Type", "application/json"); + + const response = await fetch(url, { + method: "DELETE", + headers, + }); + + if (!response.ok) { + throw new Error("Erreur lors de la suppression de la progression"); + } + } catch (error) { + return this.handleError(error, "Impossible de supprimer la progression"); + } + } + static async getPage(bookId: string, pageNumber: number): Promise { try { // Ajuster le numéro de page pour l'API Komga (zero-based)