From 130284cc2e7393cc6fb7fb4f9fe6033a9773a24b Mon Sep 17 00:00:00 2001
From: Mark <mark@openappstack.net>
Date: Mon, 11 Nov 2019 16:38:04 +0100
Subject: [PATCH] Refactor add application to user

---
 frontend/api/model.js    | 16 ++++++++++++++++
 frontend/pages/users.vue |  9 +++------
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/frontend/api/model.js b/frontend/api/model.js
index 5d30a49..8ad372b 100644
--- a/frontend/api/model.js
+++ b/frontend/api/model.js
@@ -118,4 +118,20 @@ export default class OpenAppStackModel {
         return ok;
       });
   }
+  addApplicationToUser(username, application){
+    const vars = { username: username, application: application };
+    const addApplicationToUser = `
+        mutation addApplicationToUser($username: String!, $application: String!){
+          addApplicationToUser(
+            username: $username,
+            application: $application
+          ){
+            user{ username }
+          }
+        }`;
+    return this.graphQlClient.query(addApplicationToUser, vars)
+      .then( ok => {
+        return ok;
+      });
+  }
 }
diff --git a/frontend/pages/users.vue b/frontend/pages/users.vue
index 100b5f5..a8fbce9 100644
--- a/frontend/pages/users.vue
+++ b/frontend/pages/users.vue
@@ -82,12 +82,9 @@ export default {
       user.applications.forEach( app => {
         var appObj = this.applications.find(element => {return element.name == app});
         if (!appObj.users.includes(username)){
-          var addAppMutation = 'mutation{addApplicationToUser( application: "' + app + '", username: "' + username +'"){user{username}, application{name}}}'
-          axios.post(
-            '/api/admin/graphql', {
-                query: addAppMutation
-                }).then((res) => {
-                    appObj.users.push(username);
+          backend.addApplicationToUser(user.username, app)
+            .then( ok => {
+                appObj.users.push(username);
             });
           }
         });
-- 
GitLab