Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. import DotEnv from "dotenv";
  2.  
  3. interface AppConfig {
  4. ENVIRONMENT: string,
  5. SERVER_PORT: number,
  6. REDIS_ADDRESS: string,
  7. REDIS_PORT: number,
  8. MONGODB_ADDRESS: string,
  9. MONGODB_PORT: number,
  10. MONGODB_DB: string,
  11. SESSION_SECRET: string,
  12. GOOGLE_OAUTH_CLIENT_ID: string,
  13. GOOGLE_OAUTH_CLIENT_SECRET: string
  14. }
  15.  
  16. const envOverridesUntreated = {
  17. GOOGLE_OAUTH_CLIENT_ID: process.env.GOOGLE_OAUTH_CLIENT_ID,
  18. GOOGLE_OAUTH_CLIENT_SECRET: process.env.GOOGLE_OAUTH_CLIENT_ID,
  19. SESSION_SECRET: process.env.SESSION_SECRET,
  20. REDIS_PORT: process.env.REDIS_PORT,
  21. REDIS_ADDRESS: process.env.REDIS_ADDRESS,
  22. MONGODB_PORT: process.env.MONGODB_PORT,
  23. MONGODB_ADDRESS: process.env.MONGODB_ADDRESS,
  24. };
  25.  
  26. const envOverridesTreated: any = Object.entries(envOverridesUntreated).reduce((overrides, [key, value]) => {
  27. if (value) {
  28. overrides[key] = value;
  29. }
  30. return overrides;
  31. }, {});
  32.  
  33. const AppConfig: AppConfig = Object.freeze({ ...DotEnv.config().parsed, ...envOverridesTreated }) as unknown as AppConfig;
  34.  
  35. export default AppConfig;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement