From ea508b1fdc155c9445a5ff4aeced19ce1c8f6a42 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Fri, 20 Mar 2026 08:26:07 -0700 Subject: [PATCH] fix(backend): make COSMOS_ENDPOINT/KEY validation conditional on DB_PROVIDER - Only require Cosmos credentials when DB_PROVIDER=cosmos - Standardize to .refine() pattern matching all other repos --- backend/src/lib/config.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/src/lib/config.ts b/backend/src/lib/config.ts index 6f65c1c..0a94a83 100644 --- a/backend/src/lib/config.ts +++ b/backend/src/lib/config.ts @@ -3,8 +3,9 @@ import { baseBackendConfigSchema } from '@bytelyst/backend-config'; const envSchema = baseBackendConfigSchema.extend({ PORT: baseBackendConfigSchema.shape.PORT.default(4011), SERVICE_NAME: baseBackendConfigSchema.shape.SERVICE_NAME.default('chronomind-backend'), - COSMOS_ENDPOINT: baseBackendConfigSchema.shape.COSMOS_ENDPOINT.refine(v => v.length > 0, 'COSMOS_ENDPOINT is required'), - COSMOS_KEY: baseBackendConfigSchema.shape.COSMOS_KEY.refine(v => v.length > 0, 'COSMOS_KEY is required'), -}); +}).refine( + data => data.DB_PROVIDER === 'memory' || (data.COSMOS_ENDPOINT.length > 0 && data.COSMOS_KEY.length > 0), + { message: 'COSMOS_ENDPOINT and COSMOS_KEY are required when DB_PROVIDER is cosmos' } +); export const config = envSchema.parse(process.env);