21 lines
644 B
TypeScript
21 lines
644 B
TypeScript
import { z } from "zod";
|
|
|
|
const envSchema = z.object({
|
|
NODE_ENV: z.enum(["development", "test", "production"]).default("development"),
|
|
DATABASE_URL: z.string().url(),
|
|
NEWSDB_URL: z.string().url(),
|
|
KEYCLOAK_CLIENT_ID: z.string(),
|
|
KEYCLOAK_CLIENT_SECRET: z.string(),
|
|
KEYCLOAK_REALM: z.string(),
|
|
KEYCLOAK_ISSUER: z.string().url(),
|
|
IMAP_HOST: z.string(),
|
|
IMAP_PORT: z.string(),
|
|
IMAP_USER: z.string().email(),
|
|
IMAP_PASSWORD: z.string(),
|
|
LEANTIME_TOKEN: z.string(),
|
|
LEANTIME_API_URL: z.string().url(),
|
|
ROCKET_CHAT_TOKEN: z.string(),
|
|
ROCKET_CHAT_USER_ID: z.string(),
|
|
});
|
|
|
|
export const env = envSchema.parse(process.env);
|