Skip to content
Snippets Groups Projects
Commit 3d9bfb03 authored by michael.minelli's avatar michael.minelli
Browse files

ConfigFiles => Centralize config files instances

parent b12c271b
No related branches found
No related tags found
No related merge requests found
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
...@@ -4,7 +4,9 @@ import JSON5 from 'json5'; ...@@ -4,7 +4,9 @@ import JSON5 from 'json5';
class LocalConfigFile { class LocalConfigFile {
constructor(private filename: string) {} constructor(private filename: string) {
this.loadConfig();
}
private get configPath(): string { private get configPath(): string {
return `${ Config.localConfig.folder }/${ this.filename }`; return `${ Config.localConfig.folder }/${ this.filename }`;
......
import * as jwt from 'jsonwebtoken'; import * as jwt from 'jsonwebtoken';
import User from '../sharedByClients/models/User'; import User from '../sharedByClients/models/User';
import LocalConfigFile from '../config/LocalConfigFile';
import LocalConfigKeys from '../types/LocalConfigKeys'; import LocalConfigKeys from '../types/LocalConfigKeys';
import axios, { HttpStatusCode } from 'axios'; import axios, { HttpStatusCode } from 'axios';
import HttpManager from './HttpManager'; import HttpManager from './HttpManager';
...@@ -20,6 +19,7 @@ import SharedGitlabManager from '../shared/managers/SharedGitlabManager'; ...@@ -20,6 +19,7 @@ import SharedGitlabManager from '../shared/managers/SharedGitlabManager';
import GitlabManager from './GitlabManager'; import GitlabManager from './GitlabManager';
import GitlabToken from '../shared/types/Gitlab/GitlabToken'; import GitlabToken from '../shared/types/Gitlab/GitlabToken';
import open from 'open'; import open from 'open';
import { sessionConfigFile } from '../config/ConfigFiles';
class LoginServer { class LoginServer {
...@@ -75,8 +75,6 @@ class LoginServer { ...@@ -75,8 +75,6 @@ class LoginServer {
class SessionManager { class SessionManager {
private configFile: LocalConfigFile = new LocalConfigFile(Config.localConfig.sessionFile);
public profile: User | undefined = undefined; public profile: User | undefined = undefined;
get isLogged(): boolean { get isLogged(): boolean {
...@@ -84,7 +82,7 @@ class SessionManager { ...@@ -84,7 +82,7 @@ class SessionManager {
} }
get apiToken(): string { 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 ) { if ( apisToken !== null && ClientsSharedConfig.apiURL in apisToken ) {
return apisToken[ClientsSharedConfig.apiURL]; return apisToken[ClientsSharedConfig.apiURL];
...@@ -94,12 +92,12 @@ class SessionManager { ...@@ -94,12 +92,12 @@ class SessionManager {
} }
set apiToken(token: string) { 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 ) { if ( apisToken === null ) {
apisToken = {}; apisToken = {};
} }
apisToken[ClientsSharedConfig.apiURL] = token; apisToken[ClientsSharedConfig.apiURL] = token;
this.configFile.setParam(LocalConfigKeys.APIS_TOKEN, apisToken); sessionConfigFile.setParam(LocalConfigKeys.APIS_TOKEN, apisToken);
try { try {
const payload = jwt.decode(token); const payload = jwt.decode(token);
...@@ -113,16 +111,14 @@ class SessionManager { ...@@ -113,16 +111,14 @@ class SessionManager {
} }
get gitlabCredentials(): DojoGitlabCredentials { get gitlabCredentials(): DojoGitlabCredentials {
return this.configFile.getParam(LocalConfigKeys.GITLAB) as DojoGitlabCredentials; return sessionConfigFile.getParam(LocalConfigKeys.GITLAB) as DojoGitlabCredentials;
} }
set gitlabCredentials(credentials: DojoGitlabCredentials) { set gitlabCredentials(credentials: DojoGitlabCredentials) {
this.configFile.setParam(LocalConfigKeys.GITLAB, credentials); sessionConfigFile.setParam(LocalConfigKeys.GITLAB, credentials);
} }
constructor() { constructor() { }
this.configFile.loadConfig();
}
private async getGitlabCodeFromHeadlessEnvironment(): Promise<string> { private async getGitlabCodeFromHeadlessEnvironment(): Promise<string> {
const indent: string = ' '; const indent: string = ' ';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment