openreader/src/db
Richard R c24710b2ca refactor(audiobooks): implement user-specific storage with composite primary keys
- Change audiobooks and audiobookChapters tables to use composite PK (id, userId)
- Migrate audiobooks from flat storage to user-specific directories under audiobooks_users
- Add support for claiming unclaimed audiobooks on account creation
- Improve auth rate limiting with retry logic and DISABLE_AUTH_RATE_LIMIT for tests
- Fix iOS/Safari audio playback with unlock mechanism and playback rate watchdog
- Update API routes to handle user-scoped audiobook access with fallback to unclaimed
- Transfer audiobooks when linking anonymous accounts to real accounts
- Remove foreign key constraint from audiobookChapters to support composite PK
- Add cascade delete to account and session foreign keys
2026-02-03 12:17:06 -07:00
..
index.ts feat(db/auth): migrate auth storage to Drizzle and add claimable data flow 2026-01-26 17:01:36 -07:00
schema.ts feat(db/auth): migrate auth storage to Drizzle and add claimable data flow 2026-01-26 17:01:36 -07:00
schema_postgres.ts refactor(audiobooks): implement user-specific storage with composite primary keys 2026-02-03 12:17:06 -07:00
schema_sqlite.ts refactor(audiobooks): implement user-specific storage with composite primary keys 2026-02-03 12:17:06 -07:00