environment.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import dotenv from "dotenv";
  2. if (process.env.NODE_ENV === "development") {
  3. dotenv.config({
  4. path: "../.env",
  5. });
  6. dotenv.config({
  7. path: "../db.env",
  8. });
  9. process.env.MONGO_DB_HOST = "localhost";
  10. process.env.TYPEORM_HOST = "localhost";
  11. process.env.NOCTBOT_ADDR = "localhost";
  12. process.env.WEB_DATA_PATH = "./web_data";
  13. process.env.PORT = "3000";
  14. process.env.TYPEORM_USERNAME = process.env.DB_USERNAME;
  15. process.env.TYPEORM_PASSWORD = process.env.DB_PASSWORD;
  16. process.env.TYPEORM_DATABASE = process.env.DB_NAME;
  17. }
  18. export const ENV = {
  19. BOT_CLIENT_ID: "",
  20. BOT_CLIENT_SECRET: "",
  21. WEB_AUTH_URI: "",
  22. WEB_DATA_PATH: "",
  23. HCAPTCHA_SITEKEY: "",
  24. HCAPTCHA_SECRET: "",
  25. };
  26. function isValid(): boolean {
  27. let valid = true;
  28. Object.keys(ENV).forEach((envKey) => {
  29. if (!process.env[envKey]) {
  30. valid = false;
  31. return;
  32. }
  33. const c = envKey as keyof typeof ENV;
  34. ENV[c] = process.env[envKey] as string;
  35. });
  36. return valid;
  37. }
  38. export const IS_VALID = isValid();