From 95bfb79c0d64ac457654a04e021a1c142a82d842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Thu, 29 Jun 2023 18:09:46 +0200 Subject: [PATCH] EnonceCreate => Add template argument on creation --- NodeApp/src/commander/enonce/EnonceCreateCommand.ts | 9 +++++---- NodeApp/src/managers/DojoBackendManager.ts | 10 +++++----- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts index d0124a3..681cb91 100644 --- a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts +++ b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts @@ -90,6 +90,7 @@ class EnonceCreateCommand extends CommanderCommand { protected async commandAction(options: any): Promise<void> { let members!: Array<GitlabUser> | false; + let templateIdOrNamespace: string | null = null; // Check access and retrieve data { @@ -105,13 +106,13 @@ class EnonceCreateCommand extends CommanderCommand { } if ( options.template ) { - let templateIdOrNamespace: string = options.template; + templateIdOrNamespace = options.template; if ( Number.isNaN(Number(templateIdOrNamespace)) ) { - templateIdOrNamespace = encodeURIComponent(Toolbox.urlToPath(templateIdOrNamespace)); + templateIdOrNamespace = Toolbox.urlToPath(templateIdOrNamespace as string); } - if ( !await DojoBackendManager.checkTemplateAccess(templateIdOrNamespace) ) { + if ( !await DojoBackendManager.checkTemplateAccess(encodeURIComponent(templateIdOrNamespace as string)) ) { return; } } @@ -121,7 +122,7 @@ class EnonceCreateCommand extends CommanderCommand { { console.log(chalk.cyan('Please wait while we are creating the enonce...')); - const enonce = await DojoBackendManager.createProject(options.name, members); + const enonce = await DojoBackendManager.createProject(options.name, members, templateIdOrNamespace); console.log(enonce); } diff --git a/NodeApp/src/managers/DojoBackendManager.ts b/NodeApp/src/managers/DojoBackendManager.ts index 36d62b0..30b6b88 100644 --- a/NodeApp/src/managers/DojoBackendManager.ts +++ b/NodeApp/src/managers/DojoBackendManager.ts @@ -60,7 +60,7 @@ class DojoBackendManager { } } - public async createProject(name: string, members: Array<GitlabUser>, verbose: boolean = true): Promise<Enonce> { + public async createProject(name: string, members: Array<GitlabUser>, templateIdOrNamespace: string | null, verbose: boolean = true): Promise<Enonce> { const spinner: ora.Ora = ora('Creating enonce...'); if ( verbose ) { @@ -68,10 +68,10 @@ class DojoBackendManager { } try { - const response = await axios.post<Enonce>(this.getApiUrl(ApiRoutes.ENONCE_CREATE), { - name : name, - members: JSON.stringify(members) - }); + const response = await axios.post<Enonce>(this.getApiUrl(ApiRoutes.ENONCE_CREATE), Object.assign({ + name : name, + members: JSON.stringify(members) + }, templateIdOrNamespace ? { template: templateIdOrNamespace } : {})); return response.data; } catch ( error ) { -- GitLab