feat(bookmarks): api+store — per-user CRUD, owner-scoped 404, percent-ordered list

This commit is contained in:
2026-09-08 01:03:44 +08:00
parent e117ad52d3
commit 0fe3bc3057
5 changed files with 282 additions and 0 deletions
+8
View File
@@ -19,3 +19,11 @@ CREATE TABLE IF NOT EXISTS reading_progress (
locator JSONB NOT NULL DEFAULT '{}', percent DOUBLE PRECISION NOT NULL DEFAULT 0,
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
PRIMARY KEY (user_id, library_id, book_path));
CREATE TABLE IF NOT EXISTS bookmarks (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
library_id BIGINT NOT NULL, book_path TEXT NOT NULL,
locator JSONB NOT NULL, percent DOUBLE PRECISION NOT NULL DEFAULT 0,
note TEXT NOT NULL DEFAULT '',
created_at TIMESTAMPTZ NOT NULL DEFAULT now());
CREATE INDEX IF NOT EXISTS bookmarks_user_book_idx ON bookmarks (user_id, library_id, book_path);