From 3a4a9604bea0d575d9d422c41ff2f8dde676f6db Mon Sep 17 00:00:00 2001 From: gabino Date: Mon, 1 Sep 2025 17:41:22 -0600 Subject: [PATCH 1/7] Update User class with new fields --- cuenca/resources/users.py | 27 ++++++++++++++++++++++++++- requirements.txt | 2 +- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/cuenca/resources/users.py b/cuenca/resources/users.py index 295dd0d2..88a4b9df 100644 --- a/cuenca/resources/users.py +++ b/cuenca/resources/users.py @@ -14,7 +14,14 @@ UserStatus, UserUpdateRequest, ) -from cuenca_validations.types.enums import Country, Gender, State +from cuenca_validations.types.enums import ( + AccountUseTypes, + Country, + Gender, + MonthlyMovementsTypes, + MonthlySpendingTypes, + State, +) from cuenca_validations.types.general import SerializableHttpUrl from cuenca_validations.types.identities import AddressRequest, Curp from pydantic import ConfigDict, EmailStr, Field @@ -59,6 +66,10 @@ class User(Creatable, Retrievable, Updateable, Queryable): platform_id: Optional[str] = None clabe: Optional[Clabe] = None fiscal_regime_code: Optional[SATRegimeCode] = None + fiscal_address: Optional[Address] = None + account_use_type: Optional[AccountUseTypes] = None + monthly_spending_type: Optional[MonthlySpendingTypes] = None + monthly_movements_type: Optional[MonthlyMovementsTypes] = None # These fields are added by identify when retrieving a User: names: Optional[str] = None first_surname: Optional[str] = None @@ -110,6 +121,9 @@ def create( address: Optional[AddressRequest] = None, email_verification_id: Optional[str] = None, phone_verification_id: Optional[str] = None, + account_use_type: Optional[AccountUseTypes] = None, + monthly_spending_type: Optional[MonthlySpendingTypes] = None, + monthly_movements_type: Optional[MonthlyMovementsTypes] = None, *, session: Session = global_session, ) -> 'User': @@ -119,6 +133,9 @@ def create( address=address, email_verification_id=email_verification_id, phone_verification_id=phone_verification_id, + account_use_type=account_use_type, + monthly_spending_type=monthly_spending_type, + monthly_movements_type=monthly_movements_type, ) return cls._create(session=session, **req.model_dump()) @@ -137,6 +154,10 @@ def update( phone_verification_id: Optional[str] = None, curp_document: Optional[SerializableHttpUrl] = None, fiscal_regime_code: Optional[SATRegimeCode] = None, + fiscal_address: Optional[AddressRequest] = None, + account_use_type: Optional[AccountUseTypes] = None, + monthly_spending_type: Optional[MonthlySpendingTypes] = None, + monthly_movements_type: Optional[MonthlyMovementsTypes] = None, pronouns: Optional[str] = None, *, session: Session = global_session, @@ -153,6 +174,10 @@ def update( phone_verification_id=phone_verification_id, curp_document=curp_document, fiscal_regime_code=fiscal_regime_code, + fiscal_address=fiscal_address, + account_use_type=account_use_type, + monthly_spending_type=monthly_spending_type, + monthly_movements_type=monthly_movements_type, pronouns=pronouns, ) return cls._update(id=user_id, **request.model_dump(), session=session) diff --git a/requirements.txt b/requirements.txt index d85d103b..afd56882 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests==2.32.3 -cuenca-validations==2.1.14 +cuenca-validations==2.1.16.dev6 pydantic-extra-types==2.10.2 From c8109340acec0723430b1f0f1832c0ef230d7259 Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 2 Sep 2025 09:44:39 -0600 Subject: [PATCH 2/7] Update cuenca-validations to version 2.1.16.dev7 --- requirements.txt | 2 +- tests/resources/cassettes/test_session_create.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index afd56882..c301776e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests==2.32.3 -cuenca-validations==2.1.16.dev6 +cuenca-validations==2.1.16.dev7 pydantic-extra-types==2.10.2 diff --git a/tests/resources/cassettes/test_session_create.yaml b/tests/resources/cassettes/test_session_create.yaml index b5402ee9..f1b224fd 100644 --- a/tests/resources/cassettes/test_session_create.yaml +++ b/tests/resources/cassettes/test_session_create.yaml @@ -139,7 +139,7 @@ interactions: code: 201 message: Created - request: - body: '{"profession": "Comercio", "email_verification_id": null, "phone_verification_id": + body: '{"profession": "comercio", "email_verification_id": null, "phone_verification_id": null, "address": null, "beneficiaries": null, "govt_id": null, "proof_of_address": null, "proof_of_life": null, "curp_document_uri": null, "fiscal_regime_code": null, "pronouns": null}' @@ -160,7 +160,7 @@ interactions: body: string: '{"id":"USPR4JxMuwSG60u2h4gBpB6Q","created_at":"2025-07-29T17:26:51.788000","updated_at":"2025-07-29T17:26:56.475244","platform_id":"PTZbBlk__kQt-wfwzP5nwA9A","user_type":"physical","level":0,"required_level":3,"phone_number":"+525555555552","phone_number_is_active":true,"email_address":"test-cuenca-06@yopmail.com","email_address_is_active":true,"clabe":"723324548297159645","status":"active","address":{"street":"calle 1","ext_number":"2","int_number":"3","postal_code":"40106","colonia":"El Naranjo","state":"GR","city":"Iguala - de la Independencia","country":"MX","created_at":"2025-07-29T17:26:51.788000","full_name":null},"identity_uri":"/identities/IDfN3QVig1Qui8oZNrmA4hfw","profession":"Comercio","user_tos_agreements_id":null,"blacklist_validation_status":"succeeded","govt_id":null,"proof_of_address":null,"proof_of_life":null,"beneficiaries":[],"curp_status":"succeeded","pronouns":null,"fiscal_regime_code":null,"cash_reference_number":null,"names":"José","first_surname":"López","second_surname":"Hernández","curp":"LOHJ660606HDFPRS02","rfc":"MOOG960621GJ1","gender":"male","date_of_birth":"1996-06-21","state_of_birth":"GR","nationality":"MX","country_of_birth":"MX"}' + de la Independencia","country":"MX","created_at":"2025-07-29T17:26:51.788000","full_name":null},"identity_uri":"/identities/IDfN3QVig1Qui8oZNrmA4hfw","profession":"comercio","user_tos_agreements_id":null,"blacklist_validation_status":"succeeded","govt_id":null,"proof_of_address":null,"proof_of_life":null,"beneficiaries":[],"curp_status":"succeeded","pronouns":null,"fiscal_regime_code":null,"cash_reference_number":null,"names":"José","first_surname":"López","second_surname":"Hernández","curp":"LOHJ660606HDFPRS02","rfc":"MOOG960621GJ1","gender":"male","date_of_birth":"1996-06-21","state_of_birth":"GR","nationality":"MX","country_of_birth":"MX"}' headers: Connection: - keep-alive From cea6897f08762f95b357fb43efb65b6a083655a1 Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 2 Sep 2025 12:50:49 -0600 Subject: [PATCH 3/7] Add income_type field to User class --- cuenca/resources/users.py | 5 +++++ requirements.txt | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/cuenca/resources/users.py b/cuenca/resources/users.py index 88a4b9df..07bb1c45 100644 --- a/cuenca/resources/users.py +++ b/cuenca/resources/users.py @@ -18,6 +18,7 @@ AccountUseTypes, Country, Gender, + IncomeType, MonthlyMovementsTypes, MonthlySpendingTypes, State, @@ -70,6 +71,7 @@ class User(Creatable, Retrievable, Updateable, Queryable): account_use_type: Optional[AccountUseTypes] = None monthly_spending_type: Optional[MonthlySpendingTypes] = None monthly_movements_type: Optional[MonthlyMovementsTypes] = None + income_type: Optional[IncomeType] = None # These fields are added by identify when retrieving a User: names: Optional[str] = None first_surname: Optional[str] = None @@ -124,6 +126,7 @@ def create( account_use_type: Optional[AccountUseTypes] = None, monthly_spending_type: Optional[MonthlySpendingTypes] = None, monthly_movements_type: Optional[MonthlyMovementsTypes] = None, + income_type: Optional[IncomeType] = None, *, session: Session = global_session, ) -> 'User': @@ -158,6 +161,7 @@ def update( account_use_type: Optional[AccountUseTypes] = None, monthly_spending_type: Optional[MonthlySpendingTypes] = None, monthly_movements_type: Optional[MonthlyMovementsTypes] = None, + income_type: Optional[IncomeType] = None, pronouns: Optional[str] = None, *, session: Session = global_session, @@ -178,6 +182,7 @@ def update( account_use_type=account_use_type, monthly_spending_type=monthly_spending_type, monthly_movements_type=monthly_movements_type, + income_type=income_type, pronouns=pronouns, ) return cls._update(id=user_id, **request.model_dump(), session=session) diff --git a/requirements.txt b/requirements.txt index c301776e..dac81828 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests==2.32.3 -cuenca-validations==2.1.16.dev7 +cuenca-validations==2.1.16.dev8 pydantic-extra-types==2.10.2 From 1b38c6339ded971f37a57f5c5bccb2a9f4b8ce95 Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 2 Sep 2025 13:47:32 -0600 Subject: [PATCH 4/7] Update cuenca-validations to version 2.1.16.dev9 --- cuenca/resources/users.py | 24 ++++++++++++------------ requirements.txt | 2 +- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cuenca/resources/users.py b/cuenca/resources/users.py index 07bb1c45..3feb2220 100644 --- a/cuenca/resources/users.py +++ b/cuenca/resources/users.py @@ -15,12 +15,12 @@ UserUpdateRequest, ) from cuenca_validations.types.enums import ( - AccountUseTypes, + AccountUseType, Country, Gender, IncomeType, - MonthlyMovementsTypes, - MonthlySpendingTypes, + MonthlyMovementsType, + MonthlySpendingType, State, ) from cuenca_validations.types.general import SerializableHttpUrl @@ -68,9 +68,9 @@ class User(Creatable, Retrievable, Updateable, Queryable): clabe: Optional[Clabe] = None fiscal_regime_code: Optional[SATRegimeCode] = None fiscal_address: Optional[Address] = None - account_use_type: Optional[AccountUseTypes] = None - monthly_spending_type: Optional[MonthlySpendingTypes] = None - monthly_movements_type: Optional[MonthlyMovementsTypes] = None + account_use_type: Optional[AccountUseType] = None + monthly_spending_type: Optional[MonthlySpendingType] = None + monthly_movements_type: Optional[MonthlyMovementsType] = None income_type: Optional[IncomeType] = None # These fields are added by identify when retrieving a User: names: Optional[str] = None @@ -123,9 +123,9 @@ def create( address: Optional[AddressRequest] = None, email_verification_id: Optional[str] = None, phone_verification_id: Optional[str] = None, - account_use_type: Optional[AccountUseTypes] = None, - monthly_spending_type: Optional[MonthlySpendingTypes] = None, - monthly_movements_type: Optional[MonthlyMovementsTypes] = None, + account_use_type: Optional[AccountUseType] = None, + monthly_spending_type: Optional[MonthlySpendingType] = None, + monthly_movements_type: Optional[MonthlyMovementsType] = None, income_type: Optional[IncomeType] = None, *, session: Session = global_session, @@ -158,9 +158,9 @@ def update( curp_document: Optional[SerializableHttpUrl] = None, fiscal_regime_code: Optional[SATRegimeCode] = None, fiscal_address: Optional[AddressRequest] = None, - account_use_type: Optional[AccountUseTypes] = None, - monthly_spending_type: Optional[MonthlySpendingTypes] = None, - monthly_movements_type: Optional[MonthlyMovementsTypes] = None, + account_use_type: Optional[AccountUseType] = None, + monthly_spending_type: Optional[MonthlySpendingType] = None, + monthly_movements_type: Optional[MonthlyMovementsType] = None, income_type: Optional[IncomeType] = None, pronouns: Optional[str] = None, *, diff --git a/requirements.txt b/requirements.txt index dac81828..4e00aacd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests==2.32.3 -cuenca-validations==2.1.16.dev8 +cuenca-validations==2.1.16.dev9 pydantic-extra-types==2.10.2 From 101bea6535e7833bd50674c50d843797185eb26d Mon Sep 17 00:00:00 2001 From: gabino Date: Tue, 2 Sep 2025 13:50:15 -0600 Subject: [PATCH 5/7] Update version to 2.1.10.dev1 in version.py --- cuenca/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cuenca/version.py b/cuenca/version.py index dc9e0d9e..f3ec0c80 100644 --- a/cuenca/version.py +++ b/cuenca/version.py @@ -1,3 +1,3 @@ -__version__ = '2.1.9' +__version__ = '2.1.10.dev1' CLIENT_VERSION = __version__ API_VERSION = '2020-03-19' From 0dc171b6ab8e3df3713c53ff7ca00985115e6f84 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 4 Sep 2025 15:28:33 -0600 Subject: [PATCH 6/7] Update cuenca-validations to version 2.1.16.dev10 and bump internal version to 2.1.10.dev2 --- cuenca/version.py | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cuenca/version.py b/cuenca/version.py index f3ec0c80..ed6934c5 100644 --- a/cuenca/version.py +++ b/cuenca/version.py @@ -1,3 +1,3 @@ -__version__ = '2.1.10.dev1' +__version__ = '2.1.10.dev2' CLIENT_VERSION = __version__ API_VERSION = '2020-03-19' diff --git a/requirements.txt b/requirements.txt index 4e00aacd..f84da1f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests==2.32.3 -cuenca-validations==2.1.16.dev9 +cuenca-validations==2.1.16.dev10 pydantic-extra-types==2.10.2 From bcd3694a9cc7242c428b77eaf38961dd35e3c112 Mon Sep 17 00:00:00 2001 From: gabino Date: Thu, 4 Sep 2025 16:19:58 -0600 Subject: [PATCH 7/7] Update cuenca-validations to version 2.1.16 and set internal version to 2.1.10 --- cuenca/version.py | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cuenca/version.py b/cuenca/version.py index ed6934c5..3d0c0861 100644 --- a/cuenca/version.py +++ b/cuenca/version.py @@ -1,3 +1,3 @@ -__version__ = '2.1.10.dev2' +__version__ = '2.1.10' CLIENT_VERSION = __version__ API_VERSION = '2020-03-19' diff --git a/requirements.txt b/requirements.txt index f84da1f1..9243749f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ requests==2.32.3 -cuenca-validations==2.1.16.dev10 +cuenca-validations==2.1.16 pydantic-extra-types==2.10.2