From 7c642e2573255bdbdf6b19291199d68bf3b3795f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Thu, 29 Jun 2023 19:01:16 +0200 Subject: [PATCH] EnonceCreate => Add confirmation message with informations --- .../commander/enonce/EnonceCreateCommand.ts | 22 ++++++++++++++++--- NodeApp/src/managers/DojoBackendManager.ts | 15 ++++++++----- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts index 681cb91..6774283 100644 --- a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts +++ b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts @@ -6,6 +6,7 @@ import SessionManager from '../../managers/SessionManager'; import GitlabUser from '../../shared/types/Gitlab/GitlabUser'; import DojoBackendManager from '../../managers/DojoBackendManager'; import Toolbox from '../../shared/Toolbox'; +import Enonce from '../../types/Enonce'; class EnonceCreateCommand extends CommanderCommand { @@ -122,9 +123,24 @@ class EnonceCreateCommand extends CommanderCommand { { console.log(chalk.cyan('Please wait while we are creating the enonce...')); - const enonce = await DojoBackendManager.createProject(options.name, members, templateIdOrNamespace); - - console.log(enonce); + try { + const enonce: Enonce = await DojoBackendManager.createProject(options.name, members, templateIdOrNamespace); + + const oraInfo = (message: string) => { + ora({ + text : message, + indent: 4 + }).start().info(); + }; + + oraInfo(`Dojo ID: ${ enonce.id }`); + oraInfo(`Name: ${ enonce.name }`); + oraInfo(`Web URL: ${ enonce.gitlabCreationInfo.web_url }`); + oraInfo(`HTTP Repo: ${ enonce.gitlabCreationInfo.http_url_to_repo }`); + oraInfo(`SSH Repo: ${ enonce.gitlabCreationInfo.ssh_url_to_repo }`); + } catch ( error ) { + return; + } } } } diff --git a/NodeApp/src/managers/DojoBackendManager.ts b/NodeApp/src/managers/DojoBackendManager.ts index 30b6b88..1dc4db4 100644 --- a/NodeApp/src/managers/DojoBackendManager.ts +++ b/NodeApp/src/managers/DojoBackendManager.ts @@ -5,6 +5,7 @@ import ApiRoutes from '../types/ApiRoutes'; import { StatusCodes } from 'http-status-codes'; import Enonce from '../types/Enonce'; import GitlabUser from '../shared/types/Gitlab/GitlabUser'; +import DojoResponse from '../types/DojoResponse'; class DojoBackendManager { @@ -68,12 +69,16 @@ class DojoBackendManager { } try { - const response = await axios.post<Enonce>(this.getApiUrl(ApiRoutes.ENONCE_CREATE), Object.assign({ - name : name, - members: JSON.stringify(members) - }, templateIdOrNamespace ? { template: templateIdOrNamespace } : {})); + const response = await axios.post<DojoResponse<Enonce>>(this.getApiUrl(ApiRoutes.ENONCE_CREATE), Object.assign({ + name : name, + members: JSON.stringify(members) + }, templateIdOrNamespace ? { template: templateIdOrNamespace } : {})); - return response.data; + if ( verbose ) { + spinner.succeed(`Enonce successfully created`); + } + + return response.data.data; } catch ( error ) { if ( verbose ) { if ( error instanceof AxiosError ) { -- GitLab