import { HEALTH_PAGE_DATA_DATASETS, healthPageDataDdlForBackend } from './health-page-data-schema.mjs'; const bootstrappedUsers = new Set(); function resolveUserDataBackend(userDataSpace) { if (userDataSpace?.backend) return userDataSpace.backend; if (userDataSpace?.privateDataDb) return 'sqlite'; return 'postgres'; } export function resetHealthPageDataBootstrapCache() { bootstrappedUsers.clear(); } export async function ensureHealthPageDataForUser(userDataSpace, userId) { if (!userDataSpace || !userId) return false; const key = String(userId); if (bootstrappedUsers.has(key)) return true; const backend = resolveUserDataBackend(userDataSpace); const ddl = healthPageDataDdlForBackend(backend); for (const sql of ddl) { await userDataSpace.executeSql(sql); } for (const dataset of HEALTH_PAGE_DATA_DATASETS) { await userDataSpace.upsertDataset(dataset); } bootstrappedUsers.add(key); return true; }