cuenca-validations 2.1.22__tar.gz → 2.1.24__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.
Files changed (35) hide show
  1. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/requests.py +17 -0
  3. cuenca_validations-2.1.24/cuenca_validations/version.py +1 -0
  4. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations.egg-info/PKG-INFO +1 -1
  5. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/test_requests.py +9 -0
  6. cuenca_validations-2.1.22/cuenca_validations/version.py +0 -1
  7. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/LICENSE +0 -0
  8. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/README.md +0 -0
  9. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/__init__.py +0 -0
  10. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/card_bins.py +0 -0
  11. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/errors.py +0 -0
  12. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/py.typed +0 -0
  13. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/__init__.py +0 -0
  14. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/card.py +0 -0
  15. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/enums.py +0 -0
  16. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/files.py +0 -0
  17. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/general.py +0 -0
  18. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/helpers.py +0 -0
  19. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/identities.py +0 -0
  20. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/morals.py +0 -0
  21. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/types/queries.py +0 -0
  22. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/typing.py +0 -0
  23. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations/validators.py +0 -0
  24. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations.egg-info/SOURCES.txt +0 -0
  25. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/setup.py +0 -0
  30. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/test_statement.py +0 -0
  35. {cuenca_validations-2.1.22 → cuenca_validations-2.1.24}/tests/test_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.22
3
+ Version: 2.1.24
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -48,6 +48,7 @@ from ..types.enums import (
48
48
  TransactionTokenValidationStatus,
49
49
  UserCardNotification,
50
50
  UserStatus,
51
+ VerificationStatus,
51
52
  VerificationType,
52
53
  WalletTransactionType,
53
54
  WebhookEvent,
@@ -94,6 +95,13 @@ CUENCA_FILE_URL = (
94
95
  r'^https:\/\/(?:stage|sandbox|api)\.cuenca\.com\/files\/([a-zA-Z0-9\-_]+)$'
95
96
  )
96
97
 
98
+ DOCS_WITH_BACK = [
99
+ KYCFileType.ine,
100
+ KYCFileType.dni,
101
+ KYCFileType.residency,
102
+ KYCFileType.matricula_consular,
103
+ ]
104
+
97
105
 
98
106
  class BaseRequest(BaseModel):
99
107
  model_config = ConfigDict(extra="forbid")
@@ -513,6 +521,7 @@ class UserUpdateRequest(BaseRequest):
513
521
  fiscal_regime_code: Optional[SATRegimeCode] = None
514
522
  fiscal_address: Optional[AddressRequest] = None
515
523
  pronouns: Optional[str] = None
524
+ blacklist_validation_status: Optional[VerificationStatus] = None
516
525
  status: Optional[UserStatus] = None
517
526
  required_level: Optional[int] = None
518
527
  account_use_type: Optional[AccountUseType] = None
@@ -545,6 +554,14 @@ class UserUpdateRequest(BaseRequest):
545
554
  raise ValueError('Profession "otro" is not allowed')
546
555
  return profession
547
556
 
557
+ @field_validator('govt_id')
558
+ @classmethod
559
+ def validate_govt_id(cls, govt_id: KYCFile) -> KYCFile:
560
+ if govt_id and govt_id.type in DOCS_WITH_BACK and not govt_id.uri_back:
561
+ error = f'uri_back must be provided for type {govt_id.type.value}'
562
+ raise ValueError(error)
563
+ return govt_id
564
+
548
565
 
549
566
  class UserLoginRequest(BaseRequest):
550
567
  password: Annotated[
@@ -0,0 +1 @@
1
+ __version__ = '2.1.24'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.22
3
+ Version: 2.1.24
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -44,3 +44,12 @@ def test_extra_params_are_not_allowed():
44
44
  with pytest.raises(ValueError) as ex:
45
45
  UserUpdateRequest(foo='bar')
46
46
  assert 'Extra inputs are not permitted' in str(ex.value)
47
+
48
+
49
+ def test_update_user_update_govt() -> None:
50
+ govt_id: DictStrAny = {
51
+ "govt_id": {"type": "ine", "uri_front": "files/123"}
52
+ }
53
+ with pytest.raises(ValueError) as ex:
54
+ UserUpdateRequest(**govt_id)
55
+ assert 'uri_back must be provided for type ine' in str(ex.value)
@@ -1 +0,0 @@
1
- __version__ = '2.1.22'