From 17f7e08dd09c20968e8b6797309916fc42430b64 Mon Sep 17 00:00:00 2001 From: Mark <mark@openappstack.net> Date: Mon, 11 Nov 2019 17:14:23 +0100 Subject: [PATCH] Refactor create user --- frontend/api/model.js | 17 +++++++++++++++++ frontend/pages/users.vue | 37 +++++++++++++------------------------ 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/frontend/api/model.js b/frontend/api/model.js index 6041319..0ba8d7c 100644 --- a/frontend/api/model.js +++ b/frontend/api/model.js @@ -85,6 +85,23 @@ export default class OpenAppStackModel { return roles; }); } + createUser(username, email, password){ + const vars = { username: username, email: email, password: password }; + const createUserMutation = ` + mutation createUser($username: String!, $email: String!, $password: String!){ + createUser( + username: $username, + email: $email, + password: $password + ){ + user{ username, email } + } + }`; + return this.graphQlClient.query(createUserMutation, vars) + .then( user => { + return user; + }); + } editUser(username, email, password){ const vars = { username: username, email: email, password: password }; const editUserMutation = ` diff --git a/frontend/pages/users.vue b/frontend/pages/users.vue index 3236757..a589117 100644 --- a/frontend/pages/users.vue +++ b/frontend/pages/users.vue @@ -127,30 +127,19 @@ export default { } }, addUser: function(){ - const newUser = axios.post( - '/api/admin/graphql', { - query: 'mutation{createUser(username: "' + this.newUser.username + '", password: "'+ this.newUser.password.replace(/"/gi, '\\"') + '", email: "' + this.newUser.email + '"){user{username, email}}}' - }).then((res) => { - if (res.data.errors){ - console.log(res.data.errors) - } - else { - var newUser = res.data.data.createUser.user; - var index = this.users.push({ - username: newUser.username, - email: newUser.email, - password: undefined, - roles: [], - applications: [], - }) - index--; - this.newUser.username = ""; - this.newUser.password = undefined - this.newUser.email = ""; - this.toggleAddUser() - } - }).catch((e) => { - console.log(e) + backend.createUser(this.newUser.username, this.newUser.email, this.newUser.password) + .then( user => { + this.users.push({ + username: this.newUser.username, + email: this.newUser.email, + password: undefined, + roles: [], + applications: [] + }); + this.newUser.username = ""; + this.newUser.password = undefined + this.newUser.email = ""; + this.toggleAddUser() }); }, cancelAddUser: function(){ -- GitLab