cuenca-validations 2.1.22__tar.gz → 2.1.23__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.23}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/requests.py +15 -0
  3. cuenca_validations-2.1.23/cuenca_validations/version.py +1 -0
  4. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations.egg-info/PKG-INFO +1 -1
  5. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/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.23}/LICENSE +0 -0
  8. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/README.md +0 -0
  9. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/__init__.py +0 -0
  10. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/card_bins.py +0 -0
  11. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/errors.py +0 -0
  12. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/py.typed +0 -0
  13. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/__init__.py +0 -0
  14. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/card.py +0 -0
  15. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/enums.py +0 -0
  16. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/files.py +0 -0
  17. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/general.py +0 -0
  18. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/helpers.py +0 -0
  19. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/identities.py +0 -0
  20. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/morals.py +0 -0
  21. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/types/queries.py +0 -0
  22. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/typing.py +0 -0
  23. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations/validators.py +0 -0
  24. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations.egg-info/SOURCES.txt +0 -0
  25. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/setup.py +0 -0
  30. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/tests/test_statement.py +0 -0
  35. {cuenca_validations-2.1.22 → cuenca_validations-2.1.23}/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.23
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -94,6 +94,13 @@ CUENCA_FILE_URL = (
94
94
  r'^https:\/\/(?:stage|sandbox|api)\.cuenca\.com\/files\/([a-zA-Z0-9\-_]+)$'
95
95
  )
96
96
 
97
+ DOCS_WITH_BACK = [
98
+ KYCFileType.ine,
99
+ KYCFileType.dni,
100
+ KYCFileType.residency,
101
+ KYCFileType.matricula_consular,
102
+ ]
103
+
97
104
 
98
105
  class BaseRequest(BaseModel):
99
106
  model_config = ConfigDict(extra="forbid")
@@ -545,6 +552,14 @@ class UserUpdateRequest(BaseRequest):
545
552
  raise ValueError('Profession "otro" is not allowed')
546
553
  return profession
547
554
 
555
+ @field_validator('govt_id')
556
+ @classmethod
557
+ def validate_govt_id(cls, govt_id: KYCFile) -> KYCFile:
558
+ if govt_id and govt_id.type in DOCS_WITH_BACK and not govt_id.uri_back:
559
+ error = f'uri_back must be provided for type {govt_id.type.value}'
560
+ raise ValueError(error)
561
+ return govt_id
562
+
548
563
 
549
564
  class UserLoginRequest(BaseRequest):
550
565
  password: Annotated[
@@ -0,0 +1 @@
1
+ __version__ = '2.1.23'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.22
3
+ Version: 2.1.23
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'