fix(clientes): crear tenant como despacho desde admin global

Antes, createTenant() solo seteaba nombre, rfc, plan y databaseName.
Ahora registra tenants completos como despachos:

- dbMode: 'MANAGED'
- verticalProfile: CONTABLE | JURIDICO | ARQUITECTURA
- trialEndsAt: +30 días para plan trial
- codigoPostal: opcional (se llena automáticamente de la CSF al subir FIEL)

Frontend:
- Selector de Tipo de Despacho en /clientes
- C.P. omitido del formulario (viene de CSF -> sincronizarDatosFiscales)
- Tipos Tenant y CreateTenantData actualizados

Backend:
- getAllTenants y getTenantById retornan verticalProfile y codigoPostal

Refs: docs/sessions/2026-05-04-fix-clientes-crea-despacho.md
This commit is contained in:
Horux Dev
2026-05-17 06:11:29 +00:00
parent 44d7c796c9
commit e8aaf9ff15
5 changed files with 175 additions and 3 deletions

View File

@@ -52,7 +52,7 @@ export async function createTenant(req: Request, res: Response, next: NextFuncti
try {
await requireGlobalAdmin(req);
const { nombre, rfc, plan, adminEmail, adminNombre, amount, firstPaymentDueAt } = req.body;
const { nombre, rfc, plan, adminEmail, adminNombre, amount, firstPaymentDueAt, verticalProfile, codigoPostal } = req.body;
if (!nombre || !rfc || !adminEmail || !adminNombre) {
throw new AppError(400, 'Nombre, RFC, adminEmail y adminNombre son requeridos');
@@ -66,6 +66,8 @@ export async function createTenant(req: Request, res: Response, next: NextFuncti
adminNombre,
amount: amount || 0,
firstPaymentDueAt: firstPaymentDueAt || null,
verticalProfile: verticalProfile || 'CONTABLE',
codigoPostal,
});
res.status(201).json(result);