cuenca-validations 2.1.38.dev1__tar.gz → 2.1.38.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.
Files changed (36) hide show
  1. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/__init__.py +2 -0
  3. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/general.py +14 -0
  4. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/requests.py +2 -1
  5. cuenca_validations-2.1.38.dev2/cuenca_validations/version.py +1 -0
  6. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations.egg-info/PKG-INFO +1 -1
  7. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_types.py +4 -0
  8. cuenca_validations-2.1.38.dev1/cuenca_validations/version.py +0 -1
  9. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/LICENSE +0 -0
  10. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/README.md +0 -0
  11. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/__init__.py +0 -0
  12. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/card_bins.py +0 -0
  13. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/errors.py +0 -0
  14. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/py.typed +0 -0
  15. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/card.py +0 -0
  16. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/enums.py +0 -0
  17. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/files.py +0 -0
  18. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/helpers.py +0 -0
  19. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/identities.py +0 -0
  20. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/morals.py +0 -0
  21. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/types/queries.py +0 -0
  22. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/typing.py +0 -0
  23. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations/validators.py +0 -0
  24. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations.egg-info/SOURCES.txt +0 -0
  25. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/setup.py +0 -0
  30. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_requests.py +0 -0
  35. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_statement.py +0 -0
  36. {cuenca_validations-2.1.38.dev1 → cuenca_validations-2.1.38.dev2}/tests/test_validators.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.38.dev1
3
+ Version: 2.1.38.dev2
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -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',
@@ -177,6 +178,7 @@ from .enums import (
177
178
  )
178
179
  from .files import BatchFileMetadata
179
180
  from .general import (
181
+ BankCode,
180
182
  JSONEncoder,
181
183
  LogConfig,
182
184
  SantizedDict,
@@ -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)
@@ -67,6 +67,7 @@ from .card import (
67
67
  StrictPaymentCardNumber,
68
68
  )
69
69
  from .general import (
70
+ BankCode,
70
71
  LogConfig,
71
72
  NonEmptyStr,
72
73
  SerializableAnyUrl,
@@ -328,7 +329,7 @@ class WalletTransactionRequest(BaseRequest):
328
329
  class FraudFundsTransferRequest(BaseRequest):
329
330
  user_id: NonEmptyStr
330
331
  clabe: Optional[Clabe] = None
331
- bank_code: Optional[str] = None
332
+ bank_code: Optional[BankCode] = None
332
333
  tipo_pago: Optional[FraudFundsTransferTipoPago] = None
333
334
  amount: Optional[StrictPositiveInt] = None
334
335
  concepto: Optional[NonEmptyStr] = None
@@ -0,0 +1 @@
1
+ __version__ = '2.1.38.dev2'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.38.dev1
3
+ Version: 2.1.38.dev2
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -732,6 +732,10 @@ def test_fraud_funds_transfer_request(data, expected_dump):
732
732
  dict(user_id='US123', bank_code='40012', tipo_pago=1),
733
733
  'Input should be 7, 23 or 24',
734
734
  ),
735
+ (
736
+ dict(user_id='US123', bank_code='99999', tipo_pago=7),
737
+ 'Not a valid bank code',
738
+ ),
735
739
  ],
736
740
  )
737
741
  def test_fraud_funds_transfer_request_invalid(data, expected_error):
@@ -1 +0,0 @@
1
- __version__ = '2.1.38.dev1'