fix: harden uploads and CBR archive handling

Handle existing upload folder paths without creating duplicate books, tolerate partial RAR 1.5 archive reads, and clean up related production defaults and dashboard type safety.
This commit is contained in:
neon
2026-04-24 08:25:38 -06:00
parent 46208fc82d
commit ac1b2cedb4
10 changed files with 175 additions and 34 deletions
+11 -2
View File
@@ -106,8 +106,17 @@ BEGIN
)
ON CONFLICT (user_id, book_id) DO UPDATE
SET status = 'read',
finished_at = COALESCE(user_book_status.finished_at,
date_trunc('year', current_date) + (i * 14 * interval '1 day')),
started_at = LEAST(
COALESCE(user_book_status.started_at, EXCLUDED.started_at),
COALESCE(user_book_status.finished_at, EXCLUDED.finished_at, EXCLUDED.started_at)
),
finished_at = GREATEST(
COALESCE(user_book_status.finished_at, EXCLUDED.finished_at),
LEAST(
COALESCE(user_book_status.started_at, EXCLUDED.started_at),
COALESCE(user_book_status.finished_at, EXCLUDED.finished_at, EXCLUDED.started_at)
)
),
updated_at = EXCLUDED.updated_at;
END LOOP;
RAISE NOTICE 'Year Projection: marked % books as read this year', i;