amati/apps/backend/src/appEnv.ts
2024-08-23 10:02:48 +07:00

27 lines
608 B
TypeScript

import dotenv from "dotenv";
import { z } from "zod";
dotenv.config();
const envSchema = z.object({
BASE_URL: z.string(),
APP_PORT: z.coerce.number().int(),
DATABASE_URL: z.string(),
ACCESS_TOKEN_SECRET: z.string(),
REFRESH_TOKEN_SECRET: z.string(),
RESET_PASSWORD_TOKEN_SECRET: z.string(),
COOKIE_SECRET: z.string(),
SMTP_USERNAME: z.string(),
SMTP_PASSWORD: z.string(),
SMTP_HOST: z.string(),
SMTP_PORT: z.coerce.number().int(),
});
const parsedEnv = envSchema.safeParse(process.env);
if (!parsedEnv.success) {
throw new Error(parsedEnv.error.toString());
}
export default parsedEnv.data;