OpenAuth_server/src/config.ts

70 lines
1.4 KiB
TypeScript

import { parse } from "@hibas123/config";
import { Logging } from "@hibas123/nodelogging";
import * as dotenv from "dotenv";
import { readFileSync } from "fs";
import * as ini from "ini";
dotenv.config();
export interface DatabaseConfig {
host: string
database: string
}
export interface WebConfig {
port: string
secure: "true" | "false" | undefined
}
export interface CoreConfig {
name: string
url: string
dev: boolean
}
export interface Config {
core: CoreConfig
database: DatabaseConfig
web: WebConfig
}
const config = parse({
core: {
dev: {
default: false,
type: Boolean
},
name: {
type: String,
default: "Open Auth"
},
url: String
},
database: {
database: {
type: String,
default: "openauth"
},
host: {
type: String,
default: "localhost"
}
},
web: {
port: {
type: Number,
default: 3004
},
secure: {
type: Boolean,
default: false
}
}
}, "config.ini") as any as Config;
if (process.env.DEV === "true")
config.core.dev = true;
if (config.core.dev)
Logging.warning("DEV mode active. This can cause major performance issues, data loss and vulnerabilities! ")
export default config;