environment.ts 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. HCAPTCHA_ENABLED: "",
  26. };
  27. function isValid(): boolean {
  28. let valid = true;
  29. Object.keys(ENV).forEach((envKey) => {
  30. if (!process.env[envKey]) {
  31. valid = false;
  32. return;
  33. }
  34. const c = envKey as keyof typeof ENV;
  35. ENV[c] = process.env[envKey] as string;
  36. });
  37. return valid;
  38. }
  39. export const IS_VALID = isValid();