import { initializeAllContainers, registerContainers } from '@bytelyst/cosmos'; import type { ContainerConfig } from '@bytelyst/cosmos'; import { config } from './config.js'; const CONTAINER_DEFS: Record = { users: { partitionKeyPath: '/id' }, devices: { partitionKeyPath: '/userId' }, notification_prefs: { partitionKeyPath: '/userId' }, audit_log: { partitionKeyPath: '/category', defaultTtl: 90 * 86400 }, feature_flags: { partitionKeyPath: '/id' }, }; export async function initCosmosIfNeeded(): Promise { registerContainers(CONTAINER_DEFS); const shouldInit = config.NODE_ENV !== 'production' || process.env.COSMOS_AUTO_INIT === 'true'; if (!shouldInit) return; try { await initializeAllContainers(); // eslint-disable-next-line no-console console.info('[platform-service] Cosmos containers ensured'); } catch (err) { const msg = err instanceof Error ? err.message : String(err); // eslint-disable-next-line no-console console.warn(`[platform-service] Cosmos init failed: ${msg}`); } }