EUS/objects/Config.ts

50 lines
957 B
TypeScript
Raw Normal View History

2025-01-01 22:03:59 +00:00
import { readFileSync } from "fs";
const config = JSON.parse(readFileSync("./config.json").toString());
export default abstract class Config {
2025-01-05 14:22:18 +00:00
public static instance: string = config.instance;
public static hosts: IHosts = config.hosts;
public static database: IDatabase = config.database;
public static session: ISession = config.session;
public static controllers: IControllers = config.controllers;
public static accounts: IAccounts = config.accounts;
2025-01-01 22:03:59 +00:00
}
2025-01-05 14:22:18 +00:00
interface IHosts {
webHost: string,
webPort: number
2025-01-01 22:03:59 +00:00
}
interface IDatabase {
2025-01-05 14:22:18 +00:00
enabled: boolean,
2025-01-01 22:03:59 +00:00
address: string,
port: number,
username: string,
password: string,
name: string
}
interface ISession {
secret: string,
validity: number,
length: number
2025-01-03 03:11:00 +00:00
}
interface IControllers {
enabled: boolean
}
interface ISignup {
enabled: boolean,
key: string | null
}
interface IPbkdf2 {
itterations: number,
keylength: number
}
interface IAccounts {
signup: ISignup,
pbkdf2: IPbkdf2
2025-01-01 02:18:50 +00:00
}