v1.1.0-beta.037 - feat(db): schema parity with rust-engine (SQLite)
🗃️ Schema additions (provider stays sqlite)
- New models: UserLibraryAccess (per-user library grants) + ReaderPreference (per-user/per-series reader settings)
- User.canRequest; Library.defaultAccess; Series.{seriesGroup, hasCustomMetadata, hasCustomCover, lastMetadataSync}; Issue.hasCustomCover; OpdsKey.expiresAt
- Relation back-refs wired (User.readerPreferences/libraryAccess, Series.readerPreferences, Library.userAccess)
🔧 SQLite adaptation - ReaderPreference.settings is String, not Json — SQLite's Prisma connector rejects Json (P1012). Stores the JSON blob as text; the reader-prefs API (Phase 3) JSON.stringify on write / JSON.parse on read. Provider stays sqlite, applied via
prisma db pushat startup (no migration files)
✅ Verification - prisma validate clean on SQLite; prisma generate OK
- tsc --noEmit clean; vitest 184/184 across 59 files