Files
carmanagement/packages/database/src/runtime-config.ts
T
2026-05-17 00:35:35 -04:00

26 lines
855 B
TypeScript

const ENABLED_VALUES = new Set(['1', 'true', 'yes'])
export function ensureDatabaseUrl(env: NodeJS.ProcessEnv = process.env) {
const shouldBuildFromPostgres = ENABLED_VALUES.has(
env.DATABASE_URL_FROM_POSTGRES?.trim().toLowerCase() ?? '',
)
if (!shouldBuildFromPostgres) {
return env.DATABASE_URL
}
if (!env.POSTGRES_PASSWORD) {
throw new Error('DATABASE_URL_FROM_POSTGRES is enabled but POSTGRES_PASSWORD is not set')
}
const user = env.POSTGRES_USER ?? 'postgres'
const password = env.POSTGRES_PASSWORD
const host = env.POSTGRES_HOST ?? 'postgres'
const port = env.POSTGRES_PORT ?? '5432'
const database = env.POSTGRES_DB ?? 'rentaldrivego'
env.DATABASE_URL = `postgresql://${encodeURIComponent(user)}:${encodeURIComponent(password)}@${host}:${port}/${encodeURIComponent(database)}`
return env.DATABASE_URL
}