cuenca-validations 2.1.38.dev0__py3-none-any.whl → 2.1.38.dev2__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/__init__.py +4 -0
- cuenca_validations/types/enums.py +7 -1
- cuenca_validations/types/general.py +14 -0
- cuenca_validations/types/requests.py +4 -2
- cuenca_validations/version.py +1 -1
- {cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/METADATA +1 -1
- {cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/RECORD +11 -11
- tests/test_types.py +25 -14
- {cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/WHEEL +0 -0
- {cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/licenses/LICENSE +0 -0
- {cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/top_level.txt +0 -0
|
@@ -8,6 +8,7 @@ __all__ = [
|
|
|
8
8
|
'BalanceEntryQuery',
|
|
9
9
|
'BankAccountValidationQuery',
|
|
10
10
|
'BankAccountValidationRequest',
|
|
11
|
+
'BankCode',
|
|
11
12
|
'PostalCodeQuery',
|
|
12
13
|
'UsersTOSQuery',
|
|
13
14
|
'TOSQuery',
|
|
@@ -45,6 +46,7 @@ __all__ = [
|
|
|
45
46
|
'FileRequest',
|
|
46
47
|
'FileUploadRequest',
|
|
47
48
|
'FraudFundsTransferRequest',
|
|
49
|
+
'FraudFundsTransferTipoPago',
|
|
48
50
|
'Gender',
|
|
49
51
|
'IncomeType',
|
|
50
52
|
'IssuerNetwork',
|
|
@@ -145,6 +147,7 @@ from .enums import (
|
|
|
145
147
|
EventType,
|
|
146
148
|
FileExtension,
|
|
147
149
|
FileFormat,
|
|
150
|
+
FraudFundsTransferTipoPago,
|
|
148
151
|
Gender,
|
|
149
152
|
IncomeType,
|
|
150
153
|
IssuerNetwork,
|
|
@@ -175,6 +178,7 @@ from .enums import (
|
|
|
175
178
|
)
|
|
176
179
|
from .files import BatchFileMetadata
|
|
177
180
|
from .general import (
|
|
181
|
+
BankCode,
|
|
178
182
|
JSONEncoder,
|
|
179
183
|
LogConfig,
|
|
180
184
|
SantizedDict,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from enum import Enum
|
|
1
|
+
from enum import Enum, IntEnum
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class CardNetwork(str, Enum):
|
|
@@ -743,3 +743,9 @@ class RequiredAction(str, Enum):
|
|
|
743
743
|
level_up_required = 'level_up_required'
|
|
744
744
|
level_up_invitation = 'level_up_invitation'
|
|
745
745
|
fix_documents = 'fix_documents'
|
|
746
|
+
|
|
747
|
+
|
|
748
|
+
class FraudFundsTransferTipoPago(IntEnum):
|
|
749
|
+
participante_participante = 7
|
|
750
|
+
devolucion_especial_ordenes_aceptadas_acreditadas = 23
|
|
751
|
+
devolucion_extemporanea_especial_ordenes_acreditadas = 24
|
|
@@ -2,6 +2,7 @@ import json
|
|
|
2
2
|
from dataclasses import dataclass
|
|
3
3
|
from typing import Annotated, Any, Optional
|
|
4
4
|
|
|
5
|
+
from clabe import BANK_NAMES
|
|
5
6
|
from pydantic import (
|
|
6
7
|
AfterValidator,
|
|
7
8
|
AnyUrl,
|
|
@@ -41,6 +42,19 @@ NormalizedName = Annotated[
|
|
|
41
42
|
]
|
|
42
43
|
|
|
43
44
|
|
|
45
|
+
def validate_bank_code(bank_code: str) -> str:
|
|
46
|
+
if bank_code not in BANK_NAMES:
|
|
47
|
+
raise ValueError('Not a valid bank code')
|
|
48
|
+
return bank_code
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
BankCode = Annotated[
|
|
52
|
+
str,
|
|
53
|
+
StringConstraints(strip_whitespace=True),
|
|
54
|
+
AfterValidator(validate_bank_code),
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
|
|
44
58
|
class SantizedDict(dict):
|
|
45
59
|
def __init__(self, *args, **kwargs):
|
|
46
60
|
super().__init__(*args, **kwargs)
|
|
@@ -29,6 +29,7 @@ from ..types.enums import (
|
|
|
29
29
|
Country,
|
|
30
30
|
EcommerceIndicator,
|
|
31
31
|
FileExtension,
|
|
32
|
+
FraudFundsTransferTipoPago,
|
|
32
33
|
Gender,
|
|
33
34
|
IncomeType,
|
|
34
35
|
IssuerNetwork,
|
|
@@ -66,6 +67,7 @@ from .card import (
|
|
|
66
67
|
StrictPaymentCardNumber,
|
|
67
68
|
)
|
|
68
69
|
from .general import (
|
|
70
|
+
BankCode,
|
|
69
71
|
LogConfig,
|
|
70
72
|
NonEmptyStr,
|
|
71
73
|
SerializableAnyUrl,
|
|
@@ -327,8 +329,8 @@ class WalletTransactionRequest(BaseRequest):
|
|
|
327
329
|
class FraudFundsTransferRequest(BaseRequest):
|
|
328
330
|
user_id: NonEmptyStr
|
|
329
331
|
clabe: Optional[Clabe] = None
|
|
330
|
-
bank_code: Optional[
|
|
331
|
-
tipo_pago: Optional[
|
|
332
|
+
bank_code: Optional[BankCode] = None
|
|
333
|
+
tipo_pago: Optional[FraudFundsTransferTipoPago] = None
|
|
332
334
|
amount: Optional[StrictPositiveInt] = None
|
|
333
335
|
concepto: Optional[NonEmptyStr] = None
|
|
334
336
|
|
cuenca_validations/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.1.38.
|
|
1
|
+
__version__ = '2.1.38.dev2'
|
{cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/RECORD
RENAMED
|
@@ -4,27 +4,27 @@ 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=zXSnU5-EMbQZBD-PfFXgP4Z6G7cm7KFDWXB7Nie6WUk,2682
|
|
7
|
-
cuenca_validations/version.py,sha256=
|
|
8
|
-
cuenca_validations/types/__init__.py,sha256=
|
|
7
|
+
cuenca_validations/version.py,sha256=7q0-xL57DP35yE_ZWFqUudz4RweXMDO779zWULY6jvA,28
|
|
8
|
+
cuenca_validations/types/__init__.py,sha256=MuaKIoDkRyu9zIGpge0B1INHGK8NpIFhyH5ldXb5ADE,5735
|
|
9
9
|
cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
|
|
10
|
-
cuenca_validations/types/enums.py,sha256=
|
|
10
|
+
cuenca_validations/types/enums.py,sha256=CBdFbrrw1w-PmBpRekYhN6b0Awqbf2-oxDzHZmvgqY0,20795
|
|
11
11
|
cuenca_validations/types/files.py,sha256=2CszbwF9ytXV9suFFwyDjYG4XxY8UhCjRw3HttVXXNw,269
|
|
12
|
-
cuenca_validations/types/general.py,sha256=
|
|
12
|
+
cuenca_validations/types/general.py,sha256=ldYUnlrzQdPnJ8ADenr_4PCScUwxjRacpsVO1s60Uy0,5928
|
|
13
13
|
cuenca_validations/types/helpers.py,sha256=4veeLZbugHHqZk0ezSim978VhH6Vq8XTrEhe1eE_r3A,1531
|
|
14
14
|
cuenca_validations/types/identities.py,sha256=j2xxh3UYHJe6IbAwr9yNXJkebTth_-g3SUmHeiPez8M,5513
|
|
15
15
|
cuenca_validations/types/morals.py,sha256=davabh5hAnFVQyM7-yCyDaT5ewXnm0cr1BtqDIwzkX8,1833
|
|
16
16
|
cuenca_validations/types/queries.py,sha256=OonJ6CBDR6OF_kTv49AsE3zLEzQPCF4xpSqzSBpQgEs,5795
|
|
17
|
-
cuenca_validations/types/requests.py,sha256=
|
|
18
|
-
cuenca_validations-2.1.38.
|
|
17
|
+
cuenca_validations/types/requests.py,sha256=XeXdiSl7ptZAYK4w9uaPNBj_0V16ymj8MvLVwRfc2Cw,25180
|
|
18
|
+
cuenca_validations-2.1.38.dev2.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=fx2R7y6oQO8XeQzevJe826NuHkBgvtznZicomchB3Gg,899
|
|
23
23
|
tests/test_requests.py,sha256=3XMx2A-BK21g1Exm4RTVm6eKTOzeZH-8FzKJXQmmMmA,4141
|
|
24
24
|
tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
|
|
25
|
-
tests/test_types.py,sha256=
|
|
25
|
+
tests/test_types.py,sha256=T4CssoCeRJrgOPs9D6YehEXfK_2aFUKecY6xPaougPw,24496
|
|
26
26
|
tests/test_validators.py,sha256=Jjr9gWTT4cRntGiKvQK4fncqx3JkEuTWkKm1VqpRHTs,1829
|
|
27
|
-
cuenca_validations-2.1.38.
|
|
28
|
-
cuenca_validations-2.1.38.
|
|
29
|
-
cuenca_validations-2.1.38.
|
|
30
|
-
cuenca_validations-2.1.38.
|
|
27
|
+
cuenca_validations-2.1.38.dev2.dist-info/METADATA,sha256=iRAK0IQtrdsDQF4hqs8p9sUEr1Qw9IRkisXfZemj75Q,1600
|
|
28
|
+
cuenca_validations-2.1.38.dev2.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
29
|
+
cuenca_validations-2.1.38.dev2.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
|
|
30
|
+
cuenca_validations-2.1.38.dev2.dist-info/RECORD,,
|
tests/test_types.py
CHANGED
|
@@ -696,20 +696,23 @@ def test_bank_account_validation_clabe_request():
|
|
|
696
696
|
dict(user_id='US123', clabe='646180157098510917'),
|
|
697
697
|
dict(user_id='US123', clabe='646180157098510917'),
|
|
698
698
|
),
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
699
|
+
*[
|
|
700
|
+
(
|
|
701
|
+
dict(
|
|
702
|
+
user_id='US123',
|
|
703
|
+
bank_code='40012',
|
|
704
|
+
tipo_pago=tipo_pago,
|
|
705
|
+
amount=5000,
|
|
706
|
+
),
|
|
707
|
+
dict(
|
|
708
|
+
user_id='US123',
|
|
709
|
+
bank_code='40012',
|
|
710
|
+
tipo_pago=tipo_pago,
|
|
711
|
+
amount=5000,
|
|
712
|
+
),
|
|
713
|
+
)
|
|
714
|
+
for tipo_pago in (7, 23, 24)
|
|
715
|
+
],
|
|
713
716
|
],
|
|
714
717
|
)
|
|
715
718
|
def test_fraud_funds_transfer_request(data, expected_dump):
|
|
@@ -725,6 +728,14 @@ def test_fraud_funds_transfer_request(data, expected_dump):
|
|
|
725
728
|
dict(user_id='US123', bank_code='40012'),
|
|
726
729
|
'tipo_pago required when using bank_code',
|
|
727
730
|
),
|
|
731
|
+
(
|
|
732
|
+
dict(user_id='US123', bank_code='40012', tipo_pago=1),
|
|
733
|
+
'Input should be 7, 23 or 24',
|
|
734
|
+
),
|
|
735
|
+
(
|
|
736
|
+
dict(user_id='US123', bank_code='99999', tipo_pago=7),
|
|
737
|
+
'Not a valid bank code',
|
|
738
|
+
),
|
|
728
739
|
],
|
|
729
740
|
)
|
|
730
741
|
def test_fraud_funds_transfer_request_invalid(data, expected_error):
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.38.dev0.dist-info → cuenca_validations-2.1.38.dev2.dist-info}/top_level.txt
RENAMED
|
File without changes
|