-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.ts
36 lines (30 loc) · 1.29 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import dotenv from 'dotenv';
dotenv.config({ path: `.env.${process.env.NODE_ENV || 'development'}.local` });
const checkEnv = (envVar: string, defaultValue?: string) => {
if (!process.env[envVar]) {
if (defaultValue) {
return defaultValue;
}
throw new Error(`Please define the Enviroment variable"${envVar}"`);
} else {
return process.env[envVar] as string;
}
};
export const PORT: number = parseInt(checkEnv('PORT'), 10);
export const MONGO_URI: string = checkEnv('MONGO_URI');
export const DATABASE: string = checkEnv('DATABASE');
export const CORS_ORIGINS = JSON.parse(checkEnv('CORS_ORIGINS'));
export const CREDENTIALS = checkEnv('CREDENTIALS') === 'true';
export const isProduction = checkEnv('NODE_ENV') === 'production';
export const isTest = checkEnv('NODE_ENV') === 'test';
export const SENTRY_DSN = checkEnv('SENTRY_DSN');
export const jwt = {
secret: checkEnv('JWT_SECRET'),
accessExpireIn: checkEnv('JWT_ACCESS_EXPIRE_IN'),
accessExpireFormat: checkEnv('JWT_ACCESS_EXPIRE_FORMAT'),
refreshExpireIn: checkEnv('JWT_REFRESH_EXPIRE_IN'),
refreshExpireFormat: checkEnv('JWT_REFRESH_EXPIRE_FORMAT'),
resetPasswordExpireIn: checkEnv('JWT_RESET_PASSWORD_EXPIRE_IN'),
resetPasswordExpireFormat: checkEnv('JWT_RESET_PASSWORD_EXPIRE_FORMAT'),
};
export * from './passport';