@
Continuación de #159 / PR #190 (merge #199), que dejó la base: scope entity(resource), rol point_manager y panel "Responsables del punto" (solo concede point_manager).
Objetivo
Un centro logístico (punto de acopio) debe poder tener uno o varios responsables (ya cubierto) y varios voluntarios con dos roles operativos diferenciados:
- Recogida (intake): recepción de donaciones en el punto.
- Entrega (dispatch): salida/entrega de material.
Alcance
Decisión de gobernanza (bloqueante para el set de permisos)
Por la atenuación (GrantRole regla 2: quien concede debe poseer ⊇ los permisos del rol concedido sobre la cadena del punto):
- Si el responsable del punto da de alta a sus voluntarios →
point_manager necesita role:grant y la unión de permisos de ambos roles voluntarios.
- Si solo el coordinador de la emergencia gestiona personal → basta alinear los permisos de
emergency_coordinator (hoy le faltan manifest:sign y shipment:track para delegar una entrega que los use).
Definir cuál de los dos modelos antes de cerrar permisos.
@
@
Continuación de #159 / PR #190 (merge #199), que dejó la base: scope
entity(resource), rolpoint_managery panel "Responsables del punto" (solo concedepoint_manager).Objetivo
Un centro logístico (punto de acopio) debe poder tener uno o varios responsables (ya cubierto) y varios voluntarios con dos roles operativos diferenciados:
Alcance
role-catalog.tscondefaultScopeType: entity(entityTyperesource):point_intake_volunteer(recogida):intake:receive,intake:read,container:read,resource:read.point_dispatch_volunteer(entrega):shipment:read,container:read,resource:read(+manifest:sign/shipment:tracksi firman/despachan salidas — decidir).resource-grants-panel.tsx(hoyroleId="point_manager"hardcodeado) + allowlist server-side de roles concedibles aentity(resource)en el server action / controller.grant.roleId→ etiqueta localizada), no "Responsable de punto" fijo.Decisión de gobernanza (bloqueante para el set de permisos)
Por la atenuación (
GrantRoleregla 2: quien concede debe poseer ⊇ los permisos del rol concedido sobre la cadena del punto):point_managernecesitarole:granty la unión de permisos de ambos roles voluntarios.emergency_coordinator(hoy le faltanmanifest:signyshipment:trackpara delegar una entrega que los use).Definir cuál de los dos modelos antes de cerrar permisos.
@