Complete end-to-end per-profile Spotify support: - DB migration: 11 columns on profiles table (Spotify creds, Tidal tokens, server library IDs) with encryption - API endpoints: save/load/delete Spotify creds + server library - Per-profile Spotify client cache with separate OAuth token storage - Profile-aware OAuth flow (auth initiation + callback via state param) - Playlist listing endpoint uses per-profile client - Frontend: Spotify + Server Library + ListenBrainz sections in personal settings modal (non-admin only) - Admin users see zero change — fully backwards compatible - Tidal per-profile deferred (needs device auth flow) |
||
|---|---|---|
| .. | ||
| static | ||
| index.html | ||