import { parse } from "@hibas123/config"; import { Logging } from "@hibas123/nodelogging"; import * as dotenv from "dotenv"; import moment = require("moment"); export const refreshTokenValidTime = moment.duration(6, "month"); 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;