Modelo Técnico: TenantUser
Ubicación SSoT:
com.neosystima.app.modules.tenant.data.model.TenantUser
Campo API: email
String?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | |
| Descripción | Dirección de correo electrónico institucional o personal del usuario. |
| Dominio | Email |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🟢 Forms: 🟢 | Formato: EmailRegla UI: Validación de formato de correo electrónico. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | MEDIUM |
| Encriptado | 🔴 |
| Indexado | 🟢 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Ingreso manual/ Sistema - Validaciones Raw:
Único en la base de datos. - Longitud Max:
50
Ejemplo de Integración:
{
"email": "usuario@empresa.com"
}
Campo API: name
String?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Nombre Real |
| Descripción | Nombre completo del usuario o colaborador. |
| Dominio | Alfabético |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🟢 Forms: 🟢 | Formato: EstándarRegla UI: Texto de una sola línea. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Ingreso manual/ Sistema - Validaciones Raw:
Ninguna adicional. - Longitud Max:
100
Ejemplo de Integración:
{
"name": "Juan Pérez, María García"
}
Campo API: password
String?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Contraseña |
| Descripción | Credencial de seguridad cifrada para la autenticación. |
| Dominio | Cifrado |
| Público | 🔴 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: Hash BCryptRegla UI: Campo de tipo Password (oculto). Requiere validación de fortaleza. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | HIGH |
| Encriptado | 🟢 |
| Indexado | 🔴 |
| Auditado | 🔴 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Ingreso manual/ Sistema - Validaciones Raw:
Debe incluir al menos una mayúscula y un número antes de aplicar el hash. - Longitud Max:
255
Ejemplo de Integración:
{
"password": "********"
}
Campo API: roles
TenantRole>
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Roles Asignados |
| Descripción | Conjunto de roles y permisos asignados al usuario para el control de acceso (RBAC). |
| Dominio | Tabla Roles |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🟢 Forms: 🟢 | Formato: ColecciónRegla UI: Selector múltiple (Multi-select) o transferencia de etiquetas. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | MEDIUM |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Administrador/ Sistema - Validaciones Raw:
Colección no vacía. - Longitud Max:
255
Ejemplo de Integración:
{
"roles": "ADMIN, EDITOR, VIEWER"
}
Campo API: status
Status?
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Estado de Cuenta |
| Descripción | Estado actual del usuario. Determina si puede o no iniciar sesión. |
| Dominio | Tabla Status |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🟢 Forms: 🟢 | Formato: ID ForáneoRegla UI: Selector de estados administrativos. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🟢 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Sistema/ Sistema - Validaciones Raw:
Limitado a los estados permitidos por el dominio. - Longitud Max:
255
Ejemplo de Integración:
{
"status": "1 (Activo), 2 (Suspendido)"
}
Campo API: termsAcceptedAt
Instant?
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Fecha de Aceptación |
| Descripción | Marca de tiempo de la última vez que el usuario aceptó los términos y condiciones. |
| Dominio | Tiempo |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: Timestamp ISORegla UI: Solo lectura. Se registra automáticamente al hacer clic en 'Aceptar'. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Sistema/ Sistema - Validaciones Raw:
N/A - Longitud Max:
255
Ejemplo de Integración:
{
"termsAcceptedAt": "2024-05-20T14:30:00Z"
}
Campo API: termsVersion
String?
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Versión de Términos |
| Descripción | Versión específica del documento legal aceptada por el usuario. |
| Dominio | Versión |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: Texto cortoRegla UI: Solo lectura. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Sistema/ Sistema - Validaciones Raw:
N/A - Longitud Max:
20
Ejemplo de Integración:
{
"termsVersion": "v2.1"
}
Campo API: username
String?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Nombre de Usuario |
| Descripción | Identificador único de acceso al sistema (Login ID). |
| Dominio | [a-z0-9_.] |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🟢 Forms: 🟢 | Formato: MinúsculasRegla UI: Texto sin espacios. Se valida disponibilidad en tiempo real. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | MEDIUM |
| Encriptado | 🔴 |
| Indexado | 🟢 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Ingreso manual/ Sistema - Validaciones Raw:
Único en la base de datos. - Longitud Max:
50
Ejemplo de Integración:
{
"username": "jperez, admin_01"
}
Campo API: code
String?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Código de Referencia |
| Descripción | Identificador único de negocio para el registro.A diferencia del ID numérico interno, este código está pensado para ser expuesto y facilitar búsquedas o referencias. |
| Dominio | Secuencia controlada o formato prefijado |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🟢 Forms: 🟢 | Formato: AlfanuméricoRegla UI: Se muestra como referencia (usualmente entre paréntesis) junto al título del formulario. No es un campo editable en el flujo estándar. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🟢 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
Generado por secuencia - Fuente / Dueño:
Generado automáticamente por el motor de secuencias del sistema/ Sistema - Validaciones Raw:
Debe ser estrictamente único en toda la tabla. - Longitud Max:
20
Ejemplo de Integración:
{
"code": "000001, CLI-005, STY-20"
}
Campo API: createdAt
Instant?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Fecha de Creación |
| Descripción | Fecha y hora exacta en la que se insertó el registro por primera vez. |
| Dominio | Fechas válidas pasadas o presentes |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: Timestamp (ISO 8601)Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🔴 |
4. Especificaciones Técnicas
- Valor Default:
CURRENT_TIMESTAMP - Fuente / Dueño:
Generado automáticamente por el framework de auditoría/ Sistema - Validaciones Raw:
No modificable tras su creación (updatable = false). - Longitud Max:
255
Ejemplo de Integración:
{
"createdAt": "2025-10-15T14:30:00Z"
}
Campo API: createdBy
String?
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Creado Por |
| Descripción | Identificador principal del usuario que creó originalmente el registro. |
| Dominio | Usuarios válidos en el contexto de seguridad |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: AlfanuméricoRegla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | MEDIUM |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🔴 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Extraído del contexto de seguridad (SecurityContext)/ Sistema - Validaciones Raw:
No modificable tras la creación. - Longitud Max:
50
Ejemplo de Integración:
{
"createdBy": "admin, guest, USR-001"
}
Campo API: id
Long?
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Identificador del Sistema |
| Descripción | Identificador numérico interno y clave primaria (Primary Key) del registro en la base de datos. |
| Dominio | Números enteros positivos mayores a 0 |
| Público | 🔴 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🔴 | Formato: Numérico (BigInt)Regla UI: Campo oculto o deshabilitado. No se expone directamente al usuario final para edición. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🟢 |
| Auditado | 🔴 |
4. Especificaciones Técnicas
- Valor Default:
Asignación automática - Fuente / Dueño:
Autoincrementable y asignado por el motor de BD al insertar (INSERT)./ Sistema - Validaciones Raw:
Único e irrepetible. De solo lectura tras su creación. - Longitud Max:
255
Ejemplo de Integración:
{
"id": "1, 2, 1054"
}
Campo API: isSystem
Boolean
REQUIRED
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Registro de Sistema |
| Descripción | Marca técnica que indica si el registro fue creado por el sistema y posee restricciones (ej: no se puede borrar o editar su código). |
| Dominio | {true, false} |
| Público | 🔴 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: BooleanoRegla UI: Casilla de verificación (Checkbox) o Interruptor (Toggle). En formularios se muestra deshabilitado (solo lectura). |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🟢 |
4. Especificaciones Técnicas
- Valor Default:
false - Fuente / Dueño:
Generado por el sistema/ Sistema - Validaciones Raw:
No modificable por el usuario final (bloqueado a nivel de servicio). - Longitud Max:
255
Ejemplo de Integración:
{
"isSystem": "true, false"
}
Campo API: lastModifiedBy
String?
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Modificado Por |
| Descripción | Identificador principal del usuario que realizó la última modificación al registro. |
| Dominio | Usuarios válidos en el contexto de seguridad |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: AlfanuméricoRegla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🔴 |
4. Especificaciones Técnicas
- Valor Default:
N/A - Fuente / Dueño:
Extraído del contexto de seguridad (SecurityContext)/ Sistema - Validaciones Raw:
Ninguna adicional. - Longitud Max:
50
Ejemplo de Integración:
{
"lastModifiedBy": "admin, manager"
}
Campo API: updatedAt
Instant?
1. Definición de Negocio
| Atributo | Detalle |
|---|---|
| Etiqueta | Última Actualización |
| Descripción | Fecha y hora de la última modificación del registro. |
| Dominio | Fechas válidas pasadas o presentes |
| Público | 🟢 |
2. Capa de Interfaz (Frontend)
| Requerimiento | Reglas Visuales |
|---|---|
| Grilla: 🔴 Forms: 🟢 | Formato: Timestamp (ISO 8601)Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura. |
3. Seguridad y Auditoría
| Parámetro | Valor |
|---|---|
| Sensibilidad | LOW |
| Encriptado | 🔴 |
| Indexado | 🔴 |
| Auditado | 🔴 |
4. Especificaciones Técnicas
- Valor Default:
CURRENT_TIMESTAMP - Fuente / Dueño:
Generado automáticamente por el framework de auditoría/ Sistema - Validaciones Raw:
Se actualiza automáticamente en cada operación de modificación (UPDATE). - Longitud Max:
255
Ejemplo de Integración:
{
"updatedAt": "2025-10-16T09:15:00Z"
}