cuenca-validations 2.0.4.dev1__tar.gz → 2.0.4.dev2__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.0.4.dev1 → cuenca_validations-2.0.4.dev2}/PKG-INFO +1 -1
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/__init__.py +0 -2
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/files.py +3 -2
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/general.py +9 -7
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/requests.py +7 -9
- cuenca_validations-2.0.4.dev2/cuenca_validations/version.py +1 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations.egg-info/PKG-INFO +1 -1
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/tests/test_types.py +1 -23
- cuenca_validations-2.0.4.dev1/cuenca_validations/version.py +0 -1
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/LICENSE +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/README.md +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/__init__.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/card_bins.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/errors.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/py.typed +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/card.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/enums.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/helpers.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/identities.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/morals.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/queries.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/typing.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/validators.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations.egg-info/SOURCES.txt +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations.egg-info/dependency_links.txt +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations.egg-info/requires.txt +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations.egg-info/top_level.txt +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/setup.cfg +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/setup.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/tests/__init__.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/tests/test_card.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/tests/test_errors.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/tests/test_helpers.py +0 -0
- {cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/tests/test_statement.py +0 -0
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/__init__.py
RENAMED
|
@@ -104,7 +104,6 @@ __all__ = [
|
|
|
104
104
|
'digits',
|
|
105
105
|
'get_state_name',
|
|
106
106
|
'uuid_field',
|
|
107
|
-
'Metadata',
|
|
108
107
|
]
|
|
109
108
|
|
|
110
109
|
from .card import StrictPaymentCardNumber
|
|
@@ -153,7 +152,6 @@ from .enums import (
|
|
|
153
152
|
from .files import BatchFileMetadata
|
|
154
153
|
from .general import (
|
|
155
154
|
JSONEncoder,
|
|
156
|
-
Metadata,
|
|
157
155
|
SantizedDict,
|
|
158
156
|
StrictPositiveInt,
|
|
159
157
|
digits,
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/files.py
RENAMED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
from typing import Optional
|
|
2
2
|
|
|
3
|
-
from pydantic import BaseModel
|
|
3
|
+
from pydantic import BaseModel
|
|
4
4
|
|
|
5
5
|
from .enums import KYCFileType
|
|
6
|
+
from .general import HttpUrlString
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
class BatchFileMetadata(BaseModel):
|
|
9
10
|
id: Optional[str] = None
|
|
10
11
|
is_back: bool
|
|
11
12
|
type: KYCFileType
|
|
12
|
-
url:
|
|
13
|
+
url: HttpUrlString
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/general.py
RENAMED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import json
|
|
2
2
|
from typing import Annotated, Any, Optional
|
|
3
3
|
|
|
4
|
-
from pydantic import Field, StringConstraints
|
|
4
|
+
from pydantic import AnyUrl, Field, HttpUrl, PlainSerializer, StringConstraints
|
|
5
5
|
|
|
6
6
|
from ..validators import sanitize_dict, sanitize_item
|
|
7
7
|
from .enums import State
|
|
8
8
|
|
|
9
|
+
HttpUrlString = Annotated[
|
|
10
|
+
HttpUrl, PlainSerializer(lambda x: x.unicode_string(), return_type=str)
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
AnyUrlString = Annotated[
|
|
14
|
+
AnyUrl, PlainSerializer(lambda x: x.unicode_string(), return_type=str)
|
|
15
|
+
]
|
|
16
|
+
|
|
9
17
|
|
|
10
18
|
class SantizedDict(dict):
|
|
11
19
|
def __init__(self, *args, **kwargs):
|
|
@@ -78,9 +86,3 @@ names_state = {
|
|
|
78
86
|
|
|
79
87
|
def get_state_name(state: State):
|
|
80
88
|
return names_state[state]
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
class Metadata:
|
|
84
|
-
def __init__(self, sensitive: bool, log_chars: int = 0):
|
|
85
|
-
self.sensitive = sensitive
|
|
86
|
-
self.log_chars = log_chars
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/requests.py
RENAMED
|
@@ -3,12 +3,10 @@ from typing import Annotated, Optional, Union
|
|
|
3
3
|
|
|
4
4
|
from clabe import Clabe
|
|
5
5
|
from pydantic import (
|
|
6
|
-
AnyUrl,
|
|
7
6
|
BaseModel,
|
|
8
7
|
ConfigDict,
|
|
9
8
|
EmailStr,
|
|
10
9
|
Field,
|
|
11
|
-
HttpUrl,
|
|
12
10
|
StrictStr,
|
|
13
11
|
StringConstraints,
|
|
14
12
|
field_validator,
|
|
@@ -56,7 +54,7 @@ from .card import (
|
|
|
56
54
|
PaymentCardNumber,
|
|
57
55
|
StrictPaymentCardNumber,
|
|
58
56
|
)
|
|
59
|
-
from .general import StrictPositiveInt
|
|
57
|
+
from .general import AnyUrlString, HttpUrlString, StrictPositiveInt
|
|
60
58
|
from .identities import (
|
|
61
59
|
Address,
|
|
62
60
|
Beneficiary,
|
|
@@ -479,7 +477,7 @@ class UserUpdateRequest(BaseModel):
|
|
|
479
477
|
status: Optional[UserStatus] = None
|
|
480
478
|
terms_of_service: Optional[TOSRequest] = None
|
|
481
479
|
platform_terms_of_service: Optional[TOSAgreement] = None
|
|
482
|
-
curp_document_uri: Optional[
|
|
480
|
+
curp_document_uri: Optional[HttpUrlString] = None
|
|
483
481
|
|
|
484
482
|
@field_validator('beneficiaries')
|
|
485
483
|
@classmethod
|
|
@@ -502,8 +500,8 @@ class UserLoginRequest(BaseRequest):
|
|
|
502
500
|
class SessionRequest(BaseRequest):
|
|
503
501
|
user_id: str
|
|
504
502
|
type: SessionType
|
|
505
|
-
success_url: Optional[
|
|
506
|
-
failure_url: Optional[
|
|
503
|
+
success_url: Optional[AnyUrlString] = None
|
|
504
|
+
failure_url: Optional[AnyUrlString] = None
|
|
507
505
|
model_config = ConfigDict(
|
|
508
506
|
json_schema_extra={
|
|
509
507
|
'example': {
|
|
@@ -517,13 +515,13 @@ class SessionRequest(BaseRequest):
|
|
|
517
515
|
|
|
518
516
|
|
|
519
517
|
class EndpointRequest(BaseRequest):
|
|
520
|
-
url:
|
|
518
|
+
url: HttpUrlString
|
|
521
519
|
events: Optional[list[WebhookEvent]] = None
|
|
522
520
|
user_id: Optional[str] = None
|
|
523
521
|
|
|
524
522
|
|
|
525
523
|
class EndpointUpdateRequest(BaseRequest):
|
|
526
|
-
url: Optional[
|
|
524
|
+
url: Optional[HttpUrlString] = None
|
|
527
525
|
is_enable: Optional[bool] = None
|
|
528
526
|
events: Optional[list[WebhookEvent]] = None
|
|
529
527
|
|
|
@@ -538,7 +536,7 @@ class FileUploadRequest(BaseRequest):
|
|
|
538
536
|
|
|
539
537
|
class FileRequest(BaseModel):
|
|
540
538
|
is_back: Optional[bool] = False
|
|
541
|
-
url:
|
|
539
|
+
url: HttpUrlString
|
|
542
540
|
type: KYCFileType
|
|
543
541
|
|
|
544
542
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '2.0.4.dev02'
|
|
@@ -2,7 +2,6 @@ import datetime as dt
|
|
|
2
2
|
import json
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
from enum import Enum
|
|
5
|
-
from typing import Annotated
|
|
6
5
|
|
|
7
6
|
import pytest
|
|
8
7
|
from freezegun import freeze_time
|
|
@@ -25,7 +24,7 @@ from cuenca_validations.types.enums import (
|
|
|
25
24
|
SessionType,
|
|
26
25
|
State,
|
|
27
26
|
)
|
|
28
|
-
from cuenca_validations.types.general import
|
|
27
|
+
from cuenca_validations.types.general import StrictPositiveInt
|
|
29
28
|
from cuenca_validations.types.requests import (
|
|
30
29
|
ApiKeyUpdateRequest,
|
|
31
30
|
BankAccountValidationRequest,
|
|
@@ -587,24 +586,3 @@ class IntModel(BaseModel):
|
|
|
587
586
|
def test_strict_positive_int_invalid(value, expected_error, expected_message):
|
|
588
587
|
with pytest.raises(expected_error, match=expected_message):
|
|
589
588
|
IntModel(value=value)
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
class MetadataModel(BaseModel):
|
|
593
|
-
secret: Annotated[str, Metadata(sensitive=True)]
|
|
594
|
-
partial_secret: Annotated[str, Metadata(sensitive=True, log_chars=4)]
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
def test_metadata():
|
|
598
|
-
model = MetadataModel(secret="super-secret", partial_secret="1234567890")
|
|
599
|
-
|
|
600
|
-
secret_field = MetadataModel.model_fields["secret"]
|
|
601
|
-
partial_field = MetadataModel.model_fields["partial_secret"]
|
|
602
|
-
|
|
603
|
-
assert secret_field.metadata[0].sensitive is True
|
|
604
|
-
assert secret_field.metadata[0].log_chars == 0
|
|
605
|
-
|
|
606
|
-
assert partial_field.metadata[0].sensitive is True
|
|
607
|
-
assert partial_field.metadata[0].log_chars == 4
|
|
608
|
-
|
|
609
|
-
assert model.secret == "super-secret"
|
|
610
|
-
assert model.partial_secret == "1234567890"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '2.0.4.dev01'
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/__init__.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/card_bins.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/errors.py
RENAMED
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/card.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/enums.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/morals.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/types/queries.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/cuenca_validations/typing.py
RENAMED
|
File without changes
|
{cuenca_validations-2.0.4.dev1 → cuenca_validations-2.0.4.dev2}/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
|