Skip to content

Plataforma técnica · Sevastopol

Tenants en Sevastopol

Islands Command Multi-tenant

TenantsViewIsland mantiene el padrón de empresas clientes de la plataforma. Es la única entrada para alta, edición, suspensión y provisión de la base postgres por tenant.

El ciclo del tenant nuevo es de dos pasos:

  1. POST /api/tenant crea el registro en command.tenants con RUT, nombre comercial, contacto y régimen tributario.
  2. POST /api/tenant-db/create provisiona la base postgres del tenant con el template.

La island encadena ambos pasos en el modal de alta, pero el operador puede ejecutarlos por separado si la provisión falla.

DecisiónMotivo
RUT validado en clientevalidateRut aplica módulo 11 antes del POST — evita rebote del backend para errores triviales.
RUT formateado al guardarformatRut produce XX.XXX.XXX-K; el backend recibe normalizado sin importar cómo lo tipee el operador.
Régimen tributario en select cerrado6 opciones (14D, 14A, ProPyme, General, Renta Presunta, Simplificado). Texto libre permitiría regímenes inexistentes que el SII rechazaría.
Nombre de DB derivado del nombre comercialtoDbName(value) saca minúsculas + guiones bajos para producir un identificador postgres válido. Si el operador no provee, la island sugiere.
Tabs de status (all / active / inactive)Default all. Cambiar a active es el filtro más usual al revisar quién factura.
Métrica de cuentas/usuarios por tenantSe trae con el listado y se muestra como InlineMetricPill por fila — detecta tenants vacíos o sobredimensionados.
Acciones por estadoEditar siempre disponible; suspender/reactivar se intercambian según tenant.status. La eliminación destructiva se evita — se suspende.
GrupoCampos esperados
IdentificaciónRUT (validado), nombre comercial, razón social.
RégimenTax regime (14D/14A/ProPyme/General/Renta Presunta/Simplificado).
ContactoEmail, teléfono.
InfraestructuraNombre de la DB, status (activo/inactivo).
MétricasCuentas, usuarios, sesiones activas.
Método + rutaUso
GET /api/tenantListado completo.
GET /api/tenant?id=Carga puntual para editar.
POST /api/tenantAlta del registro.
PUT /api/tenant?id=Edición.
DELETE /api/tenant?id=Eliminación (rara — se prefiere suspender).
POST /api/tenant-db/createProvisión de la base postgres del tenant.

TenantService — CRUD del registro + orquestación de la creación de la base via pg_dump del template. Restringido a SUPER_ADMIN.