feat(library): backlog status, rating, notes and priority per game

New games start as BACKLOG, or PLAYING when they have playtime. The sync
never changes a status later. PUT /api/library/games/{appid}/backlog sets
all four fields; /api/library/games filters by status and name (q).
This commit is contained in:
lobo committed 2026-09-24 10:51:17 +02:00
1 parent b46e2badbd
commit 0ac93394d9
15 files changed
+438 -11

No files matched your search

@@ -0,0 +1,12 @@
-- Per-user backlog tracking. The sync sets status only when it inserts a game.
ALTER TABLE user_game
ADD COLUMN status VARCHAR(16),
ADD COLUMN rating INTEGER CHECK (rating BETWEEN 1 AND 5),
ADD COLUMN notes VARCHAR(2000),
ADD COLUMN priority VARCHAR(8);
UPDATE user_game SET status = CASE WHEN playtime_minutes > 0 THEN 'PLAYING' ELSE 'BACKLOG' END;
ALTER TABLE user_game ALTER COLUMN status SET NOT NULL;
CREATE INDEX idx_user_game_user_status ON user_game (user_id, status) WHERE removed_at IS NULL;