Seeding
El seed está en apps/api/prisma/seed.ts. Crea datos iniciales para desarrollo: usuarios por rol, cursos y configuración base de IA.
Ejecutar el seed
Section titled “Ejecutar el seed”pnpm --filter api prisma db seedUsuarios fixture
Section titled “Usuarios fixture”El seed crea un usuario por cada UserRole con contraseña estándar TestPassword123!:
| Role | Propósito | |
|---|---|---|
free@test.com | FREE | Usuario sin suscripción |
starter@test.com | STARTER | Suscripción básica |
pro@test.com | PRO | Suscripción profesional |
elite@test.com | ELITE | Suscripción élite |
corp-user@test.com | CORPORATE_USER | Usuario de organización |
corp-admin@test.com | CORPORATE_ADMIN | Admin de organización |
content-admin@test.com | CONTENT_ADMIN | Admin de contenido |
super-admin@test.com | SUPER_ADMIN | Super administrador |
Estos usuarios son utilizados directamente en los tests E2E de access-control (apps/e2e/tests/access-control/).
Cursos de seed
Section titled “Cursos de seed”Cursos genéricos (legacy paths)
Section titled “Cursos genéricos (legacy paths)”ia-fundamentos— “IA Fluency: Fundamentos” (FREE_REGISTERED, 8h)ia-ventas-b2b— “IA para Ventas B2B” (FREE_REGISTERED, 12h)
Cursos NappAI
Section titled “Cursos NappAI”nappai-fundamentos— “NappAI: De Cero a tu Primera Automatización” (isFeatured, isNew)nappai-ventas— “Automatiza tus Ventas con NappAI”
Configuración base de IA
Section titled “Configuración base de IA”El seed crea los registros AICredential para los 4 proveedores con isActive: false (sin valores), para que existan en BD desde el primer deploy:
const providers = ['anthropic', 'openai', 'gemini', 'qdrant'];for (const provider of providers) { await prisma.aICredential.upsert({ where: { provider }, create: { provider, encryptedValue: '', maskedPreview: '—', isActive: false }, update: {}, });}También crea los AIRouteConfig con los 9 casos de uso predefinidos y sus proveedores default.