audiobookshelf
audiobookshelf copied to clipboard
[Enhancement]: New user permissions for managing podcasts
Describe the feature/enhancement
Adding new podcasts and downloading episodes to the server will be available soon so we need specific user permissions for this.
Adding podcasts via the app still seems to be restricted to admin only users. With both issues closed, is there plans to allow non-admin users this ability?
This issue is still open
Just wanted to chime in that I’d love to see this developed further. I’ve got members of my household who I would trust to add content to the server, and space to hold it, but I don’t want to give them full blown admin (myself being one, I log in w/root when I need to do admin things but use a non-admin account the rest of the time).
Thanks for mentioning, but the best way to support feature requests is leaving a "thumbs up" reaction to the top comment.
https://www.audiobookshelf.org/faq#i-have-a-feature-request-how-should-i-bring-this-up
Thanks for mentioning, but the best way to support feature requests is leaving a "thumbs up" reaction to the top comment.
https://www.audiobookshelf.org/faq#i-have-a-feature-request-how-should-i-bring-this-up
That's fine and dandy, but I wasn't going to remember to come back and look at my likes 😆 . Did that too now.
I don't have time or JavaScript skill to implement this currently, but here are some pointers if anyone else wants to take a crack at it.
Places to modify
- Sidebar link for podcast search: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/components/app/SideRail.vue#L90
- Sidebar link for podcast download: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/components/app/SideRail.vue#L106
- Definition of auth function: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/components/app/SideRail.vue#L157-L159
- Backing privilege checks: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/store/user.js#L25
Existing permission checks
Reference for how current privilege checks are performed:
- Checking for delete/download privs in addition to admin: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/components/tables/LibraryFilesTable.vue#L21
- Definition of those functions: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/components/tables/LibraryFilesTable.vue#L59-L67
- Backing privilege checks: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/store/user.js#L48-L53
Permission backend
- UI: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/client/components/modals/AccountModal.vue
- User: https://github.com/advplyr/audiobookshelf/blob/5b22d7430a4cce20185147caeb13f77325b48824/server/models/User.js
- General search for server-side references: https://github.com/search?q=repo%3Aadvplyr%2Faudiobookshelf+%2Fpermissions%28%5C%3F%3F%5C.%5Ba-z%5D%7C%5C%5B%29%2F+path%3A%2F%5Eserver%5C%2F%2F&type=code