import api from "./client"; import type { Bookmark, Note, CreateBookmarkPayload, CreateNotePayload, PaginatedResponse, } from "@cloud-reader/shared"; export function fetchBookmarks( bookId?: string, ): Promise> { const params = bookId ? { book: bookId } : {}; return api .get>("/api/annotations/bookmarks/", { params }) .then((res) => res.data); } export function createBookmark( payload: CreateBookmarkPayload, ): Promise { return api .post("/api/annotations/bookmarks/", payload) .then((res) => res.data); } export function deleteBookmark(id: string): Promise { return api.delete(`/api/annotations/bookmarks/${id}/`).then(() => {}); } export function fetchNotes(bookId?: string): Promise> { const params = bookId ? { book: bookId } : {}; return api .get>("/api/annotations/notes/", { params }) .then((res) => res.data); } export function createNote(payload: CreateNotePayload): Promise { return api .post("/api/annotations/notes/", payload) .then((res) => res.data); } export function updateNote( id: string, content: string, ): Promise { return api .patch(`/api/annotations/notes/${id}/`, { content }) .then((res) => res.data); } export function deleteNote(id: string): Promise { return api.delete(`/api/annotations/notes/${id}/`).then(() => {}); }