From 9ebfe498516e3494e1baa9dddeca2983406500f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me>
Date: Thu, 22 Feb 2024 15:35:05 +0100
Subject: [PATCH] SessionCommand => Move 'session' command to 'auth' command

Keep 'session' command but hidden
---
 NodeApp/src/commander/CommanderApp.ts               |  4 +++-
 .../SessionCommand.ts => auth/AuthCommand.ts}       | 12 ++++++------
 NodeApp/src/commander/auth/SessionCommand.ts        | 13 +++++++++++++
 .../subcommands/AuthLoginCommand.ts}                |  4 ++--
 .../subcommands/AuthLogoutCommand.ts}               |  4 ++--
 .../subcommands/AuthTestCommand.ts}                 |  4 ++--
 6 files changed, 28 insertions(+), 13 deletions(-)
 rename NodeApp/src/commander/{session/SessionCommand.ts => auth/AuthCommand.ts} (57%)
 create mode 100644 NodeApp/src/commander/auth/SessionCommand.ts
 rename NodeApp/src/commander/{session/subcommands/SessionLoginCommand.ts => auth/subcommands/AuthLoginCommand.ts} (88%)
 rename NodeApp/src/commander/{session/subcommands/SessionLogoutCommand.ts => auth/subcommands/AuthLogoutCommand.ts} (93%)
 rename NodeApp/src/commander/{session/subcommands/SessionTestCommand.ts => auth/subcommands/AuthTestCommand.ts} (86%)

diff --git a/NodeApp/src/commander/CommanderApp.ts b/NodeApp/src/commander/CommanderApp.ts
index f32b3d7..9da8322 100644
--- a/NodeApp/src/commander/CommanderApp.ts
+++ b/NodeApp/src/commander/CommanderApp.ts
@@ -1,5 +1,5 @@
 import { Command, Option } from 'commander';
-import SessionCommand      from './session/SessionCommand';
+import AuthCommand         from './auth/AuthCommand';
 import ClientsSharedConfig from '../sharedByClients/config/ClientsSharedConfig';
 import AssignmentCommand   from './assignment/AssignmentCommand';
 import ExerciseCommand     from './exercise/ExerciseCommand';
@@ -9,6 +9,7 @@ import { stateConfigFile } from '../config/ConfigFiles';
 import semver              from 'semver/preload';
 import { version }         from '../config/Version';
 import Config              from '../config/Config';
+import SessionCommand      from './auth/SessionCommand';
 
 
 class CommanderApp {
@@ -90,6 +91,7 @@ https://gitedu.hesge.ch/dojo_project/projects/ui/dojocli/-/releases/Latest`, {
     }
 
     private registerCommands() {
+        new AuthCommand().registerOnCommand(this.program);
         SessionCommand.registerOnCommand(this.program);
         AssignmentCommand.registerOnCommand(this.program);
         ExerciseCommand.registerOnCommand(this.program);
diff --git a/NodeApp/src/commander/session/SessionCommand.ts b/NodeApp/src/commander/auth/AuthCommand.ts
similarity index 57%
rename from NodeApp/src/commander/session/SessionCommand.ts
rename to NodeApp/src/commander/auth/AuthCommand.ts
index 6dff026..c5f4e00 100644
--- a/NodeApp/src/commander/session/SessionCommand.ts
+++ b/NodeApp/src/commander/auth/AuthCommand.ts
@@ -1,11 +1,11 @@
 import CommanderCommand     from '../CommanderCommand';
-import SessionTestCommand   from './subcommands/SessionTestCommand';
-import SessionLoginCommand  from './subcommands/SessionLoginCommand';
-import SessionLogoutCommand from './subcommands/SessionLogoutCommand';
+import SessionTestCommand   from './subcommands/AuthTestCommand';
+import SessionLoginCommand  from './subcommands/AuthLoginCommand';
+import SessionLogoutCommand from './subcommands/AuthLogoutCommand';
 
 
-class SessionCommand extends CommanderCommand {
-    protected commandName: string = 'session';
+class AuthCommand extends CommanderCommand {
+    protected commandName: string = 'auth';
 
     protected defineCommand() {
         this.command
@@ -22,4 +22,4 @@ class SessionCommand extends CommanderCommand {
 }
 
 
-export default new SessionCommand();
\ No newline at end of file
+export default AuthCommand;
\ No newline at end of file
diff --git a/NodeApp/src/commander/auth/SessionCommand.ts b/NodeApp/src/commander/auth/SessionCommand.ts
new file mode 100644
index 0000000..75fe630
--- /dev/null
+++ b/NodeApp/src/commander/auth/SessionCommand.ts
@@ -0,0 +1,13 @@
+import AuthCommand        from './AuthCommand';
+import { CommandOptions } from 'commander';
+
+
+class SessionCommand extends AuthCommand {
+    protected commandName: string = 'session';
+    protected options: CommandOptions = {
+        hidden: true
+    };
+}
+
+
+export default new SessionCommand();
\ No newline at end of file
diff --git a/NodeApp/src/commander/session/subcommands/SessionLoginCommand.ts b/NodeApp/src/commander/auth/subcommands/AuthLoginCommand.ts
similarity index 88%
rename from NodeApp/src/commander/session/subcommands/SessionLoginCommand.ts
rename to NodeApp/src/commander/auth/subcommands/AuthLoginCommand.ts
index d9061e2..3bc4586 100644
--- a/NodeApp/src/commander/session/subcommands/SessionLoginCommand.ts
+++ b/NodeApp/src/commander/auth/subcommands/AuthLoginCommand.ts
@@ -3,7 +3,7 @@ import CommanderCommand from '../../CommanderCommand';
 import SessionManager   from '../../../managers/SessionManager';
 
 
-class SessionLoginCommand extends CommanderCommand {
+class AuthLoginCommand extends CommanderCommand {
     protected commandName: string = 'login';
 
     protected defineCommand() {
@@ -22,4 +22,4 @@ class SessionLoginCommand extends CommanderCommand {
 }
 
 
-export default new SessionLoginCommand();
\ No newline at end of file
+export default new AuthLoginCommand();
\ No newline at end of file
diff --git a/NodeApp/src/commander/session/subcommands/SessionLogoutCommand.ts b/NodeApp/src/commander/auth/subcommands/AuthLogoutCommand.ts
similarity index 93%
rename from NodeApp/src/commander/session/subcommands/SessionLogoutCommand.ts
rename to NodeApp/src/commander/auth/subcommands/AuthLogoutCommand.ts
index e71d882..bce2444 100644
--- a/NodeApp/src/commander/session/subcommands/SessionLogoutCommand.ts
+++ b/NodeApp/src/commander/auth/subcommands/AuthLogoutCommand.ts
@@ -4,7 +4,7 @@ import ora              from 'ora';
 import SessionManager   from '../../../managers/SessionManager';
 
 
-class SessionLogoutCommand extends CommanderCommand {
+class AuthLogoutCommand extends CommanderCommand {
     protected commandName: string = 'logout';
 
     protected defineCommand() {
@@ -35,4 +35,4 @@ class SessionLogoutCommand extends CommanderCommand {
 }
 
 
-export default new SessionLogoutCommand();
\ No newline at end of file
+export default new AuthLogoutCommand();
\ No newline at end of file
diff --git a/NodeApp/src/commander/session/subcommands/SessionTestCommand.ts b/NodeApp/src/commander/auth/subcommands/AuthTestCommand.ts
similarity index 86%
rename from NodeApp/src/commander/session/subcommands/SessionTestCommand.ts
rename to NodeApp/src/commander/auth/subcommands/AuthTestCommand.ts
index 57c1bf0..d1f57e6 100644
--- a/NodeApp/src/commander/session/subcommands/SessionTestCommand.ts
+++ b/NodeApp/src/commander/auth/subcommands/AuthTestCommand.ts
@@ -3,7 +3,7 @@ import SessionManager   from '../../../managers/SessionManager';
 import GitlabManager    from '../../../managers/GitlabManager';
 
 
-class SessionTestCommand extends CommanderCommand {
+class AuthTestCommand extends CommanderCommand {
     protected commandName: string = 'test';
 
     protected defineCommand() {
@@ -19,4 +19,4 @@ class SessionTestCommand extends CommanderCommand {
 }
 
 
-export default new SessionTestCommand();
\ No newline at end of file
+export default new AuthTestCommand();
\ No newline at end of file
-- 
GitLab