// Exporta el body real de creación (Service Layer: UserTablesMD/UserFieldsMD) // de cada una de las 4 UserTables a un archivo JSON en json/user-tables/ — // útil para revisar el payload exacto, o para postearlo a mano (Postman, // curl, tools/sl.http) sin correr `npm run provision`. // // Se genera a partir de src/provisioning/table-definitions.ts (única fuente // de verdad) — si el esquema cambia ahí, correr de nuevo este script para // regenerar los JSON. // // Uso: npx tsx scripts/export-table-json.ts import { mkdirSync, writeFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; import { TABLE_DEFINITIONS } from '../src/provisioning/table-definitions.ts'; import { toUserFieldPayload, toUserTablePayload } from '../src/provisioning/payloads.ts'; const outDir = fileURLToPath(new URL('../json/user-tables/', import.meta.url)); mkdirSync(outDir, { recursive: true }); for (const definition of TABLE_DEFINITIONS) { const payload = { table: toUserTablePayload(definition), fields: definition.fields.map((field) => toUserFieldPayload(definition.tableName, field)), }; const filePath = `${outDir}${definition.tableName}.json`; writeFileSync(filePath, `${JSON.stringify(payload, null, 2)}\n`); console.log(`Exportado: ${filePath}`); }