diff --git a/cuenca_validations/types/__init__.py b/cuenca_validations/types/__init__.py index b36296b4..8e0194bf 100644 --- a/cuenca_validations/types/__init__.py +++ b/cuenca_validations/types/__init__.py @@ -1,6 +1,9 @@ __all__ = [ 'AccountUseType', 'AccountQuery', + 'AccountRequest', + 'AccountUpdateRequest', + 'AccountValidationStatus', 'Address', 'AgentQuery', 'AgentRequest', @@ -60,6 +63,8 @@ 'LimitedWalletRequest', 'MonthlyMovementsType', 'MonthlySpendingType', + 'OperationalEventAction', + 'OperationalEventQuery', 'PartnerRequest', 'PartnerUpdateRequest', 'PasswordResetRequest', @@ -129,6 +134,7 @@ from .card import StrictPaymentCardNumber from .enums import ( AccountUseType, + AccountValidationStatus, AuthorizerTransaction, BankAccountStatus, CardErrorType, @@ -155,6 +161,7 @@ Language, MonthlyMovementsType, MonthlySpendingType, + OperationalEventAction, PlatformType, PosCapability, Profession, @@ -213,6 +220,7 @@ EventQuery, FileQuery, IdentityQuery, + OperationalEventQuery, PostalCodeQuery, QueryParams, SessionQuery, @@ -226,6 +234,8 @@ WalletTransactionQuery, ) from .requests import ( + AccountRequest, + AccountUpdateRequest, AgentRequest, ApiKeyUpdateRequest, BankAccountValidationRequest, diff --git a/cuenca_validations/types/enums.py b/cuenca_validations/types/enums.py index ea98eab8..07f9e950 100644 --- a/cuenca_validations/types/enums.py +++ b/cuenca_validations/types/enums.py @@ -744,3 +744,15 @@ class RequiredAction(str, Enum): level_up_required = 'level_up_required' level_up_invitation = 'level_up_invitation' fix_documents = 'fix_documents' + + +class AccountValidationStatus(str, Enum): + verified = 'verified' + pending = 'pending' + + +class OperationalEventAction(str, Enum): + account_created = 'account_created' + account_updated = 'account_updated' + transfer_created = 'transfer_created' + statement_downloaded = 'statement_downloaded' diff --git a/cuenca_validations/types/queries.py b/cuenca_validations/types/queries.py index 5981c269..d0c6b6e2 100644 --- a/cuenca_validations/types/queries.py +++ b/cuenca_validations/types/queries.py @@ -22,6 +22,7 @@ CardType, EventType, KYCFileType, + OperationalEventAction, SessionType, TermsOfService, TransferNetwork, @@ -153,6 +154,11 @@ class AccountQuery(QueryParams): account_number: Optional[str] = None +class OperationalEventQuery(QueryParams): + actor_id: Optional[str] = None + action: Optional[OperationalEventAction] = None + + class BalanceEntryQuery(QueryParams): funding_instrument_uri: Optional[str] = None wallet_id: str = 'default' diff --git a/cuenca_validations/types/requests.py b/cuenca_validations/types/requests.py index 00a19a0d..2de8f23d 100644 --- a/cuenca_validations/types/requests.py +++ b/cuenca_validations/types/requests.py @@ -18,6 +18,7 @@ from ..types.enums import ( AccountUseType, + AccountValidationStatus, AuthorizerTransaction, CardDesign, CardFundingType, @@ -735,6 +736,39 @@ class LimitedWalletRequest(BaseRequest): allowed_rfc: Optional[Rfc] = None +class AccountRequest(BaseRequest): + name: StrictStr + account_number: Clabe + alias: Optional[StrictStr] = None + curp: Optional[Curp] = None + rfc: Optional[Rfc] = None + + model_config = ConfigDict( + json_schema_extra={ + 'example': { + 'name': 'Aceros del Norte SA de CV', + 'account_number': '072691004495711499', + 'alias': 'Proveedor acero', + } + }, + ) + + +class AccountUpdateRequest(BaseRequest): + name: Optional[StrictStr] = None + alias: Optional[StrictStr] = None + validation_status: Optional[AccountValidationStatus] = None + + model_config = ConfigDict( + json_schema_extra={ + 'example': { + 'alias': 'Fletes', + 'validation_status': 'verified', + } + }, + ) + + class PlatformRequest(BaseModel): name: str rfc: Optional[str] = None diff --git a/cuenca_validations/version.py b/cuenca_validations/version.py index e5bf0c19..c1e12ab0 100644 --- a/cuenca_validations/version.py +++ b/cuenca_validations/version.py @@ -1 +1 @@ -__version__ = '2.1.40' +__version__ = '2.1.41.dev0'