import { apiClient } from "./client"; import type { EBookListItem, EBookDetail, ReadingProgress, ReadingSettings, TocResponse, ContentResponse, PaginatedResponse, } from "@cloud-reader/shared"; export const ebooksApi = { /** List uploaded e-books */ list() { return apiClient.get>("/api/ebooks/"); }, /** Get e-book detail */ get(id: number) { return apiClient.get(`/api/ebooks/${id}/`); }, /** Get table of contents */ getToc(id: number) { return apiClient.get(`/api/ebooks/${id}/toc/`); }, /** Get page content */ getContent(id: number, page: number) { return apiClient.get( `/api/ebooks/${id}/content/?page=${page}`, ); }, /** Update reading progress */ updateProgress(id: number, data: Partial) { return apiClient.patch( `/api/ebooks/${id}/progress/`, data, ); }, /** Get or update reading settings */ getSettings(id: number) { return apiClient.get(`/api/ebooks/${id}/settings/`); }, updateSettings(id: number, data: Partial) { return apiClient.patch( `/api/ebooks/${id}/settings/`, data, ); }, };