Updated env handling
This commit is contained in:
@@ -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=
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user