From 60b0aaa0b0ba1949218cffd320fc4ab4690ecbd2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Mon, 2 Oct 2023 15:22:09 +0200
Subject: [PATCH] Sesssion => gilab: move token from param to option

---
 .../session/Gitlab/SessionGitlabLoginCommand.ts  | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts b/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts
index 33ffe47..f7b156a 100644
--- a/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts
+++ b/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts
@@ -1,6 +1,7 @@
 import chalk            from 'chalk';
 import CommanderCommand from '../../CommanderCommand';
 import GitlabManager    from '../../../managers/GitlabManager';
+import inquirer         from 'inquirer';
 
 
 class SessionGitlabLoginCommand extends CommanderCommand {
@@ -9,14 +10,23 @@ class SessionGitlabLoginCommand extends CommanderCommand {
     protected defineCommand() {
         this.command
         .description('register the gitlab token')
-        .argument('<token>', 'personal access token from GitLab with api scope')
+        .option('-t, --token <string>', 'personal access token from GitLab with api scope')
         .action(this.commandAction.bind(this));
     }
 
-    protected async commandAction(token: string): Promise<void> {
+    protected async commandAction(options: any): Promise<void> {
+        if ( !options.token ) {
+            options.token = (await inquirer.prompt({
+                                                       type   : 'password',
+                                                       name   : 'token',
+                                                       message: 'Please enter your gitlab token',
+                                                       mask   : ''
+                                                   })).token;
+        }
+
         console.log(chalk.cyan('Please wait while we are testing your Gitlab token...'));
 
-        GitlabManager.login(token);
+        GitlabManager.login(options.token);
 
         await GitlabManager.testToken();
     }
-- 
GitLab