diff --git a/web/src/api.ts b/web/src/api.ts index bd9eb86..b3ea0af 100644 --- a/web/src/api.ts +++ b/web/src/api.ts @@ -103,6 +103,9 @@ interface Chapter { interface ReadingProgress { current_page: number; total_pages: number; + epubcfi?: string; + percentage?: number; + last_read_at: string; } async function getReaderMetadata(mediaItemId: string): Promise { const response = await apiGet(`/media-items/${mediaItemId}`); @@ -119,6 +122,18 @@ async function updateReadingProgress( await handleVoidResponse(response); } +async function getReadingProgress( + mediaItemId: string, +): Promise { + const response = await apiGet(`/media-items/${mediaItemId}/progress`); + + if (response.status === 404) { + return null; + } + + return handleResponse(response); +} + export { apiGet, apiPost, @@ -129,8 +144,8 @@ export { handleVoidResponse, handleError, getReaderMetadata, + getReadingProgress, // ADD THIS updateReadingProgress, - ReaderMetadata, ReadingProgress, ChapterMetadata, Chapter,