Contexto Delimitado: Autorizacion
Raiz de Agregado: Role
Modulo: Ums.Domain.Authorization.Role
Estado: Produccion
Role es el catalogo maestro de responsabilidades, acotado por tenant y definido por una SystemSuite. Proporciona el identificador gobernado que referencian las plantillas de permisos y los perfiles, con jerarquia opcional para promocion y administracion.
| Campo | Regla |
|---|---|
Code |
Requerido y unico dentro de SystemSuiteId; codigo estable de maquina. |
Value |
Valor visible requerido para administradores. |
Description |
Explicacion funcional mantenida con el elemento del catalogo. |
ParentRoleId |
Rol opcional dentro de la misma suite del sistema. |
HierarchyLevel |
La raiz es 0; un hijo es el nivel del padre mas uno. |
PromotionOrder |
Orden no negativo usado por flujos de gobierno del rol. |
IsActive |
Estado de ciclo de vida; registros inactivos siguen siendo auditables. |
TenantId y SystemSuiteId son limites obligatorios de propiedad.Result para condiciones de negocio; no usan excepciones para control de flujo.classDiagram
class SystemSuite {
+Guid Id
}
class Role {
+Guid Id
+Guid TenantId
+Guid SystemSuiteId
+Guid ParentRoleId
+Code Code
+Name Value
+Description Description
+int HierarchyLevel
+int PromotionOrder
+bool IsActive
+Create()
+Update()
+Activate()
+Deactivate()
}
SystemSuite "1" --> "0..*" Role : defines
Role "0..1" --> "0..*" Role : parentOf
POST /system-suites/{systemSuiteId}/roles, PUT /system-suites/{systemSuiteId}/roles/{roleId} y endpoints de estado.rolesBySystemSuite(systemSuiteId).Roles pertenece al panel de detalle de la Suite del Sistema seleccionada.ErrorId para soporte; trazas y detalles de implementacion se registran solamente mediante Serilog/Loki.[ums_authorization].[Roles].TenantId; los resguardos de SQL Server son controles secundarios.