From d02909da8dfbde56f4219b6f5c81ab1ca8cd58bb Mon Sep 17 00:00:00 2001
From: "vincent.steinman" <vincent.steinmann@etu.hesge.ch>
Date: Sun, 17 Mar 2024 19:25:00 +0100
Subject: [PATCH] tag command CLI

---
 NodeApp/src/commander/CommanderApp.ts      |  2 ++
 NodeApp/src/managers/DojoBackendManager.ts | 15 +++++++++++++++
 NodeApp/src/sharedByClients                |  2 +-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/NodeApp/src/commander/CommanderApp.ts b/NodeApp/src/commander/CommanderApp.ts
index 7cb5952..11a70b0 100644
--- a/NodeApp/src/commander/CommanderApp.ts
+++ b/NodeApp/src/commander/CommanderApp.ts
@@ -13,6 +13,7 @@ import AuthCommand         from './auth/AuthCommand.js';
 import SessionCommand      from './auth/SessionCommand.js';
 import UpgradeCommand      from './UpgradeCommand.js';
 import TextStyle           from '../types/TextStyle.js';
+import TagCommand from './tags/TagCommand';
 
 
 class CommanderApp {
@@ -118,6 +119,7 @@ ${ TextStyle.CODE(' dojo upgrade ') }`, {
         SessionCommand.registerOnCommand(this.program);
         AssignmentCommand.registerOnCommand(this.program);
         ExerciseCommand.registerOnCommand(this.program);
+        TagCommand.registerOnCommand(this.program);
         CompletionCommand.registerOnCommand(this.program);
         UpgradeCommand.registerOnCommand(this.program);
     }
diff --git a/NodeApp/src/managers/DojoBackendManager.ts b/NodeApp/src/managers/DojoBackendManager.ts
index 8c8a5a9..2235ffd 100644
--- a/NodeApp/src/managers/DojoBackendManager.ts
+++ b/NodeApp/src/managers/DojoBackendManager.ts
@@ -249,6 +249,21 @@ class DojoBackendManager {
             return false;
         }
     }
+    public async addTag(name : string, type: string) : Promise<User> {
+        return (await axios.post<DojoBackendResponse<User>>(this.getApiUrl(ApiRoute.ADD_TAG).replace('{{tageName}}', name).replace('{{tagType}}', type))).data.data;
+    }
+    public async deleteTag(name : string) : Promise<User> {
+        return (await axios.delete<DojoBackendResponse<User>>(this.getApiUrl(ApiRoute.DELETE_TAG).replace('{{tageName}}', name))).data.data;
+    }
+    public async getProposeTag(name : string) : Promise<User> {
+        return (await axios.get<DojoBackendResponse<User>>(this.getApiUrl(ApiRoute.PROPOSE_TAG).replace('{{tageName}}', name))).data.data;
+    }
+    public async postProposeTag(name : string, type: string) : Promise<User> {
+        return (await axios.post<DojoBackendResponse<User>>(this.getApiUrl(ApiRoute.PROPOSE_TAG).replace('{{tageName}}', name).replace('{{tagType}}', type))).data.data;
+    }
+    public async answerProposeTag(name : string) : Promise<User> {
+        return (await axios.patch<DojoBackendResponse<User>>(this.getApiUrl(ApiRoute.ANSWER_TAG_PROPOSAL).replace('{{tageName}}', name))).data.data;
+    }
 }
 
 
diff --git a/NodeApp/src/sharedByClients b/NodeApp/src/sharedByClients
index 55a94e7..60ce399 160000
--- a/NodeApp/src/sharedByClients
+++ b/NodeApp/src/sharedByClients
@@ -1 +1 @@
-Subproject commit 55a94e77db69635e1ca837a52de29cb04d0b4138
+Subproject commit 60ce3995edec4f907f62dd03a32cc24660de51b1
-- 
GitLab