config.ts
unknown
plain_text
a year ago
1.1 kB
8
Indexable
import fs from 'fs';
import dotenv from 'dotenv';
class Config {
private static configFile = '/etc/configs/config.json';
private static loadDotEnv() {
if (fs.existsSync('/vault/secrets/')) {
dotenv.config({ path: '/vault/secrets/keys' });
} else {
dotenv.config();
}
}
public static getConfig(): Record<string, string | undefined> {
this.loadDotEnv();
let config: Record<string, string | undefined>;
if (fs.existsSync(this.configFile)) {
config = JSON.parse(fs.readFileSync(this.configFile, 'utf-8'));
} else {
config = {
SERVER_OTHER_SERVICES_ADDRESS: process.env.SERVER_OTHER_SERVICES_ADDRESS,
PORT: process.env.PORT,
SERVER_USERS: process.env.SERVER_USERS,
SERVER_CARS: process.env.SERVER_CARS,
SERVER_ACCOMMODATION: process.env.SERVER_ACCOMMODATION,
BASE_URL: `${process.env.BASE_URL}:${process.env.PORT}`,
EXTERNAL_LINK: process.env.EXTERNAL_LINK,
ENVIRONMENT: process.env.ENVIRONMENT,
};
}
return config;
}
}
export default Config;
Editor is loading...
Leave a Comment