diff --git a/NodeApp/src/commander/CommanderCommand.ts b/NodeApp/src/commander/CommanderCommand.ts index f4c9bea4bc5a9dcd931a4992efa7328245f06534..7d2c2ccb1e9dd7be9ad3478f79664f08b848c4e7 100644 --- a/NodeApp/src/commander/CommanderCommand.ts +++ b/NodeApp/src/commander/CommanderCommand.ts @@ -5,8 +5,6 @@ abstract class CommanderCommand { protected abstract commandName: string; command: Command = new Command(); - protected constructor() {} - registerOnCommand(parent: Command) { this.command = parent.command(this.commandName); diff --git a/NodeApp/src/commander/enonce/EnonceCommand.ts b/NodeApp/src/commander/enonce/EnonceCommand.ts index 1594e6187339b0f6209eb9c5f6b98423e2d759cc..dc3a5f3a4cf399998813aa2d1720911ef4a2ee71 100644 --- a/NodeApp/src/commander/enonce/EnonceCommand.ts +++ b/NodeApp/src/commander/enonce/EnonceCommand.ts @@ -1,22 +1,12 @@ -import CommanderCommand from '../CommanderCommand'; -import EnonceCreateCommand from './EnonceCreateCommand'; +import CommanderCommand from '../CommanderCommand'; +import EnonceCreateCommand from './EnonceCreateCommand'; +import EnoncePublishCommand from './EnoncePublishCommand'; +import EnonceUnpublishCommand from './EnonceUnpublishCommand'; class EnonceCommand extends CommanderCommand { protected commandName: string = 'enonce'; - private static _instance: EnonceCommand; - - private constructor() { super(); } - - public static get instance(): EnonceCommand { - if ( !EnonceCommand._instance ) { - EnonceCommand._instance = new EnonceCommand(); - } - - return EnonceCommand._instance; - } - protected defineCommand() { this.command .description('manage an enonce'); @@ -24,10 +14,12 @@ class EnonceCommand extends CommanderCommand { protected defineSubCommands() { EnonceCreateCommand.registerOnCommand(this.command); + EnoncePublishCommand.registerOnCommand(this.command); + EnonceUnpublishCommand.registerOnCommand(this.command); } protected async commandAction(options: any): Promise<void> { } } -export default EnonceCommand.instance; \ No newline at end of file +export default new EnonceCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts index 537b899a2ceabbdec27f95f9f6e5432583b16f81..2ea03fb4d7afb81cab400935dd418c8db60e5478 100644 --- a/NodeApp/src/commander/enonce/EnonceCreateCommand.ts +++ b/NodeApp/src/commander/enonce/EnonceCreateCommand.ts @@ -11,19 +11,7 @@ import Toolbox from '../../shared/helpers/Toolbox'; class EnonceCreateCommand extends CommanderCommand { protected commandName: string = 'create'; - - private static _instance: EnonceCreateCommand; - - private constructor() { super(); } - - public static get instance(): EnonceCreateCommand { - if ( !EnonceCreateCommand._instance ) { - EnonceCreateCommand._instance = new EnonceCreateCommand(); - } - - return EnonceCreateCommand._instance; - } - + protected defineCommand() { this.command .description('create a new repository for an enonce') @@ -107,4 +95,4 @@ class EnonceCreateCommand extends CommanderCommand { } -export default EnonceCreateCommand.instance; \ No newline at end of file +export default new EnonceCreateCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/exercice/ExerciceCommand.ts b/NodeApp/src/commander/exercice/ExerciceCommand.ts index 7833c5719a10af723351c59511095535a4f5a8a9..da670d46f3dab00e8d10258b4d73ce3217d43d54 100644 --- a/NodeApp/src/commander/exercice/ExerciceCommand.ts +++ b/NodeApp/src/commander/exercice/ExerciceCommand.ts @@ -5,18 +5,6 @@ import ExerciceCreateCommand from './ExerciceCreateCommand'; class ExerciceCommand extends CommanderCommand { protected commandName: string = 'exercice'; - private static _instance: ExerciceCommand; - - private constructor() { super(); } - - public static get instance(): ExerciceCommand { - if ( !ExerciceCommand._instance ) { - ExerciceCommand._instance = new ExerciceCommand(); - } - - return ExerciceCommand._instance; - } - protected defineCommand() { this.command .description('manage an exercice'); @@ -30,4 +18,4 @@ class ExerciceCommand extends CommanderCommand { } -export default ExerciceCommand.instance; \ No newline at end of file +export default new ExerciceCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/exercice/ExerciceCreateCommand.ts b/NodeApp/src/commander/exercice/ExerciceCreateCommand.ts index a3c0fdc9d6893856a087a7e2d78634a111c6c435..015b780c9dfc963175eaf267f8c29f12d2a9e342 100644 --- a/NodeApp/src/commander/exercice/ExerciceCreateCommand.ts +++ b/NodeApp/src/commander/exercice/ExerciceCreateCommand.ts @@ -12,18 +12,6 @@ import Exercice from '../../types/Exercice'; class ExerciceCreateCommand extends CommanderCommand { protected commandName: string = 'create'; - private static _instance: ExerciceCreateCommand; - - private constructor() { super(); } - - public static get instance(): ExerciceCreateCommand { - if ( !ExerciceCreateCommand._instance ) { - ExerciceCreateCommand._instance = new ExerciceCreateCommand(); - } - - return ExerciceCreateCommand._instance; - } - protected defineCommand() { this.command .description('create a new exercice from an enonce') @@ -111,4 +99,4 @@ class ExerciceCreateCommand extends CommanderCommand { } -export default ExerciceCreateCommand.instance; \ No newline at end of file +export default new ExerciceCreateCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/App/SessionAppCommand.ts b/NodeApp/src/commander/session/App/SessionAppCommand.ts index 29b3f0836cdb9e25313d6dfa163379d71e136c6d..d0c943b10a8f3a38fe93fd245c0c533582bffd8e 100644 --- a/NodeApp/src/commander/session/App/SessionAppCommand.ts +++ b/NodeApp/src/commander/session/App/SessionAppCommand.ts @@ -6,18 +6,6 @@ import SessionAppLogoutCommand from './SessionAppLogoutCommand'; class SessionAppCommand extends CommanderCommand { protected commandName: string = 'application'; - private static _instance: SessionAppCommand; - - private constructor() { super(); } - - public static get instance(): SessionAppCommand { - if ( !SessionAppCommand._instance ) { - SessionAppCommand._instance = new SessionAppCommand(); - } - - return SessionAppCommand._instance; - } - protected defineCommand() { this.command .description('manage application session'); @@ -32,4 +20,4 @@ class SessionAppCommand extends CommanderCommand { } -export default SessionAppCommand.instance; \ No newline at end of file +export default new SessionAppCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/App/SessionAppLoginCommand.ts b/NodeApp/src/commander/session/App/SessionAppLoginCommand.ts index 4b03d6cb561098b54820f3f1eb84271f48839a26..514353fd4f34e498125eee4e9427ba5c9cef3790 100644 --- a/NodeApp/src/commander/session/App/SessionAppLoginCommand.ts +++ b/NodeApp/src/commander/session/App/SessionAppLoginCommand.ts @@ -7,18 +7,6 @@ import SessionManager from '../../../managers/SessionManager'; class SessionAppLoginCommand extends CommanderCommand { protected commandName: string = 'login'; - private static _instance: SessionAppLoginCommand; - - private constructor() { super(); } - - public static get instance(): SessionAppLoginCommand { - if ( !SessionAppLoginCommand._instance ) { - SessionAppLoginCommand._instance = new SessionAppLoginCommand(); - } - - return SessionAppLoginCommand._instance; - } - protected defineCommand() { this.command .description('login into the application') @@ -46,4 +34,4 @@ class SessionAppLoginCommand extends CommanderCommand { } -export default SessionAppLoginCommand.instance; \ No newline at end of file +export default new SessionAppLoginCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/App/SessionAppLogoutCommand.ts b/NodeApp/src/commander/session/App/SessionAppLogoutCommand.ts index e91555df8310801d02e2514de102a00aec6ee5e8..650440d8396647ecfc4d634b4eda32347c2473b6 100644 --- a/NodeApp/src/commander/session/App/SessionAppLogoutCommand.ts +++ b/NodeApp/src/commander/session/App/SessionAppLogoutCommand.ts @@ -7,18 +7,6 @@ import ora from 'ora'; class SessionAppLogoutCommand extends CommanderCommand { protected commandName: string = 'logout'; - private static _instance: SessionAppLogoutCommand; - - private constructor() { super(); } - - public static get instance(): SessionAppLogoutCommand { - if ( !SessionAppLogoutCommand._instance ) { - SessionAppLogoutCommand._instance = new SessionAppLogoutCommand(); - } - - return SessionAppLogoutCommand._instance; - } - protected defineCommand() { this.command .description('logout of the application') @@ -47,4 +35,4 @@ class SessionAppLogoutCommand extends CommanderCommand { } -export default SessionAppLogoutCommand.instance; \ No newline at end of file +export default new SessionAppLogoutCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/Gitlab/SessionGitlabCommand.ts b/NodeApp/src/commander/session/Gitlab/SessionGitlabCommand.ts index 58cb860ae02f00e59751b2df309c83fe992a1fed..3662faa1e86d0d7f0d78ac71de71c4c4c02254ca 100644 --- a/NodeApp/src/commander/session/Gitlab/SessionGitlabCommand.ts +++ b/NodeApp/src/commander/session/Gitlab/SessionGitlabCommand.ts @@ -6,18 +6,6 @@ import SessionGitlabLogoutCommand from './SessionGitlabLogoutCommand'; class SessionGitlabCommand extends CommanderCommand { protected commandName: string = 'gitlab'; - private static _instance: SessionGitlabCommand; - - private constructor() { super(); } - - public static get instance(): SessionGitlabCommand { - if ( !SessionGitlabCommand._instance ) { - SessionGitlabCommand._instance = new SessionGitlabCommand(); - } - - return SessionGitlabCommand._instance; - } - protected defineCommand() { this.command .description('manage Gitlab session'); @@ -32,4 +20,4 @@ class SessionGitlabCommand extends CommanderCommand { } -export default SessionGitlabCommand.instance; \ No newline at end of file +export default new SessionGitlabCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts b/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts index 30c92418c4a15d27d9dfc190a7e26d2418ebb2b9..33ffe4713dbce6bf01101a2314a03dc8d8d6edae 100644 --- a/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts +++ b/NodeApp/src/commander/session/Gitlab/SessionGitlabLoginCommand.ts @@ -6,18 +6,6 @@ import GitlabManager from '../../../managers/GitlabManager'; class SessionGitlabLoginCommand extends CommanderCommand { protected commandName: string = 'login'; - private static _instance: SessionGitlabLoginCommand; - - private constructor() { super(); } - - public static get instance(): SessionGitlabLoginCommand { - if ( !SessionGitlabLoginCommand._instance ) { - SessionGitlabLoginCommand._instance = new SessionGitlabLoginCommand(); - } - - return SessionGitlabLoginCommand._instance; - } - protected defineCommand() { this.command .description('register the gitlab token') @@ -35,4 +23,4 @@ class SessionGitlabLoginCommand extends CommanderCommand { } -export default SessionGitlabLoginCommand.instance; \ No newline at end of file +export default new SessionGitlabLoginCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/Gitlab/SessionGitlabLogoutCommand.ts b/NodeApp/src/commander/session/Gitlab/SessionGitlabLogoutCommand.ts index edd2b24744c817e7b33d0e43d1e3ed9058a20020..6b86883c7f4021362d6b0ca785d95cd7101e2a29 100644 --- a/NodeApp/src/commander/session/Gitlab/SessionGitlabLogoutCommand.ts +++ b/NodeApp/src/commander/session/Gitlab/SessionGitlabLogoutCommand.ts @@ -7,18 +7,6 @@ import GitlabManager from '../../../managers/GitlabManager'; class SessionGitlabLogoutCommand extends CommanderCommand { protected commandName: string = 'logout'; - private static _instance: SessionGitlabLogoutCommand; - - private constructor() { super(); } - - public static get instance(): SessionGitlabLogoutCommand { - if ( !SessionGitlabLogoutCommand._instance ) { - SessionGitlabLogoutCommand._instance = new SessionGitlabLogoutCommand(); - } - - return SessionGitlabLogoutCommand._instance; - } - protected defineCommand() { this.command .description('logout of Gitlab') @@ -47,4 +35,4 @@ class SessionGitlabLogoutCommand extends CommanderCommand { } -export default SessionGitlabLogoutCommand.instance; \ No newline at end of file +export default new SessionGitlabLogoutCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/SessionCommand.ts b/NodeApp/src/commander/session/SessionCommand.ts index 29b8a5a4302fc1f5b7982a93c9796fcde0d01eaa..c7089d6b0441979a93133f0cab4a30ee3bad306e 100644 --- a/NodeApp/src/commander/session/SessionCommand.ts +++ b/NodeApp/src/commander/session/SessionCommand.ts @@ -7,18 +7,6 @@ import SessionGitlabCommand from './Gitlab/SessionGitlabCommand'; class SessionCommand extends CommanderCommand { protected commandName: string = 'session'; - private static _instance: SessionCommand; - - private constructor() { super(); } - - public static get instance(): SessionCommand { - if ( !SessionCommand._instance ) { - SessionCommand._instance = new SessionCommand(); - } - - return SessionCommand._instance; - } - protected defineCommand() { this.command .description('manage Dojo and Gitlab sessions'); @@ -34,4 +22,4 @@ class SessionCommand extends CommanderCommand { } -export default SessionCommand.instance; \ No newline at end of file +export default new SessionCommand(); \ No newline at end of file diff --git a/NodeApp/src/commander/session/SessionTestCommand.ts b/NodeApp/src/commander/session/SessionTestCommand.ts index 890fc03a71c376ca6aa2d77e32e45fe13a13595c..d0ab1b62051f3e7a6555081957851cde1461cc7f 100644 --- a/NodeApp/src/commander/session/SessionTestCommand.ts +++ b/NodeApp/src/commander/session/SessionTestCommand.ts @@ -6,18 +6,6 @@ import GitlabManager from '../../managers/GitlabManager'; class SessionTestCommand extends CommanderCommand { protected commandName: string = 'test'; - private static _instance: SessionTestCommand; - - private constructor() { super(); } - - public static get instance(): SessionTestCommand { - if ( !SessionTestCommand._instance ) { - SessionTestCommand._instance = new SessionTestCommand(); - } - - return SessionTestCommand._instance; - } - protected defineCommand() { this.command .description('test availability of registered Dojo API and Gitlab API sessions') @@ -31,4 +19,4 @@ class SessionTestCommand extends CommanderCommand { } -export default SessionTestCommand.instance; \ No newline at end of file +export default new SessionTestCommand(); \ No newline at end of file diff --git a/NodeApp/src/config/Config.ts b/NodeApp/src/config/Config.ts index fc3d3df1c90ca38a7298b9239852fdec7f8a17cc..f65322a3daaa6470daad131de071d326f8a17ca9 100644 --- a/NodeApp/src/config/Config.ts +++ b/NodeApp/src/config/Config.ts @@ -2,8 +2,6 @@ import getAppDataPath from 'appdata-path'; class Config { - private static _instance: Config; - public apiURL: string; public gitlab: { @@ -15,7 +13,7 @@ class Config { folder: string; file: string; }; - private constructor() { + constructor() { this.apiURL = process.env.API_URL || ''; this.gitlab = { @@ -31,15 +29,7 @@ class Config { file : process.env.LOCAL_CONFIG_FILE || '' }; } - - public static get instance(): Config { - if ( !Config._instance ) { - Config._instance = new Config(); - } - - return Config._instance; - } } -export default Config.instance; +export default new Config(); diff --git a/NodeApp/src/config/LocalConfig.ts b/NodeApp/src/config/LocalConfig.ts index b150d5e67599cbde21c4bf37b51dd6fa3f5819fa..2f4ae036c774d80e0df82dac2976f5046bf3880e 100644 --- a/NodeApp/src/config/LocalConfig.ts +++ b/NodeApp/src/config/LocalConfig.ts @@ -7,24 +7,12 @@ import GitlabManager from '../managers/GitlabManager'; class LocalConfig { - private static _instance: LocalConfig; - private get configPath(): string { return `${ Config.localConfig.folder }/${ Config.localConfig.file }`; } private _config: { [key in LocalConfigKeys]?: any } = {}; - private constructor() { } - - public static get instance(): LocalConfig { - if ( !LocalConfig._instance ) { - LocalConfig._instance = new LocalConfig(); - } - - return LocalConfig._instance; - } - loadConfig() { if ( !fs.existsSync(this.configPath) ) { fs.mkdirSync(Config.localConfig.folder, { recursive: true }); @@ -56,4 +44,4 @@ class LocalConfig { } -export default LocalConfig.instance; \ No newline at end of file +export default new LocalConfig(); \ No newline at end of file diff --git a/NodeApp/src/managers/DojoBackendManager.ts b/NodeApp/src/managers/DojoBackendManager.ts index 013f596b3b8f6031d42ece94582f6733536fa7c3..6d85b9872456ea03cb064e4fe6ce4ad6705813a8 100644 --- a/NodeApp/src/managers/DojoBackendManager.ts +++ b/NodeApp/src/managers/DojoBackendManager.ts @@ -10,18 +10,6 @@ import DojoResponse from '../shared/types/DojoResponse'; class DojoBackendManager { - constructor() { } - - private static _instance: DojoBackendManager; - - public static get instance(): DojoBackendManager { - if ( !DojoBackendManager._instance ) { - DojoBackendManager._instance = new DojoBackendManager(); - } - - return DojoBackendManager._instance; - } - public getApiUrl(route: ApiRoutes): string { return `${ Config.apiURL }${ route }`; } @@ -144,4 +132,4 @@ class DojoBackendManager { } -export default DojoBackendManager.instance; +export default new DojoBackendManager(); diff --git a/NodeApp/src/managers/GitlabManager.ts b/NodeApp/src/managers/GitlabManager.ts index 775d9c17df8b4af3d849e5e9444884f03315bef0..b2d71c728d2a93e05288da70cd295949ff15677b 100644 --- a/NodeApp/src/managers/GitlabManager.ts +++ b/NodeApp/src/managers/GitlabManager.ts @@ -10,18 +10,6 @@ import GitlabRoutes from '../shared/types/Gitlab/GitlabRoutes'; class GitlabManager { private _token: string | null = null; - constructor() { } - - private static _instance: GitlabManager; - - public static get instance(): GitlabManager { - if ( !GitlabManager._instance ) { - GitlabManager._instance = new GitlabManager(); - } - - return GitlabManager._instance; - } - private getApiUrl(route: GitlabRoutes): string { return `${ Config.gitlab.apiURL }${ route }`; } @@ -219,4 +207,4 @@ class GitlabManager { } -export default GitlabManager.instance; +export default new GitlabManager(); diff --git a/NodeApp/src/managers/HttpManager.ts b/NodeApp/src/managers/HttpManager.ts index 1412a99b61cf4ec2afeb7fe01317c611bdeee872..044d0e11c0595681c5422fcdec10c16aca2c43ba 100644 --- a/NodeApp/src/managers/HttpManager.ts +++ b/NodeApp/src/managers/HttpManager.ts @@ -10,18 +10,6 @@ import { StatusCodes } from 'http-status-codes'; class HttpManager { public handleCommandErrors: boolean = true; - private static _instance: HttpManager; - - public static get instance(): HttpManager { - if ( !HttpManager._instance ) { - HttpManager._instance = new HttpManager(); - } - - return HttpManager._instance; - } - - private constructor() { } - registerAxiosInterceptor() { this.registerRequestInterceptor(); this.registerResponseInterceptor(); @@ -86,5 +74,5 @@ class HttpManager { } -export default HttpManager.instance; +export default new HttpManager(); diff --git a/NodeApp/src/managers/SessionManager.ts b/NodeApp/src/managers/SessionManager.ts index 8ad0290df6bc35c9e712b4c9e22c6d2a2f055057..aa1420a1bd97a1253a37e465a6320b6ddb848747 100644 --- a/NodeApp/src/managers/SessionManager.ts +++ b/NodeApp/src/managers/SessionManager.ts @@ -16,18 +16,6 @@ class SessionManager { public profile: User = new User(); - constructor() { } - - private static _instance: SessionManager; - - public static get instance(): SessionManager { - if ( !SessionManager._instance ) { - SessionManager._instance = new SessionManager(); - } - - return SessionManager._instance; - } - get isLogged(): boolean { return this._token !== null; } @@ -140,4 +128,4 @@ class SessionManager { } -export default SessionManager.instance; +export default new SessionManager(); diff --git a/NodeApp/src/shared b/NodeApp/src/shared index 0328c67fd0cade4b51fbf82afc7a07a7d16abe5d..f20c94b884f7ab76936b059b712274a35fcc6318 160000 --- a/NodeApp/src/shared +++ b/NodeApp/src/shared @@ -1 +1 @@ -Subproject commit 0328c67fd0cade4b51fbf82afc7a07a7d16abe5d +Subproject commit f20c94b884f7ab76936b059b712274a35fcc6318