cuenca-validations 2.1.7.dev6__py3-none-any.whl → 2.1.7.dev7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cuenca_validations/types/enums.py +13 -13
- cuenca_validations/types/identities.py +33 -0
- cuenca_validations/types/requests.py +6 -6
- cuenca_validations/version.py +1 -1
- {cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/METADATA +1 -1
- {cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/RECORD +10 -10
- tests/test_types.py +1 -5
- {cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/WHEEL +0 -0
- {cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/licenses/LICENSE +0 -0
- {cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/top_level.txt +0 -0
|
@@ -691,16 +691,16 @@ class SATRegimeCode(str, Enum):
|
|
|
691
691
|
|
|
692
692
|
|
|
693
693
|
class Profession(str, Enum):
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
694
|
+
artisticas = 'Actividades Artísticas'
|
|
695
|
+
agropecuario = 'Agricultura, Ganadería o Pesca'
|
|
696
|
+
comercio = 'Comercio'
|
|
697
|
+
estudiante = 'Estudiante'
|
|
698
|
+
empleado = 'Empleado(a/e)'
|
|
699
|
+
emprendimiento = 'Emprendimiento'
|
|
700
|
+
hogar = 'Hogar'
|
|
701
|
+
profesor = 'Profesor(a/e)'
|
|
702
|
+
profesionista = 'Profesionista'
|
|
703
|
+
servidor_publico = 'Servidor(a/e) Público'
|
|
704
|
+
sistemas = 'Sistemas y Comunicaciones'
|
|
705
|
+
independiente = 'Trabajador(a/e) Independiente'
|
|
706
|
+
oficios = 'Oficios Varios'
|
|
@@ -36,8 +36,41 @@ Rfc = Annotated[
|
|
|
36
36
|
),
|
|
37
37
|
]
|
|
38
38
|
|
|
39
|
+
# NOTE:
|
|
40
|
+
# The Address model is kept for compatibility with legacy models and data
|
|
41
|
+
# that expect all address fields to be optional. This allows older systems
|
|
42
|
+
# or stored data using Address to continue working without breaking changes.
|
|
43
|
+
# For new request validation, use AddressRequest, which enforces required
|
|
44
|
+
# fields and is intended for validating incoming data.
|
|
39
45
|
|
|
40
46
|
class Address(BaseModel):
|
|
47
|
+
street: Optional[str] = None
|
|
48
|
+
ext_number: Optional[str] = None
|
|
49
|
+
int_number: Optional[str] = None
|
|
50
|
+
colonia: Optional[str] = None
|
|
51
|
+
postal_code: Optional[str] = None
|
|
52
|
+
state: Optional[State] = None
|
|
53
|
+
country: Optional[Country] = None
|
|
54
|
+
city: Optional[str] = None
|
|
55
|
+
full_name: Optional[str] = None
|
|
56
|
+
model_config = ConfigDict(
|
|
57
|
+
json_schema_extra={
|
|
58
|
+
"example": {
|
|
59
|
+
"street": "Reforma",
|
|
60
|
+
"ext_number": "265",
|
|
61
|
+
"int_number": "5",
|
|
62
|
+
"colonia": "Cuauhtémoc",
|
|
63
|
+
"postal_code": "06500",
|
|
64
|
+
"state": "DF",
|
|
65
|
+
"country": "MX",
|
|
66
|
+
"city": "Cuauhtémoc",
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class AddressRequest(BaseModel):
|
|
73
|
+
# This model is mainly for request validation, enforcing required fields.
|
|
41
74
|
street: NonEmptyStr
|
|
42
75
|
ext_number: NonEmptyStr
|
|
43
76
|
int_number: Optional[NonEmptyStr] = None
|
|
@@ -64,7 +64,7 @@ from .general import (
|
|
|
64
64
|
StrictPositiveInt,
|
|
65
65
|
)
|
|
66
66
|
from .identities import (
|
|
67
|
-
|
|
67
|
+
AddressRequest,
|
|
68
68
|
Beneficiary,
|
|
69
69
|
Curp,
|
|
70
70
|
KYCFile,
|
|
@@ -416,7 +416,7 @@ class UserRequest(BaseModel):
|
|
|
416
416
|
)
|
|
417
417
|
|
|
418
418
|
profession: Profession = Field(description='User profession or occupation')
|
|
419
|
-
address:
|
|
419
|
+
address: AddressRequest = Field(
|
|
420
420
|
description='User residential address information'
|
|
421
421
|
)
|
|
422
422
|
phone_verification_id: str = Field(
|
|
@@ -435,7 +435,7 @@ class UserRequest(BaseModel):
|
|
|
435
435
|
'phone_number': '+525511223344',
|
|
436
436
|
'email_address': 'user@example.com',
|
|
437
437
|
'profession': 'engineer',
|
|
438
|
-
'address':
|
|
438
|
+
'address': AddressRequest.model_json_schema().get('example'),
|
|
439
439
|
}
|
|
440
440
|
},
|
|
441
441
|
)
|
|
@@ -464,7 +464,7 @@ class UserUpdateRequest(BaseModel):
|
|
|
464
464
|
verification_id: Optional[str] = None
|
|
465
465
|
email_verification_id: Optional[str] = None
|
|
466
466
|
phone_verification_id: Optional[str] = None
|
|
467
|
-
address: Optional[
|
|
467
|
+
address: Optional[AddressRequest] = None
|
|
468
468
|
beneficiaries: Optional[list[Beneficiary]] = None
|
|
469
469
|
govt_id: Optional[KYCFile] = None
|
|
470
470
|
proof_of_address: Optional[KYCFile] = None
|
|
@@ -685,7 +685,7 @@ class PartnerRequest(BaseRequest):
|
|
|
685
685
|
web_site: str
|
|
686
686
|
phone_number: PhoneNumber
|
|
687
687
|
email_address: EmailStr
|
|
688
|
-
address:
|
|
688
|
+
address: AddressRequest
|
|
689
689
|
|
|
690
690
|
|
|
691
691
|
class PartnerUpdateRequest(BaseRequest):
|
|
@@ -699,7 +699,7 @@ class PartnerUpdateRequest(BaseRequest):
|
|
|
699
699
|
web_site: Optional[str] = None
|
|
700
700
|
phone_number: Optional[PhoneNumber] = None
|
|
701
701
|
email_address: Optional[EmailStr] = None
|
|
702
|
-
address: Optional[
|
|
702
|
+
address: Optional[AddressRequest] = None
|
|
703
703
|
business_details: Optional[BusinessDetails] = None
|
|
704
704
|
transactional_profile: Optional[TransactionalProfile] = None
|
|
705
705
|
external_account: Optional[Clabe] = None
|
cuenca_validations/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.1.7.
|
|
1
|
+
__version__ = '2.1.7.dev7'
|
|
@@ -4,25 +4,25 @@ cuenca_validations/errors.py,sha256=OtM8EgiKqYdz9Hn66AbBO96orL1or7efkyt0vh0Zxbs,
|
|
|
4
4
|
cuenca_validations/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
cuenca_validations/typing.py,sha256=1QCu81IbVZZpyInjyeAuO-nF36gpT5Gi4o6V9PozuOU,204
|
|
6
6
|
cuenca_validations/validators.py,sha256=wzwLnJ4wHggZvqp3mearbFkzvDERGeTNvJkuofQnuMc,1484
|
|
7
|
-
cuenca_validations/version.py,sha256=
|
|
7
|
+
cuenca_validations/version.py,sha256=g0MR42LWjuua2qxr_-4Fuk6Mt_oU-W9X1ihTawIyuN8,27
|
|
8
8
|
cuenca_validations/types/__init__.py,sha256=1xGfD2tlFsPlhIy-T7BZPs-vvEgDoc6ZW2iXFLbyQpM,4799
|
|
9
9
|
cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
|
|
10
|
-
cuenca_validations/types/enums.py,sha256=
|
|
10
|
+
cuenca_validations/types/enums.py,sha256=533fUCip5CXMD7m4Ww8VAcB5Yr4A0EmT5GBRt2mF4b0,19510
|
|
11
11
|
cuenca_validations/types/files.py,sha256=2CszbwF9ytXV9suFFwyDjYG4XxY8UhCjRw3HttVXXNw,269
|
|
12
12
|
cuenca_validations/types/general.py,sha256=vJmQBD_Iv_hsxD8x3_Bip-NlYAiE2rmXSPQKj4kTtto,2621
|
|
13
13
|
cuenca_validations/types/helpers.py,sha256=6rHUhwoQ7jJZtGcW3LX-W5ZDl42PWE1RoBpGme7KCkk,610
|
|
14
|
-
cuenca_validations/types/identities.py,sha256=
|
|
14
|
+
cuenca_validations/types/identities.py,sha256=_8SYg01IwqgrhhU2CwbBVq_S7v6gr-sksE0UQnlRb7Y,5672
|
|
15
15
|
cuenca_validations/types/morals.py,sha256=m8kAedevmwfSPTA9GYe03l7pkgipynwYgKfejyVtnuI,1813
|
|
16
16
|
cuenca_validations/types/queries.py,sha256=KCRx0sPzWDtDDbZysmFGVgANgfqil17EITWaG7tGQ-A,4700
|
|
17
|
-
cuenca_validations/types/requests.py,sha256=
|
|
18
|
-
cuenca_validations-2.1.7.
|
|
17
|
+
cuenca_validations/types/requests.py,sha256=u2lUkeIQu2KqSo1PU0XNb1mFczBXZZoLy1p7vivQwiU,20412
|
|
18
|
+
cuenca_validations-2.1.7.dev7.dist-info/licenses/LICENSE,sha256=wR76FmxBbfnQpwELkkE5iMF8sFIafEMgXLTE4N4WPTc,1063
|
|
19
19
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
tests/test_card.py,sha256=QAfRz7e11gWICPnFJZ2tiYgUsFV3C9TwzJXrDnDNXFw,1202
|
|
21
21
|
tests/test_errors.py,sha256=ixiIgEuBuzfsL5p4uCFdF32XqFRtTPF6EVhGJ0keOrI,930
|
|
22
22
|
tests/test_helpers.py,sha256=ubzpi1UXCryLQdgsT_Zm2IX-XE_4L0dnHnhLwH06xK8,748
|
|
23
23
|
tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
|
|
24
|
-
tests/test_types.py,sha256=
|
|
25
|
-
cuenca_validations-2.1.7.
|
|
26
|
-
cuenca_validations-2.1.7.
|
|
27
|
-
cuenca_validations-2.1.7.
|
|
28
|
-
cuenca_validations-2.1.7.
|
|
24
|
+
tests/test_types.py,sha256=svH813Q47p9Ziq0jcuPIvrIuelPoVKfuFyxdMAgPsdw,19070
|
|
25
|
+
cuenca_validations-2.1.7.dev7.dist-info/METADATA,sha256=DgzlWGRogj2MTz0T2nAqgiteWfBSauSK1I8nGy6RCLM,1599
|
|
26
|
+
cuenca_validations-2.1.7.dev7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
27
|
+
cuenca_validations-2.1.7.dev7.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
|
|
28
|
+
cuenca_validations-2.1.7.dev7.dist-info/RECORD,,
|
tests/test_types.py
CHANGED
|
@@ -307,7 +307,7 @@ def test_saving_update_request():
|
|
|
307
307
|
def test_user_request():
|
|
308
308
|
request = dict(
|
|
309
309
|
curp='ABCD920604HDFSRN03',
|
|
310
|
-
profession=Profession.
|
|
310
|
+
profession=Profession.empleado,
|
|
311
311
|
address=dict(
|
|
312
312
|
street='calle 1',
|
|
313
313
|
ext_number='2',
|
|
@@ -320,10 +320,6 @@ def test_user_request():
|
|
|
320
320
|
),
|
|
321
321
|
phone_verification_id='VE12345678',
|
|
322
322
|
email_verification_id='VE0987654321',
|
|
323
|
-
tos_agreement=dict(
|
|
324
|
-
tos_id='TOS123',
|
|
325
|
-
location=dict(latitude=19.4326, longitude=-99.1332),
|
|
326
|
-
),
|
|
327
323
|
)
|
|
328
324
|
assert UserRequest(**request).model_dump() == request
|
|
329
325
|
|
|
File without changes
|
{cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev6.dist-info → cuenca_validations-2.1.7.dev7.dist-info}/top_level.txt
RENAMED
|
File without changes
|