config.ts
unknown
plain_text
a year ago
1.1 kB
2
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