Contexto
El portal de personas morales introduce tres recursos nuevos en oaxaca —órdenes de pago, órdenes por lote y beneficiarios con alias— y sus tipos tienen que vivir aquí.
Este paquete es el contrato del servidor: oaxaca valida contra estas clases. Por ejemplo, POST /transfers usa @app.validate(StrictTransferRequest) (oaxaca/chalicelib/resources/transfers.py:28), así que un campo que no exista en el request se ignora sin importar lo que mande el cliente.
Conviene dejarlo dicho porque es una confusión fácil: la v2 de cuenca-js no sustituye a este paquete. Son contratos de lados opuestos. cuenca-js tipa al cliente; cuenca-validations valida en el servidor. El precedente está en Python: cuenca-python no redefine nada, importa de aquí (cuenca/resources/transfers.py:4-11).
Entregable
Requests, queries y enums de los recursos nuevos, siguiendo las convenciones del paquete:
- Requests en
types/requests.py, heredando de BaseRequest.
- Queries en
types/queries.py, heredando de QueryParams (con extra="forbid" y MAX_PAGE_SIZE=100).
- Enums en
types/enums.py como class X(str, Enum).
- Tipos de valor reutilizando los existentes (
Clabe, Rfc, Curp, StrictPositiveInt para montos en centavos).
Cubre:
- Órdenes de pago: request de creación, request de autorización/rechazo, query, y el enum de estados (
created, authorized, rejected, expired).
- Órdenes por lote: request con renglones, estado por renglón, query.
- Beneficiarios:
alias y estado de validación en el request de Account.
Nota: los montos siempre en centavos enteros, como BaseTransferRequest.amount (types/requests.py:116-118, "Always in cents, not in MXN pesos").
Criterios de aceptación
Dependencias
Se define junto con los issues de oaxaca; la implementación de allá depende de que esto esté publicado.
Fuera de alcance
La referencia numérica. Transfer.reference_number existe en el modelo de oaxaca (chalicelib/models/transfers.py:47) pero no en BaseTransferRequest; exponerlo queda pospuesto.
Contexto del programa
Parte del portal de banca en línea para personas morales (proyecto Webapp #114).
Enlaces
Depende de: se define junto con cuenca-mx/oaxaca#605, cuenca-mx/oaxaca#606, cuenca-mx/oaxaca#607
Bloquea a: cuenca-mx/oaxaca#605, cuenca-mx/oaxaca#606, cuenca-mx/oaxaca#607
Contexto
El portal de personas morales introduce tres recursos nuevos en
oaxaca—órdenes de pago, órdenes por lote y beneficiarios con alias— y sus tipos tienen que vivir aquí.Este paquete es el contrato del servidor: oaxaca valida contra estas clases. Por ejemplo,
POST /transfersusa@app.validate(StrictTransferRequest)(oaxaca/chalicelib/resources/transfers.py:28), así que un campo que no exista en el request se ignora sin importar lo que mande el cliente.Conviene dejarlo dicho porque es una confusión fácil: la v2 de
cuenca-jsno sustituye a este paquete. Son contratos de lados opuestos.cuenca-jstipa al cliente;cuenca-validationsvalida en el servidor. El precedente está en Python:cuenca-pythonno redefine nada, importa de aquí (cuenca/resources/transfers.py:4-11).Entregable
Requests, queries y enums de los recursos nuevos, siguiendo las convenciones del paquete:
types/requests.py, heredando deBaseRequest.types/queries.py, heredando deQueryParams(conextra="forbid"yMAX_PAGE_SIZE=100).types/enums.pycomoclass X(str, Enum).Clabe,Rfc,Curp,StrictPositiveIntpara montos en centavos).Cubre:
created,authorized,rejected,expired).aliasy estado de validación en el request deAccount.Nota: los montos siempre en centavos enteros, como
BaseTransferRequest.amount(types/requests.py:116-118, "Always in cents, not in MXN pesos").Criterios de aceptación
types/__init__.py.json_schema_extracon ejemplos, como el resto del paquete.oaxaca/requirements.txt.cuenca-python, oaxaca, identify, authed).Dependencias
Se define junto con los issues de oaxaca; la implementación de allá depende de que esto esté publicado.
Fuera de alcance
La referencia numérica.
Transfer.reference_numberexiste en el modelo de oaxaca (chalicelib/models/transfers.py:47) pero no enBaseTransferRequest; exponerlo queda pospuesto.Contexto del programa
Parte del portal de banca en línea para personas morales (proyecto Webapp #114).
Enlaces
Depende de: se define junto con cuenca-mx/oaxaca#605, cuenca-mx/oaxaca#606, cuenca-mx/oaxaca#607
Bloquea a: cuenca-mx/oaxaca#605, cuenca-mx/oaxaca#606, cuenca-mx/oaxaca#607