Updated env handling

This commit is contained in:
2025-06-19 21:01:24 +02:00
parent d775e0d38e
commit 8a686222be
2 changed files with 24 additions and 2 deletions

View File

@@ -2,7 +2,12 @@ TOKEN=
DEV= DEV=
HYPIXELAPIKEY= HYPIXELAPIKEY=
REDISURI= REDISURI=
POSTGRESURI= #
PG_USER=
PG_PASSWORD=
PG_HOST=
PG_PORT=
PG_DATABASE=
# #
DEVTOKEN= DEVTOKEN=
CLIENTID= CLIENTID=

View File

@@ -8,13 +8,30 @@ const prodEnv = createEnv({
DEV: z.string({ message: "DEV" }).min(1), DEV: z.string({ message: "DEV" }).min(1),
HYPIXELAPIKEY: z.string({ message: "HYPIXELAPIKEY" }).min(1), HYPIXELAPIKEY: z.string({ message: "HYPIXELAPIKEY" }).min(1),
REDISURI: z.string({ message: "REDISURI" }).min(1), REDISURI: z.string({ message: "REDISURI" }).min(1),
POSTGRESURI: z.string({ message: "POSTGRESURI" }).min(1) PG_USER: z.string({ message: "PG_USER" }).min(1),
PG_PASSWORD: z.string({ message: "PG_PASSWORD" }).min(1),
PG_HOST: z.string({ message: "PG_HOST" }).min(1),
PG_PORT: z.string({ message: "PG_PORT" }).min(1),
PG_DATABASE: z.string({ message: "PG_DATABASE" }).min(1)
}, },
runtimeEnv: process.env, runtimeEnv: process.env,
emptyStringAsUndefined: true,
onValidationError: (e) => { onValidationError: (e) => {
const allErrors = e.map(err => err.message).join(" ") const allErrors = e.map(err => err.message).join(" ")
throw new MissingEnvVarsError(`[PROD]: ${allErrors}`) throw new MissingEnvVarsError(`[PROD]: ${allErrors}`)
},
createFinalSchema: (s) => {
return z.object(s).transform(val => {
const { PG_USER, PG_PASSWORD, PG_HOST, PG_PORT, PG_DATABASE, ...rest } = val
const url = `postgres://${PG_USER}:${PG_PASSWORD}@${PG_HOST}:${PG_PORT}/${PG_DATABASE}`
return {
...rest,
POSTGRESURI: url
}
})
} }
}) })