From 31e9b01731cc4ccff88a0dd214fef95c85eb1fee Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Mon, 11 Nov 2019 16:44:10 +0100 Subject: [PATCH] Refactor remove role from user --- frontend/api/model.js | 16 ++++++++++++++++ frontend/pages/users.vue | 12 ++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/frontend/api/model.js b/frontend/api/model.js index 8ad372b..6041319 100644 --- a/frontend/api/model.js +++ b/frontend/api/model.js @@ -134,4 +134,20 @@ export default class OpenAppStackModel { return ok; }); } + removeRoleFromUser(username, role){ + const vars = { username: username, role: role }; + const removeRoleFromUser = ` + mutation removeRoleFromUser($username: String!, $role: String!){ + removeRoleFromUser( + username: $username, + role: $role + ){ + ok + } + }`; + return this.graphQlClient.query(removeRoleFromUser, vars) + .then( ok => { + return ok; + }); + } } diff --git a/frontend/pages/users.vue b/frontend/pages/users.vue index a8fbce9..02b5e4e 100644 --- a/frontend/pages/users.vue +++ b/frontend/pages/users.vue @@ -90,15 +90,11 @@ export default { }); this.roles.forEach( role => { if(role.users.includes(username) && !user.roles.includes(role.name)){ - var rmRoleMutation = 'mutation{removeRoleFromUser( role: "' + role.name + '", username: "' + username +'"){ok}}' - axios.post( - '/api/admin/graphql', { - query: rmRoleMutation - }).then((res) => { - role.users.splice(role.users.findIndex( element => { return element == username }),1); - }); + backend.removeRoleFromUser(user.username, role) + .then( ok => { + role.users.splice(role.users.findIndex( element => { return element == username }),1); + }); } - }) }, selectRole: function(roleName){ -- GitLab