Skip to content

feat(store): keep each list as it was last read - #80

Merged
noctuum merged 1 commit into
mainfrom
feat/stored-list-entries
Oct 15, 2026
Merged

noctuum merged 1 commit into
mainfrom
feat/stored-list-entries

Conversation

@noctuum

@noctuum noctuum commented Oct 15, 2026

Copy link
Copy Markdown
Member

Migration 3 adds two tables. backend_ids links a show to an entry of a backend by the number the service gives the work, and a show is at most one entry of a backend. list_entries holds what each list held when it was last read.

  • Store::file takes one backend's list in one transaction. It files and links a show for each entry with no link, gives a linked show the entry's title, and replaces that backend's rows of list_entries. A link stays when its entry leaves the list, so an entry that comes back is the show it was.
  • Store::listed answers every show of a backend's list with its Entry. A row whose show is gone is refused as Error::Showless, and a row that cannot be read as Error::Entry, each naming the entry.
  • benshi_core::list holds Entry, EntryId and Format. Status and Rating move there from benshi_store::queue.

cargo test --workspace passes, 844 tests.

A show keeps its link to an entry after the entry leaves the list.
@noctuum
noctuum merged commit 49a36c3 into main Oct 15, 2026
1 check passed
@noctuum
noctuum deleted the feat/stored-list-entries branch October 15, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant