diff --git a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts index 681cb91df86a3b22108a23266b7fac1ca6a98dc7..6774283dc9d514259716f9d8871d131fdfe20f1c 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 30b6b887a24c93a85dbb7bacf2de957dc106fee6..1dc4db4b59110be3ef2f5151eb598dfd055e436b 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 ) {