Saltar al contenido principal

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

AtributoDetalle
EtiquetaEmail
DescripciónDirección de correo electrónico institucional o personal del usuario.
DominioEmail
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Email
Regla UI: Validación de formato de correo electrónico.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadMEDIUM
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

AtributoDetalle
EtiquetaNombre Real
DescripciónNombre completo del usuario o colaborador.
DominioAlfabético
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Estándar
Regla UI: Texto de una sola línea.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaContraseña
DescripciónCredencial de seguridad cifrada para la autenticación.
DominioCifrado
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Hash BCrypt
Regla UI: Campo de tipo Password (oculto). Requiere validación de fortaleza.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadHIGH
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

AtributoDetalle
EtiquetaRoles Asignados
DescripciónConjunto de roles y permisos asignados al usuario para el control de acceso (RBAC).
DominioTabla Roles
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Colección
Regla UI: Selector múltiple (Multi-select) o transferencia de etiquetas.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadMEDIUM
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

AtributoDetalle
EtiquetaEstado de Cuenta
DescripciónEstado actual del usuario. Determina si puede o no iniciar sesión.
DominioTabla Status
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ID Foráneo
Regla UI: Selector de estados administrativos.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaFecha de Aceptación
DescripciónMarca de tiempo de la última vez que el usuario aceptó los términos y condiciones.
DominioTiempo
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp ISO
Regla UI: Solo lectura. Se registra automáticamente al hacer clic en 'Aceptar'.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaVersión de Términos
DescripciónVersión específica del documento legal aceptada por el usuario.
DominioVersión
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Texto corto
Regla UI: Solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaNombre de Usuario
DescripciónIdentificador único de acceso al sistema (Login ID).
Dominio[a-z0-9_.]
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Minúsculas
Regla UI: Texto sin espacios. Se valida disponibilidad en tiempo real.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadMEDIUM
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

AtributoDetalle
EtiquetaCódigo de Referencia
DescripciónIdentificador ú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.
DominioSecuencia controlada o formato prefijado
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Alfanumérico
Regla 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ámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaFecha de Creación
DescripciónFecha y hora exacta en la que se insertó el registro por primera vez.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas 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ámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaCreado Por
DescripciónIdentificador principal del usuario que creó originalmente el registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla 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ámetroValor
SensibilidadMEDIUM
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

AtributoDetalle
EtiquetaIdentificador del Sistema
DescripciónIdentificador numérico interno y clave primaria (Primary Key) del registro en la base de datos.
DominioNúmeros enteros positivos mayores a 0
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas 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ámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaRegistro de Sistema
DescripciónMarca 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)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Booleano
Regla UI: Casilla de verificación (Checkbox) o Interruptor (Toggle). En formularios se muestra deshabilitado (solo lectura).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaModificado Por
DescripciónIdentificador principal del usuario que realizó la última modificación al registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla 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ámetroValor
SensibilidadLOW
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

AtributoDetalle
EtiquetaÚltima Actualización
DescripciónFecha y hora de la última modificación del registro.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas 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ámetroValor
SensibilidadLOW
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"
}