/** * Activa el modo local forzado en ConfiguracionSistema. * * 1. Pon `modo_local_forzado = true` en ConfiguracionSistema * 2. Verifica que unidades locales existen (count > 0) * 3. Verifica que roles existen * 4. Log: "Modo local activado. Monday deshabilitado." * * Idempotente: puede ejecutarse múltiples veces sin efectos adversos. * * Uso: npx tsx scripts/seed-modo-local.js */ import path from 'node:path' import { fileURLToPath } from 'node:url' import dotenv from 'dotenv' import { PrismaClient } from '@prisma/client' const raizApi = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..') dotenv.config({ path: [path.resolve(raizApi, '.env'), path.resolve(raizApi, '..', '.env')] }) const prisma = new PrismaClient() async function main() { // 1. Activar modo local forzado console.log('⚙️ Activando modo local forzado...') await prisma.configuracionSistema.upsert({ where: { clave: 'modo_local_forzado' }, create: { clave: 'modo_local_forzado', valor: 'true' }, update: { valor: 'true' }, }) console.log(' ✓ modo_local_forzado = true') // 2. Verificar que unidades locales existen const unidadesCount = await prisma.unidad.count() if (unidadesCount === 0) { console.warn(' ⚠️ No hay unidades locales. Ejecuta seed-unidades-locales.js primero.') } else { console.log(` ✓ ${unidadesCount} unidades locales verificadas`) } // 3. Verificar que roles existen const rolesCount = await prisma.rolConfiguracion.count() if (rolesCount === 0) { console.warn(' ⚠️ No hay roles configurados. Ejecuta seed-config.js primero.') } else { console.log(` ✓ ${rolesCount} roles configurados verificados`) } // 4. Verificar que usuarios existen const usuariosCount = await prisma.usuario.count() if (usuariosCount === 0) { console.warn(' ⚠️ No hay usuarios. Ejecuta seed-usuarios.ts primero.') } else { console.log(` ✓ ${usuariosCount} usuarios verificados`) } console.log('\n✅ Modo local activado. Monday deshabilitado.') console.log(' La API operará con tablas locales (LeadCaptura, ActividadLocal, etc.)') console.log(' Los crons de Monday se saltarán; los crons locales correrán en su lugar.') } main() .catch((err) => { console.error('❌ Error en seed:', err) process.exit(1) }) .finally(() => prisma.$disconnect())