From 6c42e8e8c930b892ada9240de23baca58f614cf7 Mon Sep 17 00:00:00 2001 From: adriano Date: Thu, 13 Jan 2022 07:05:08 -0300 Subject: [PATCH] =?UTF-8?q?Defini=C3=A7=C3=A3o=20do=20usu=C3=A1rio=20maste?= =?UTF-8?q?r=20que=20tem=20acesso=20a=20create=20e=20insert=20alem=20de=20?= =?UTF-8?q?todas=20as=20a=C3=A7=C3=B5es=20do=20admin.=20Aqui=20o=20usu?= =?UTF-8?q?=C3=A1rio=20admin=20n=C3=A3o=20pode=20mais=20excluir=20ou=20inc?= =?UTF-8?q?luir=20um=20novo=20usu=C3=A1rio=20ou=20whatssap!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/controllers/SettingController.ts | 4 ++-- backend/src/controllers/UserController.ts | 12 ++++++------ .../UserServices/CreateUserService.ts | 2 +- frontend/src/rules.js | 19 +++++++++++++++++++ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/backend/src/controllers/SettingController.ts b/backend/src/controllers/SettingController.ts index ff9c01f..10b7f8e 100644 --- a/backend/src/controllers/SettingController.ts +++ b/backend/src/controllers/SettingController.ts @@ -7,7 +7,7 @@ import UpdateSettingService from "../services/SettingServices/UpdateSettingServi import ListSettingsService from "../services/SettingServices/ListSettingsService"; export const index = async (req: Request, res: Response): Promise => { - if (req.user.profile !== "admin") { + if (req.user.profile !== "master") { throw new AppError("ERR_NO_PERMISSION", 403); } @@ -20,7 +20,7 @@ export const update = async ( req: Request, res: Response ): Promise => { - if (req.user.profile !== "admin") { + if (req.user.profile !== "master") { throw new AppError("ERR_NO_PERMISSION", 403); } const { settingKey: key } = req.params; diff --git a/backend/src/controllers/UserController.ts b/backend/src/controllers/UserController.ts index 06d329d..d56a308 100644 --- a/backend/src/controllers/UserController.ts +++ b/backend/src/controllers/UserController.ts @@ -23,18 +23,18 @@ export const index = async (req: Request, res: Response): Promise => { pageNumber }); + + + return res.json({ users, count, hasMore }); }; export const store = async (req: Request, res: Response): Promise => { const { email, password, name, profile, queueIds } = req.body; - if ( - req.url === "/signup" && - (await CheckSettingsHelper("userCreation")) === "disabled" - ) { + if (req.url === "/signup" && (await CheckSettingsHelper("userCreation")) === "disabled") { throw new AppError("ERR_USER_CREATION_DISABLED", 403); - } else if (req.url !== "/signup" && req.user.profile !== "admin") { + } else if (req.url !== "/signup" && req.user.profile !== "master") { throw new AppError("ERR_NO_PERMISSION", 403); } @@ -91,7 +91,7 @@ export const remove = async ( ): Promise => { const { userId } = req.params; - if (req.user.profile !== "admin") { + if (req.user.profile !== "master") { throw new AppError("ERR_NO_PERMISSION", 403); } diff --git a/backend/src/services/UserServices/CreateUserService.ts b/backend/src/services/UserServices/CreateUserService.ts index 098846b..7c62365 100644 --- a/backend/src/services/UserServices/CreateUserService.ts +++ b/backend/src/services/UserServices/CreateUserService.ts @@ -24,7 +24,7 @@ const CreateUserService = async ({ password, name, queueIds = [], - profile = "admin" + profile = "master" }: Request): Promise => { const schema = Yup.object().shape({ name: Yup.string().required().min(2), diff --git a/frontend/src/rules.js b/frontend/src/rules.js index db3b085..04eb6fd 100644 --- a/frontend/src/rules.js +++ b/frontend/src/rules.js @@ -19,6 +19,25 @@ const rules = { "settings-view:show", ], }, + + master: { + static: [ + "drawer-admin-items:view", + "tickets-manager:showall", + "user-modal:editProfile", + "user-modal:editQueues", + "ticket-options:deleteTicket", + "contacts-page:deleteContact", + + "connections-view:show", + "dashboard-view:show", + "queues-view:show", + "user-view:show", + "settings-view:show", + + //"remove-user-test" + ], + }, }; export default rules;