Split Series from Bookmark, keeping the wire format flat #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#18
What to build
A Series becomes a thing in its own right, shared by everyone who tracks it, so it gets polled once instead of once per Bookmark. Facts about the work — title, cover, canonical URL, kind, Latest Chapter — move onto it; a Bookmark keeps only what differs between Readers.
Externally nothing changes: the JSON stays flat, the store joins on read and decomposes on write. That is what keeps the blast radius inside the store and the poller. See ADR-0003 and ADR-0004.
Acceptance criteria
updated_at.GET /bookmarksandPUT /bookmarks/{key}emit and accept exactly the flat field set they did before — asserted by a test, not by inspection.PUTnaming a Series that does not exist creates it from the client's title, cover and URL.PUTnaming a Series that already exists ignores client-supplied title, cover and URL. Only the backend's own Poll updates them. This is a security boundary: scraped page content is attacker-controlled and the row is shared.Blocked by
#20
sulthan referenced this issue2026-08-08 06:06:29 +07:00
Implemented on branch feat/db-change (commit
84291c3), all acceptance criteria met and test-asserted:go vet clean, full suite green. Reviewed on both axes (standards + spec) with zero actionable findings.