cuenca-validations 2.1.10.dev3__tar.gz → 2.1.10.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.
Files changed (35) hide show
  1. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/queries.py +1 -0
  3. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/requests.py +29 -2
  4. cuenca_validations-2.1.10.dev5/cuenca_validations/version.py +1 -0
  5. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations.egg-info/PKG-INFO +1 -1
  6. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations.egg-info/SOURCES.txt +1 -0
  7. cuenca_validations-2.1.10.dev5/tests/test_requests.py +18 -0
  8. cuenca_validations-2.1.10.dev3/cuenca_validations/version.py +0 -1
  9. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/LICENSE +0 -0
  10. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/README.md +0 -0
  11. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/__init__.py +0 -0
  12. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/card_bins.py +0 -0
  13. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/errors.py +0 -0
  14. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/py.typed +0 -0
  15. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/__init__.py +0 -0
  16. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/card.py +0 -0
  17. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/enums.py +0 -0
  18. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/files.py +0 -0
  19. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/general.py +0 -0
  20. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/helpers.py +0 -0
  21. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/identities.py +0 -0
  22. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/types/morals.py +0 -0
  23. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/typing.py +0 -0
  24. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations/validators.py +0 -0
  25. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/setup.py +0 -0
  30. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/tests/test_statement.py +0 -0
  35. {cuenca_validations-2.1.10.dev3 → cuenca_validations-2.1.10.dev5}/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.10.dev3
3
+ Version: 2.1.10.dev5
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -176,6 +176,7 @@ class SessionQuery(QueryParams):
176
176
  class FileQuery(QueryParams):
177
177
  type: Optional[KYCFileType] = None
178
178
  id: Optional[str] = None
179
+ user_id: Optional[str] = None
179
180
 
180
181
 
181
182
  class BankAccountValidationQuery(QueryParams):
@@ -1,5 +1,5 @@
1
1
  import datetime as dt
2
- from typing import Annotated, Optional, Union
2
+ from typing import Annotated, Any, Optional, Union
3
3
 
4
4
  from clabe import Clabe
5
5
  from pydantic import (
@@ -7,11 +7,13 @@ from pydantic import (
7
7
  ConfigDict,
8
8
  EmailStr,
9
9
  Field,
10
+ GetCoreSchemaHandler,
10
11
  StrictStr,
11
12
  StringConstraints,
12
13
  field_validator,
13
14
  model_validator,
14
15
  )
16
+ from pydantic_core import core_schema
15
17
  from pydantic_extra_types.coordinate import Coordinate
16
18
 
17
19
  from ..types.enums import (
@@ -82,6 +84,10 @@ from .morals import (
82
84
  VulnerableActivityDetails,
83
85
  )
84
86
 
87
+ PATZCUARO_PATTERN = (
88
+ r'^https:\/\/(?:stage|sandbox|api)\.cuenca\.com\/files\/([a-zA-Z0-9\-]+)$'
89
+ )
90
+
85
91
 
86
92
  class BaseRequest(BaseModel):
87
93
  model_config = ConfigDict(extra="forbid")
@@ -403,10 +409,31 @@ class TOSRequest(BaseModel):
403
409
  ip: Optional[SerializableIPvAnyAddress] = None
404
410
 
405
411
 
412
+ class FileCuencaUrl(str):
413
+
414
+ @property
415
+ def file_id(self) -> str:
416
+ return self.split('/')[-1]
417
+
418
+ @classmethod
419
+ def __get_pydantic_core_schema__(
420
+ cls, _source_type: Any, _handler: GetCoreSchemaHandler
421
+ ) -> core_schema.CoreSchema:
422
+ return core_schema.with_info_after_validator_function(
423
+ cls._validate, core_schema.str_schema(pattern=PATZCUARO_PATTERN)
424
+ )
425
+
426
+ @classmethod
427
+ def _validate(
428
+ cls, value: str, _info: core_schema.ValidationInfo
429
+ ) -> 'FileCuencaUrl':
430
+ return cls(value)
431
+
432
+
406
433
  class UserTOSAgreementRequest(BaseModel):
407
434
  tos_id: str
408
435
  location: Coordinate
409
- signature_image_url: Optional[SerializableHttpUrl] = None
436
+ signature_image_url: Optional[FileCuencaUrl] = None
410
437
 
411
438
 
412
439
  class UserRequest(BaseModel):
@@ -0,0 +1 @@
1
+ __version__ = '2.1.10.dev5'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.10.dev3
3
+ Version: 2.1.10.dev5
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -28,5 +28,6 @@ tests/__init__.py
28
28
  tests/test_card.py
29
29
  tests/test_errors.py
30
30
  tests/test_helpers.py
31
+ tests/test_requests.py
31
32
  tests/test_statement.py
32
33
  tests/test_types.py
@@ -0,0 +1,18 @@
1
+ from pydantic_extra_types.coordinate import Coordinate, Latitude, Longitude
2
+
3
+ from cuenca_validations.types.requests import (
4
+ FileCuencaUrl,
5
+ UserTOSAgreementRequest,
6
+ )
7
+
8
+
9
+ def test_file_cuenca_url() -> None:
10
+ utos = UserTOSAgreementRequest(
11
+ tos_id='TS67dcae8e74e81bba5a77bf47',
12
+ location=Coordinate(Latitude('19.432607'), Longitude('-99.133209')),
13
+ signature_image_url=FileCuencaUrl(
14
+ 'https://stage.cuenca.com/files/EFQL87ohvoRp-PkOTYgvQYFA'
15
+ ),
16
+ )
17
+ assert utos.signature_image_url is not None
18
+ assert utos.signature_image_url.file_id == 'EFQL87ohvoRp-PkOTYgvQYFA'
@@ -1 +0,0 @@
1
- __version__ = '2.1.10.dev3'