2.0 KiB
US-MGN-001-004-001: Crear y Configurar Tenant
RF Asociado: RF-MGN-001-004 Módulo: MGN-001 - Fundamentos Epic: Multi-Tenancy Prioridad: P0 (MVP) Story Points: 5 Sprint: Sprint 3 Estado: Ready for Development Fecha: 2025-11-24
User Story
Como super administrador del sistema, Quiero crear y configurar nuevos tenants (clientes), Para aislar datos entre diferentes organizaciones en el sistema multi-tenant.
Criterios de Aceptación
Escenario 1: Crear tenant nuevo
Cuando creo tenant con nombre, subdomain "acme", plan, límites, Entonces sistema crea registro en auth.tenants, crea schema "tenant_acme", ejecuta migrations, crea usuario administrador inicial.
Escenario 2: Subdomain duplicado
Cuando intento crear tenant con subdomain existente, Entonces retorna error 400 "Subdomain ya existe".
Escenario 3: Tenant isolation verificado
Cuando usuario de tenant A intenta acceder a datos de tenant B, Entonces sistema bloquea acceso via RLS policies.
Reglas de Negocio
- RN-1: Subdomain único globalmente (ej: acme.erp.com)
- RN-2: Cada tenant tiene su propio schema PostgreSQL
- RN-3: Migrations se ejecutan automáticamente en schema del tenant
- RN-4: Al crear tenant: crear usuario admin default
Tareas Técnicas
Backend
- POST /api/v1/admin/tenants - Crear tenant (solo super admin)
- TenantsService.createTenant(name, subdomain, plan)
- Crear schema PostgreSQL:
CREATE SCHEMA tenant_{subdomain} - Ejecutar migrations en nuevo schema
- Crear usuario administrador inicial
- Tests (8 casos)