Contexto del programa
Portal de banca en línea para legal persons (proyecto Webapp #114).
Modelo acordado:
- legal person (LegalPerson) =
US_* en Core (dueña de ledger, cuentas, transferencias).
- Operator = empleado (persona física) en Identify; no es un User de Core.
- Authed autentica al operador y emite Session con
user_id = US_empresa.
- Downstream (oaxaca, knox, spider) sigue filtrando por
user_id de la empresa — sin cambios de filtrado.
Este issue es la base de contratos que consumen identify, authed, core y webapp.
Naming: el tipo acordado es LegalPerson (traducción al inglés de legal person), no LegalPerson.
Qué hay que hacer
- Definir enum
OperatorRole: operator, authorizer.
- Request/response LegalPerson (razón social, RFC, representantes — alineado a identify#461).
- Request/response Operator (email, name, phone, company_user_id, role, status).
- Request/response OperatorLogin (email + password in; session_token out).
- Validaciones Pydantic (
extra='forbid' en requests).
- Publicar versión dev (ej.
2.x.devN) para pin en repos dependientes.
Roles MVP (referencia para tipos)
| Rol |
Descripción |
operator |
Operaciones excepto autorizar movimientos de dinero |
authorizer |
Operator + autorizar transferencias/dispersiones |
Criterios de aceptación
Dependencias
Asignación
Persona B.
Relacionado
- Tipos transacciones/cuentas oaxaca: cuenca-validations#419 / PR#420
- Session metadata (auditoría TBD): cuenca-validations#422
Contexto del programa
Portal de banca en línea para legal persons (proyecto Webapp #114).
Modelo acordado:
US_*en Core (dueña de ledger, cuentas, transferencias).user_id = US_empresa.user_idde la empresa — sin cambios de filtrado.Este issue es la base de contratos que consumen identify, authed, core y webapp.
Naming: el tipo acordado es
LegalPerson(traducción al inglés de legal person), noLegalPerson.Qué hay que hacer
OperatorRole:operator,authorizer.extra='forbid'en requests).2.x.devN) para pin en repos dependientes.Roles MVP (referencia para tipos)
operatorauthorizerCriterios de aceptación
LegalPersonRequest,LegalPersonUpdateRequest, Operator*, OperatorLogin*)Dependencias
Asignación
Persona B.
Relacionado