From 2e070227abe98e0e89fd55fe54343f83f850209b Mon Sep 17 00:00:00 2001 From: advplyr Date: Tue, 3 May 2022 19:16:16 -0500 Subject: [PATCH] Update:Give full permissions to admin users except updating root or viewing root api token #137 --- client/components/app/Appbar.vue | 6 ++-- .../components/app/BookShelfCategorized.vue | 8 ++--- client/components/app/ConfigSideNav.vue | 6 ++-- client/components/app/LazyBookshelf.vue | 8 ++--- client/components/cards/LazyBookCard.vue | 6 ++-- .../components/modals/item/tabs/Details.vue | 8 ++--- client/components/tables/UsersTable.vue | 7 ++-- client/pages/audiobook/_id/edit.vue | 3 -- client/pages/config.vue | 2 +- client/pages/config/log.vue | 5 --- client/pages/config/users/_id.vue | 2 +- server/controllers/BackupController.js | 16 +++++----- server/controllers/LibraryController.js | 6 ++-- server/controllers/LibraryItemController.js | 12 +++---- server/controllers/MiscController.js | 14 ++++---- server/controllers/UserController.js | 32 +++++++++++-------- server/routers/ApiRouter.js | 5 ++- 17 files changed, 75 insertions(+), 71 deletions(-) diff --git a/client/components/app/Appbar.vue b/client/components/app/Appbar.vue index 4b5df213..7516457a 100644 --- a/client/components/app/Appbar.vue +++ b/client/components/app/Appbar.vue @@ -30,7 +30,7 @@ upload - + settings @@ -100,8 +100,8 @@ export default { user() { return this.$store.state.user.user }, - isRootUser() { - return this.$store.getters['user/getIsRoot'] + userIsAdminOrUp() { + return this.$store.getters['user/getIsAdminOrUp'] }, username() { return this.user ? this.user.username : 'err' diff --git a/client/components/app/BookShelfCategorized.vue b/client/components/app/BookShelfCategorized.vue index 0e624b1d..b7ac317b 100644 --- a/client/components/app/BookShelfCategorized.vue +++ b/client/components/app/BookShelfCategorized.vue @@ -7,9 +7,9 @@

Texture

-
+

{{ libraryName }} Library is empty!

-
+
Configure Scanner Scan Library
@@ -44,8 +44,8 @@ export default { } }, computed: { - isRootUser() { - return this.$store.getters['user/getIsRoot'] + userIsAdminOrUp() { + return this.$store.getters['user/getIsAdminOrUp'] }, showExperimentalFeatures() { return this.$store.state.showExperimentalFeatures diff --git a/client/components/app/ConfigSideNav.vue b/client/components/app/ConfigSideNav.vue index f2574fc2..4b0cf8cf 100644 --- a/client/components/app/ConfigSideNav.vue +++ b/client/components/app/ConfigSideNav.vue @@ -25,11 +25,11 @@ export default { return {} }, computed: { - userIsRoot() { - return this.$store.getters['user/getIsRoot'] + userIsAdminOrUp() { + return this.$store.getters['user/getIsAdminOrUp'] }, configRoutes() { - if (!this.userIsRoot) { + if (!this.userIsAdminOrUp) { return [ { id: 'config-stats', diff --git a/client/components/app/LazyBookshelf.vue b/client/components/app/LazyBookshelf.vue index 7f78d560..6ff1e4ae 100644 --- a/client/components/app/LazyBookshelf.vue +++ b/client/components/app/LazyBookshelf.vue @@ -6,9 +6,9 @@
-
+

{{ libraryName }} Library is empty!

-
+
Configure Scanner Scan Library
@@ -79,8 +79,8 @@ export default { } }, computed: { - isRootUser() { - return this.$store.getters['user/getIsRoot'] + userIsAdminOrUp() { + return this.$store.getters['user/getIsAdminOrUp'] }, showExperimentalFeatures() { return this.$store.state.showExperimentalFeatures diff --git a/client/components/cards/LazyBookCard.vue b/client/components/cards/LazyBookCard.vue index d3ff4a77..0813af5e 100644 --- a/client/components/cards/LazyBookCard.vue +++ b/client/components/cards/LazyBookCard.vue @@ -343,8 +343,8 @@ export default { userCanDownload() { return this.store.getters['user/getUserCanDownload'] }, - userIsRoot() { - return this.store.getters['user/getIsRoot'] + userIsAdminOrUp() { + return this.$store.getters['user/getIsAdminOrUp'] }, moreMenuItems() { if (this.recentEpisode) { @@ -383,7 +383,7 @@ export default { text: 'Match' }) } - if (this.userIsRoot && !this.isFile) { + if (this.userIsAdminOrUp && !this.isFile) { items.push({ func: 'rescan', text: 'Re-Scan' diff --git a/client/components/modals/item/tabs/Details.vue b/client/components/modals/item/tabs/Details.vue index 5adb19a2..791a133b 100644 --- a/client/components/modals/item/tabs/Details.vue +++ b/client/components/modals/item/tabs/Details.vue @@ -10,11 +10,11 @@
- Quick Match + Quick Match - Re-Scan + Re-Scan Submit @@ -52,8 +52,8 @@ export default { isFile() { return !!this.libraryItem && this.libraryItem.isFile }, - isRootUser() { - return this.$store.getters['user/getIsRoot'] + userIsAdminOrUp() { + return this.$store.getters['user/getIsAdminOrUp'] }, isMissing() { return !!this.libraryItem && !!this.libraryItem.isMissing diff --git a/client/components/tables/UsersTable.vue b/client/components/tables/UsersTable.vue index a1c9d647..79e574d5 100644 --- a/client/components/tables/UsersTable.vue +++ b/client/components/tables/UsersTable.vue @@ -45,8 +45,8 @@
- -
+ +
edit
@@ -76,6 +76,9 @@ export default { currentUserId() { return this.$store.state.user.user.id }, + userIsRoot() { + return this.$store.getters['user/getIsRoot'] + }, usersOnline() { var usermap = {} this.$store.state.users.users.forEach((u) => (usermap[u.id] = { online: true, session: u.session })) diff --git a/client/pages/audiobook/_id/edit.vue b/client/pages/audiobook/_id/edit.vue index d7f19318..837ac8ad 100644 --- a/client/pages/audiobook/_id/edit.vue +++ b/client/pages/audiobook/_id/edit.vue @@ -134,9 +134,6 @@ export default { showExperimentalFeatures() { return this.$store.state.showExperimentalFeatures }, - isRootUser() { - return this.$store.getters['user/getIsRoot'] - }, media() { return this.libraryItem.media || {} }, diff --git a/client/pages/config.vue b/client/pages/config.vue index efd162b0..55f7b0ea 100644 --- a/client/pages/config.vue +++ b/client/pages/config.vue @@ -15,7 +15,7 @@