diff --git a/NodeApp/src/config/ConfigFiles.ts b/NodeApp/src/config/ConfigFiles.ts new file mode 100644 index 0000000000000000000000000000000000000000..3bce1b773c92e24ee6f80f5ae2a03c3aa1ad6794 --- /dev/null +++ b/NodeApp/src/config/ConfigFiles.ts @@ -0,0 +1,9 @@ +import LocalConfigFile from './LocalConfigFile'; +import Config from './Config'; + + +const sessionConfigFile = new LocalConfigFile(Config.localConfig.sessionFile); +const stateConfigFile = new LocalConfigFile(Config.localConfig.stateFile); + + +export { sessionConfigFile, stateConfigFile }; \ No newline at end of file diff --git a/NodeApp/src/config/LocalConfigFile.ts b/NodeApp/src/config/LocalConfigFile.ts index c69c89c71a67fc2ff100c28c6e8b38987c0686a2..ecc0530b3ce4144a99a10f1d9ec87fcb11ab99c3 100644 --- a/NodeApp/src/config/LocalConfigFile.ts +++ b/NodeApp/src/config/LocalConfigFile.ts @@ -4,7 +4,9 @@ import JSON5 from 'json5'; class LocalConfigFile { - constructor(private filename: string) {} + constructor(private filename: string) { + this.loadConfig(); + } private get configPath(): string { return `${ Config.localConfig.folder }/${ this.filename }`; diff --git a/NodeApp/src/managers/SessionManager.ts b/NodeApp/src/managers/SessionManager.ts index 18f91796c6bf0075f4d5567af3ad4d16e714d924..4f1d25d39af634dec36a96f95be22fd5591011c2 100644 --- a/NodeApp/src/managers/SessionManager.ts +++ b/NodeApp/src/managers/SessionManager.ts @@ -1,6 +1,5 @@ import * as jwt from 'jsonwebtoken'; import User from '../sharedByClients/models/User'; -import LocalConfigFile from '../config/LocalConfigFile'; import LocalConfigKeys from '../types/LocalConfigKeys'; import axios, { HttpStatusCode } from 'axios'; import HttpManager from './HttpManager'; @@ -20,6 +19,7 @@ import SharedGitlabManager from '../shared/managers/SharedGitlabManager'; import GitlabManager from './GitlabManager'; import GitlabToken from '../shared/types/Gitlab/GitlabToken'; import open from 'open'; +import { sessionConfigFile } from '../config/ConfigFiles'; class LoginServer { @@ -75,8 +75,6 @@ class LoginServer { class SessionManager { - private configFile: LocalConfigFile = new LocalConfigFile(Config.localConfig.sessionFile); - public profile: User | undefined = undefined; get isLogged(): boolean { @@ -84,7 +82,7 @@ class SessionManager { } get apiToken(): string { - const apisToken = this.configFile.getParam(LocalConfigKeys.APIS_TOKEN) as null | { [key: string]: string }; + const apisToken = sessionConfigFile.getParam(LocalConfigKeys.APIS_TOKEN) as null | { [key: string]: string }; if ( apisToken !== null && ClientsSharedConfig.apiURL in apisToken ) { return apisToken[ClientsSharedConfig.apiURL]; @@ -94,12 +92,12 @@ class SessionManager { } set apiToken(token: string) { - let apisToken = this.configFile.getParam(LocalConfigKeys.APIS_TOKEN) as null | { [key: string]: string }; + let apisToken = sessionConfigFile.getParam(LocalConfigKeys.APIS_TOKEN) as null | { [key: string]: string }; if ( apisToken === null ) { apisToken = {}; } apisToken[ClientsSharedConfig.apiURL] = token; - this.configFile.setParam(LocalConfigKeys.APIS_TOKEN, apisToken); + sessionConfigFile.setParam(LocalConfigKeys.APIS_TOKEN, apisToken); try { const payload = jwt.decode(token); @@ -113,16 +111,14 @@ class SessionManager { } get gitlabCredentials(): DojoGitlabCredentials { - return this.configFile.getParam(LocalConfigKeys.GITLAB) as DojoGitlabCredentials; + return sessionConfigFile.getParam(LocalConfigKeys.GITLAB) as DojoGitlabCredentials; } set gitlabCredentials(credentials: DojoGitlabCredentials) { - this.configFile.setParam(LocalConfigKeys.GITLAB, credentials); + sessionConfigFile.setParam(LocalConfigKeys.GITLAB, credentials); } - constructor() { - this.configFile.loadConfig(); - } + constructor() { } private async getGitlabCodeFromHeadlessEnvironment(): Promise<string> { const indent: string = ' ';