58 lines
1009 B
TypeScript
58 lines
1009 B
TypeScript
/* eslint-disable no-console */
|
|
import Default from './Config/Default';
|
|
import Development from './Config/Development';
|
|
import { EnvConfig } from './types';
|
|
|
|
class Config {
|
|
constructor() {
|
|
this.initialize();
|
|
}
|
|
|
|
public env: EnvConfig = Default;
|
|
|
|
public replaceCompanyLogo = false;
|
|
|
|
initialize(): void {
|
|
if (process.env.APP_ENV) {
|
|
this.setEnv(process.env.APP_ENV);
|
|
}
|
|
}
|
|
|
|
setEnv(env: string): void {
|
|
switch (env) {
|
|
case 'dev':
|
|
this.env = Development;
|
|
break;
|
|
default:
|
|
this.env = Default;
|
|
break;
|
|
}
|
|
}
|
|
|
|
getEnv(): EnvConfig {
|
|
return this.env;
|
|
}
|
|
|
|
get HostApiUrl(): string {
|
|
return `${this.env.APIUrl}/api`;
|
|
}
|
|
|
|
get HostUrl(): string {
|
|
return this.env.EnvUrl;
|
|
}
|
|
|
|
get TokenLocalStorageName(): string {
|
|
return this.env.JwtTokenLocalName;
|
|
}
|
|
|
|
get I18nLocalStorageName(): string {
|
|
return this.env.I18nLocalName;
|
|
}
|
|
|
|
get EnvName(): string {
|
|
return this.env.EnvName;
|
|
}
|
|
}
|
|
|
|
export default Config;
|