- UI: Add /zxdb hub cards for Entries and Releases; implement Releases browser
with URL‑synced filters (q, year, sort, DL language/machine, file/scheme/source/case, demo)
and a paginated table (Entry ID, Title, Release #, Year).
- API: Add GET /api/zxdb/releases/search (Zod‑validated, Node runtime) supporting
title, year, sort, and downloads‑based filters; return paged JSON.
- Repo: Rewrite searchReleases to Drizzle QB; correct ORDER BY on releases.release_year;
implement EXISTS on downloads using explicit "from downloads as d"; return JSON‑safe rows.
- Schema: Align Drizzle models with ZXDB for releases/downloads; add lookups
availabletypes, currencies, roletypes, and roles relation.
- API (lookups): Add GET /api/zxdb/{availabletypes,currencies,roletypes} for dropdowns.
- Stability: JSON‑clone SSR payloads before passing to Client Components to avoid
RowDataPacket serialization errors.
Signed-off-by: Junie@lucy.xalior.com
10 lines
502 B
Plaintext
10 lines
502 B
Plaintext
ZXDB: Add Phase A schema models and list APIs; align repo
|
|
|
|
- Schema: add Drizzle models for availabletypes, currencies, roletypes, issues, magazines, role relations
|
|
- Repo: add list/search functions for new lookups (availabletypes, currencies, roletypes)
|
|
- API: expose /api/zxdb/{availabletypes,currencies,roletypes} list endpoints
|
|
- UI: (deferred) existing pages can now populate dropdowns with proper names where needed
|
|
- Keeps previous releases/downloads fixes intact
|
|
|
|
Signed-off-by: Junie@HOSTNAME
|