mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-13 06:51:29 +00:00
Adds a per-user "Can Stream" permission mirroring the existing "Can Download" pattern. Server admins can now disable streaming for specific users, encouraging local downloads instead. Addresses #2572. Changes: - User model: stream permission in mapping, defaults, and getter - ApiKey model: stream permission in defaults - Controller: 403 enforcement on playback session creation endpoints - Frontend: permission toggle in admin UI, play button gated by canStream, download button shown when streaming disabled, message when neither allowed - Tests: 11 Mocha tests (model + controller), 1 Cypress test (card UI) - Localization: English strings for toggle label and fallback message The getter uses !== false (rather than !!) so existing users without the stream key in their permissions JSON default to allowed on upgrade. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ApiKeyController.js | ||
| AuthorController.js | ||
| BackupController.js | ||
| CacheController.js | ||
| CollectionController.js | ||
| CustomMetadataProviderController.js | ||
| EmailController.js | ||
| FileSystemController.js | ||
| LibraryController.js | ||
| LibraryItemController.js | ||
| MeController.js | ||
| MiscController.js | ||
| NotificationController.js | ||
| PlaylistController.js | ||
| PodcastController.js | ||
| RSSFeedController.js | ||
| SearchController.js | ||
| SeriesController.js | ||
| SessionController.js | ||
| ShareController.js | ||
| StatsController.js | ||
| ToolsController.js | ||
| UserController.js | ||