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

Config loader singleton

parent ee2da1dd
No related branches found
No related tags found
No related merge requests found
class Config {
private static _instance: Config;
public readonly api: {
port: number
};
public readonly database: {
type: string, host: string, port: number, user: string, password: string, database: string
};
public readonly jwtSecretKey: string;
public readonly sessionTimeout: number;
public readonly userPasswordLength: number;
public readonly userPasswordSaltRounds: number;
private constructor() {
this.api = {
port: Number(process.env.API_PORT)
};
this.database = {
type : process.env.DATABASE_TYPE,
host : process.env.DATABASE_HOST,
port : Number(process.env.DATABASE_PORT),
user : process.env.DATABASE_USER,
password: process.env.DATABASE_PASSWORD,
database: process.env.DATABASE_NAME
};
this.jwtSecretKey = process.env.JWT_SECRET_KEY;
this.sessionTimeout = Number(process.env.SESSION_TIMEOUT);
this.userPasswordLength = Number(process.env.USER_PASSWORD_LENGTH);
this.userPasswordSaltRounds = Number(process.env.USER_PASSWORD_SALT_ROUNDS);
}
public static get instance(): Config {
if ( !Config._instance ) {
Config._instance = new Config();
}
return Config._instance;
}
}
export default Config.instance;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment