cuenca-validations 2.1.7.dev2__tar.gz → 2.1.7.dev5__tar.gz
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-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/PKG-INFO +1 -1
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/__init__.py +2 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/requests.py +6 -10
- cuenca_validations-2.1.7.dev5/cuenca_validations/version.py +1 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations.egg-info/PKG-INFO +1 -1
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/tests/test_types.py +19 -11
- cuenca_validations-2.1.7.dev2/cuenca_validations/version.py +0 -1
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/LICENSE +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/README.md +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/__init__.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/card_bins.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/errors.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/py.typed +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/card.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/enums.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/files.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/general.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/helpers.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/identities.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/morals.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/queries.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/typing.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/validators.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations.egg-info/SOURCES.txt +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations.egg-info/dependency_links.txt +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations.egg-info/requires.txt +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations.egg-info/top_level.txt +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/setup.cfg +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/setup.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/tests/__init__.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/tests/test_card.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/tests/test_errors.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/tests/test_helpers.py +0 -0
- {cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/tests/test_statement.py +0 -0
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/__init__.py
RENAMED
|
@@ -55,6 +55,7 @@ __all__ = [
|
|
|
55
55
|
'PlatformRequest',
|
|
56
56
|
'PlatformType',
|
|
57
57
|
'PosCapability',
|
|
58
|
+
'Profession',
|
|
58
59
|
'QueryParams',
|
|
59
60
|
'Rfc',
|
|
60
61
|
'QuestionnairesRequest',
|
|
@@ -134,6 +135,7 @@ from .enums import (
|
|
|
134
135
|
Language,
|
|
135
136
|
PlatformType,
|
|
136
137
|
PosCapability,
|
|
138
|
+
Profession,
|
|
137
139
|
SATRegimeCode,
|
|
138
140
|
SavingCategory,
|
|
139
141
|
ServiceProviderCategory,
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/requests.py
RENAMED
|
@@ -40,7 +40,6 @@ from ..types.enums import (
|
|
|
40
40
|
TrackDataMethod,
|
|
41
41
|
TransactionTokenValidationStatus,
|
|
42
42
|
UserCardNotification,
|
|
43
|
-
UserStatus,
|
|
44
43
|
VerificationType,
|
|
45
44
|
WalletTransactionType,
|
|
46
45
|
WebhookEvent,
|
|
@@ -72,7 +71,6 @@ from .identities import (
|
|
|
72
71
|
Password,
|
|
73
72
|
PhoneNumber,
|
|
74
73
|
Rfc,
|
|
75
|
-
TOSAgreement,
|
|
76
74
|
)
|
|
77
75
|
from .morals import (
|
|
78
76
|
AuditDetails,
|
|
@@ -429,6 +427,9 @@ class UserRequest(BaseModel):
|
|
|
429
427
|
...,
|
|
430
428
|
description='ID of previously validated email verification',
|
|
431
429
|
)
|
|
430
|
+
tos_agreement: UserTOSAgreementRequest = Field(
|
|
431
|
+
..., description='TOS agreement for the user'
|
|
432
|
+
)
|
|
432
433
|
|
|
433
434
|
model_config = ConfigDict(
|
|
434
435
|
json_schema_extra={
|
|
@@ -462,9 +463,7 @@ class UserRequest(BaseModel):
|
|
|
462
463
|
|
|
463
464
|
|
|
464
465
|
class UserUpdateRequest(BaseModel):
|
|
465
|
-
|
|
466
|
-
email_address: Optional[EmailStr] = None
|
|
467
|
-
profession: Optional[str] = None
|
|
466
|
+
profession: Optional[Profession] = None
|
|
468
467
|
verification_id: Optional[str] = None
|
|
469
468
|
email_verification_id: Optional[str] = None
|
|
470
469
|
phone_verification_id: Optional[str] = None
|
|
@@ -474,9 +473,6 @@ class UserUpdateRequest(BaseModel):
|
|
|
474
473
|
proof_of_address: Optional[KYCFile] = None
|
|
475
474
|
proof_of_life: Optional[KYCFile] = None
|
|
476
475
|
signature: Optional[KYCFile] = None
|
|
477
|
-
status: Optional[UserStatus] = None
|
|
478
|
-
terms_of_service: Optional[TOSRequest] = None
|
|
479
|
-
platform_terms_of_service: Optional[TOSAgreement] = None
|
|
480
476
|
curp_document_uri: Optional[SerializableHttpUrl] = None
|
|
481
477
|
|
|
482
478
|
@field_validator('beneficiaries')
|
|
@@ -484,8 +480,8 @@ class UserUpdateRequest(BaseModel):
|
|
|
484
480
|
def beneficiary_percentage(
|
|
485
481
|
cls, beneficiaries: Optional[list[Beneficiary]] = None
|
|
486
482
|
):
|
|
487
|
-
if beneficiaries and sum(b.percentage for b in beneficiaries)
|
|
488
|
-
raise ValueError('The total percentage
|
|
483
|
+
if beneficiaries and sum(b.percentage for b in beneficiaries) != 100:
|
|
484
|
+
raise ValueError('The total percentage should be 100%')
|
|
489
485
|
return beneficiaries
|
|
490
486
|
|
|
491
487
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '2.1.7.dev5'
|
|
@@ -22,6 +22,7 @@ from cuenca_validations.types import (
|
|
|
22
22
|
from cuenca_validations.types.enums import (
|
|
23
23
|
Country,
|
|
24
24
|
EcommerceIndicator,
|
|
25
|
+
Profession,
|
|
25
26
|
SessionType,
|
|
26
27
|
State,
|
|
27
28
|
)
|
|
@@ -306,7 +307,7 @@ def test_saving_update_request():
|
|
|
306
307
|
def test_user_request():
|
|
307
308
|
request = dict(
|
|
308
309
|
curp='ABCD920604HDFSRN03',
|
|
309
|
-
profession=
|
|
310
|
+
profession=Profession.employee,
|
|
310
311
|
address=dict(
|
|
311
312
|
street='calle 1',
|
|
312
313
|
ext_number='2',
|
|
@@ -319,6 +320,10 @@ def test_user_request():
|
|
|
319
320
|
),
|
|
320
321
|
phone_verification_id='VE12345678',
|
|
321
322
|
email_verification_id='VE0987654321',
|
|
323
|
+
tos_agreement=dict(
|
|
324
|
+
tos_id='TOS123',
|
|
325
|
+
location=dict(latitude=19.4326, longitude=-99.1332),
|
|
326
|
+
),
|
|
322
327
|
)
|
|
323
328
|
assert UserRequest(**request).model_dump() == request
|
|
324
329
|
|
|
@@ -427,7 +432,7 @@ def test_user_update_request():
|
|
|
427
432
|
birth_date=dt.date(2020, 1, 1).isoformat(),
|
|
428
433
|
phone_number='+525555555555',
|
|
429
434
|
user_relationship='brother',
|
|
430
|
-
percentage=
|
|
435
|
+
percentage=100,
|
|
431
436
|
),
|
|
432
437
|
]
|
|
433
438
|
assert UserUpdateRequest(**request)
|
|
@@ -438,12 +443,21 @@ def test_user_update_request():
|
|
|
438
443
|
birth_date=dt.date(2020, 1, 1).isoformat(),
|
|
439
444
|
phone_number='+525555555555',
|
|
440
445
|
user_relationship='brother',
|
|
441
|
-
percentage=
|
|
446
|
+
percentage=50,
|
|
447
|
+
),
|
|
448
|
+
dict(
|
|
449
|
+
name='José Pérez',
|
|
450
|
+
birth_date=dt.date(2020, 1, 2).isoformat(),
|
|
451
|
+
phone_number='+525544444444',
|
|
452
|
+
user_relationship='brother',
|
|
453
|
+
percentage=51,
|
|
442
454
|
),
|
|
443
455
|
]
|
|
444
|
-
with pytest.raises(
|
|
456
|
+
with pytest.raises(ValidationError) as v:
|
|
445
457
|
UserUpdateRequest(**request)
|
|
446
|
-
|
|
458
|
+
|
|
459
|
+
assert 'The total percentage should be 100%' in str(v)
|
|
460
|
+
request.pop('beneficiaries')
|
|
447
461
|
|
|
448
462
|
tos_request = dict(
|
|
449
463
|
terms_of_service=dict(
|
|
@@ -474,12 +488,6 @@ def test_user_update_request():
|
|
|
474
488
|
)
|
|
475
489
|
UserUpdateRequest(**kyc_request)
|
|
476
490
|
|
|
477
|
-
# chagning to invalid request
|
|
478
|
-
tos_request['terms_of_service']['ip'] = 'not valid ip'
|
|
479
|
-
with pytest.raises(ValueError) as v:
|
|
480
|
-
UserUpdateRequest(**tos_request)
|
|
481
|
-
assert 'not valid ip' in str(v.value)
|
|
482
|
-
|
|
483
491
|
|
|
484
492
|
def test_session_request():
|
|
485
493
|
data = dict(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '2.1.7.dev2'
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/__init__.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/card_bins.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/card.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/enums.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/files.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/general.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/morals.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/types/queries.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/typing.py
RENAMED
|
File without changes
|
{cuenca_validations-2.1.7.dev2 → cuenca_validations-2.1.7.dev5}/cuenca_validations/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|