Updated env handling
This commit is contained in:
@@ -8,13 +8,30 @@ const prodEnv = createEnv({
|
||||
DEV: z.string({ message: "DEV" }).min(1),
|
||||
HYPIXELAPIKEY: z.string({ message: "HYPIXELAPIKEY" }).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,
|
||||
emptyStringAsUndefined: true,
|
||||
onValidationError: (e) => {
|
||||
const allErrors = e.map(err => err.message).join(" ")
|
||||
|
||||
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
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user