39 lines
No EOL
736 B
TypeScript
39 lines
No EOL
736 B
TypeScript
import dotenv from "dotenv";
|
|
import path from "node:path";
|
|
import * as fs from "node:fs";
|
|
|
|
type DiscordEnvironment = {
|
|
token: string;
|
|
clientId: string;
|
|
}
|
|
|
|
export type DatabaseEnvironment = {
|
|
path: string;
|
|
}
|
|
|
|
export class Environment {
|
|
get discord(): DiscordEnvironment {
|
|
return {
|
|
token: process.env.DISCORD_API_KEY ?? '',
|
|
clientId: process.env.DISCORD_CLIENT_ID ?? '',
|
|
}
|
|
}
|
|
|
|
get database(): DatabaseEnvironment {
|
|
return {
|
|
path: path.resolve(process.env.DB_PATH ?? ''),
|
|
}
|
|
}
|
|
|
|
public setup() {
|
|
const dotenvPath = path.resolve(__dirname, "../environment/.env");
|
|
|
|
if (!fs.existsSync(dotenvPath)) {
|
|
return;
|
|
}
|
|
|
|
dotenv.config({
|
|
path: dotenvPath,
|
|
});
|
|
}
|
|
} |