diff --git a/src/app/configs/index.ts b/src/app/configs/index.ts index 1553fd2..796307d 100644 --- a/src/app/configs/index.ts +++ b/src/app/configs/index.ts @@ -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"), +}; \ No newline at end of file diff --git a/src/routes.ts b/src/routes.ts index e873c17..c26296d 100644 --- a/src/routes.ts +++ b/src/routes.ts @@ -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(); diff --git a/src/swaggerOptions.ts b/src/swaggerOptions.ts index 34fd8ba..088c662 100644 --- a/src/swaggerOptions.ts +++ b/src/swaggerOptions.ts @@ -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);