fix: missing environment variable type and variable validation
This commit is contained in:
+29
-17
@@ -1,27 +1,39 @@
|
||||
import "dotenv/config";
|
||||
|
||||
function getEnv(key: string): string {
|
||||
const value = process.env[key];
|
||||
|
||||
if (!value) {
|
||||
throw new Error(`Missing required environment variable: ${key}`);
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
export const configs = {
|
||||
port: process.env.PORT,
|
||||
env: process.env.NODE_ENV,
|
||||
db_url: process.env.DATABASE_URL,
|
||||
port: getEnv("PORT"),
|
||||
env: getEnv("NODE_ENV"),
|
||||
db_url: getEnv("DATABASE_URL"),
|
||||
|
||||
jwt: {
|
||||
access_token: process.env.ACCESS_TOKEN,
|
||||
refresh_token: process.env.REFRESH_TOKEN,
|
||||
access_expires: process.env.ACCESS_EXPIRES,
|
||||
refresh_expires: process.env.REFRESH_EXPIRES,
|
||||
reset_secret: process.env.RESET_SECRET,
|
||||
reset_expires: process.env.RESET_EXPIRES,
|
||||
front_end_url: process.env.FRONT_END_URL,
|
||||
verified_token: process.env.VERIFIED_TOKEN,
|
||||
access_token: getEnv("ACCESS_TOKEN"),
|
||||
access_expires: getEnv("ACCESS_EXPIRES"),
|
||||
reset_secret: getEnv("RESET_SECRET"),
|
||||
reset_expires: getEnv("RESET_EXPIRES"),
|
||||
front_end_url: getEnv("FRONT_END_URL"),
|
||||
verified_token: getEnv("VERIFIED_TOKEN"),
|
||||
},
|
||||
|
||||
email: {
|
||||
app_email: process.env.APP_USER_EMAIL,
|
||||
app_password: process.env.APP_PASSWORD,
|
||||
app_email: getEnv("APP_USER_EMAIL"),
|
||||
app_password: getEnv("APP_PASSWORD"),
|
||||
},
|
||||
|
||||
cloudinary: {
|
||||
cloud_name: process.env.CLOUD_NAME,
|
||||
cloud_api_key: process.env.CLOUD_API_KEY,
|
||||
cloud_api_secret: process.env.CLOUD_API_SECRET,
|
||||
cloud_name: getEnv("CLOUD_NAME"),
|
||||
cloud_api_key: getEnv("CLOUD_API_KEY"),
|
||||
cloud_api_secret: getEnv("CLOUD_API_SECRET"),
|
||||
},
|
||||
redis_url: process.env.REDIS_URL,
|
||||
|
||||
redis_url: getEnv("REDIS_URL"),
|
||||
};
|
||||
+2
-2
@@ -4,8 +4,8 @@ import orderRoute from "./app/modules/order/order.route.js";
|
||||
import planRoute from "./app/modules/plan/plan.route.js";
|
||||
import profileRoute from "./app/modules/profile/profile.route.js";
|
||||
import supportRoute from "./app/modules/support/support.route.js";
|
||||
import templateRoute from "./app/modules/template/template.route";
|
||||
import usersRoute from "./app/modules/users/users.route";
|
||||
import templateRoute from "./app/modules/template/template.route.js";
|
||||
import usersRoute from "./app/modules/users/users.route.js";
|
||||
|
||||
const appRouter = Router();
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import { orderSwaggerDocs } from "./app/modules/order/order.swagger.js";
|
||||
import { planSwaggerDocs } from "./app/modules/plan/plan.swagger.js";
|
||||
import { profileSwaggerDocs } from "./app/modules/profile/profile.swagger.js";
|
||||
import { supportSwaggerDocs } from "./app/modules/support/support.swagger.js";
|
||||
import { templateSwaggerDocs } from "./app/modules/template/template.swagger";
|
||||
import { usersSwaggerDocs } from "./app/modules/users/users.swagger";
|
||||
import { templateSwaggerDocs } from "./app/modules/template/template.swagger.js";
|
||||
import { usersSwaggerDocs } from "./app/modules/users/users.swagger.js";
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
|
||||
Reference in New Issue
Block a user