cuenca-validations 2.1.10.dev4__py3-none-any.whl → 2.1.10.dev5__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/requests.py +29 -2
- cuenca_validations/version.py +1 -1
- {cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/METADATA +1 -1
- {cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/RECORD +8 -7
- tests/test_requests.py +18 -0
- {cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/WHEEL +0 -0
- {cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/licenses/LICENSE +0 -0
- {cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/top_level.txt +0 -0
|
@@ -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[
|
|
436
|
+
signature_image_url: Optional[FileCuencaUrl] = None
|
|
410
437
|
|
|
411
438
|
|
|
412
439
|
class UserRequest(BaseModel):
|
cuenca_validations/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.1.10.
|
|
1
|
+
__version__ = '2.1.10.dev5'
|
{cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/RECORD
RENAMED
|
@@ -4,7 +4,7 @@ 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=ayYG-Xp6YtEm2bjM4nDgIXIVSrUA1q6VBnVDC4-9cOY,28
|
|
8
8
|
cuenca_validations/types/__init__.py,sha256=fPmHzU6mY6l3qK2R8cOhjcrICTOnoHS6VQteX663FRE,4843
|
|
9
9
|
cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
|
|
10
10
|
cuenca_validations/types/enums.py,sha256=533fUCip5CXMD7m4Ww8VAcB5Yr4A0EmT5GBRt2mF4b0,19510
|
|
@@ -14,15 +14,16 @@ cuenca_validations/types/helpers.py,sha256=6rHUhwoQ7jJZtGcW3LX-W5ZDl42PWE1RoBpGm
|
|
|
14
14
|
cuenca_validations/types/identities.py,sha256=1wkutHzL9Gpd9oAZdyiikNxWKe5iBVAQT3TabR6YG1o,5451
|
|
15
15
|
cuenca_validations/types/morals.py,sha256=davabh5hAnFVQyM7-yCyDaT5ewXnm0cr1BtqDIwzkX8,1833
|
|
16
16
|
cuenca_validations/types/queries.py,sha256=bQO9cgcz38ghog3nmC0_TD8nAABFdq4C8fQpLec1p4I,5026
|
|
17
|
-
cuenca_validations/types/requests.py,sha256=
|
|
18
|
-
cuenca_validations-2.1.10.
|
|
17
|
+
cuenca_validations/types/requests.py,sha256=zOmu8avdHi2mInrYaUVwDtaSB74mlxvUo8fKIL4OgVc,21119
|
|
18
|
+
cuenca_validations-2.1.10.dev5.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
|
+
tests/test_requests.py,sha256=Pbkfe4Rm4eG3CFQfhg2ez4QPakNgp_bc2zmWkgrVPrY,623
|
|
23
24
|
tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
|
|
24
25
|
tests/test_types.py,sha256=agu5f7cbKv2SPuX8CE3Xp7K_s-MW-oLQjj86BWKcXbw,18811
|
|
25
|
-
cuenca_validations-2.1.10.
|
|
26
|
-
cuenca_validations-2.1.10.
|
|
27
|
-
cuenca_validations-2.1.10.
|
|
28
|
-
cuenca_validations-2.1.10.
|
|
26
|
+
cuenca_validations-2.1.10.dev5.dist-info/METADATA,sha256=clKY_dRj2VbD85f6jQLs0DkYu2aNlKon3IXe1lXWMIU,1600
|
|
27
|
+
cuenca_validations-2.1.10.dev5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
28
|
+
cuenca_validations-2.1.10.dev5.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
|
|
29
|
+
cuenca_validations-2.1.10.dev5.dist-info/RECORD,,
|
tests/test_requests.py
ADDED
|
@@ -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'
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.10.dev4.dist-info → cuenca_validations-2.1.10.dev5.dist-info}/top_level.txt
RENAMED
|
File without changes
|