cuenca-validations 2.1.5.dev5__tar.gz → 2.1.6.dev0__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 (34) hide show
  1. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/PKG-INFO +1 -1
  2. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/__init__.py +2 -2
  3. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/enums.py +2 -5
  4. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/requests.py +13 -3
  5. cuenca_validations-2.1.6.dev0/cuenca_validations/version.py +1 -0
  6. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations.egg-info/PKG-INFO +1 -1
  7. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/tests/test_types.py +22 -0
  8. cuenca_validations-2.1.5.dev5/cuenca_validations/version.py +0 -1
  9. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/LICENSE +0 -0
  10. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/README.md +0 -0
  11. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/__init__.py +0 -0
  12. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/card_bins.py +0 -0
  13. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/errors.py +0 -0
  14. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/py.typed +0 -0
  15. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/card.py +0 -0
  16. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/files.py +0 -0
  17. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/general.py +0 -0
  18. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/helpers.py +0 -0
  19. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/identities.py +0 -0
  20. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/morals.py +0 -0
  21. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/types/queries.py +0 -0
  22. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/typing.py +0 -0
  23. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations/validators.py +0 -0
  24. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations.egg-info/SOURCES.txt +0 -0
  25. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations.egg-info/dependency_links.txt +0 -0
  26. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations.egg-info/requires.txt +0 -0
  27. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/cuenca_validations.egg-info/top_level.txt +0 -0
  28. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/setup.cfg +0 -0
  29. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/setup.py +0 -0
  30. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/tests/__init__.py +0 -0
  31. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/tests/test_card.py +0 -0
  32. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/tests/test_errors.py +0 -0
  33. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/tests/test_helpers.py +0 -0
  34. {cuenca_validations-2.1.5.dev5 → cuenca_validations-2.1.6.dev0}/tests/test_statement.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.5.dev5
3
+ Version: 2.1.6.dev0
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -45,8 +45,8 @@ __all__ = [
45
45
  'JSONEncoder',
46
46
  'KYCFile',
47
47
  'KYCFileType',
48
- 'KYCValidationFlow',
49
48
  'KYCValidationRequest',
49
+ 'KYCVerificationUpdateRequest',
50
50
  'Language',
51
51
  'LimitedWalletRequest',
52
52
  'PartnerRequest',
@@ -130,7 +130,6 @@ from .enums import (
130
130
  Gender,
131
131
  IssuerNetwork,
132
132
  KYCFileType,
133
- KYCValidationFlow,
134
133
  Language,
135
134
  PlatformType,
136
135
  PosCapability,
@@ -202,6 +201,7 @@ from .requests import (
202
201
  FileRequest,
203
202
  FileUploadRequest,
204
203
  KYCValidationRequest,
204
+ KYCVerificationUpdateRequest,
205
205
  LimitedWalletRequest,
206
206
  PartnerRequest,
207
207
  PartnerUpdateRequest,
@@ -248,11 +248,7 @@ class KYCFileType(str, Enum):
248
248
  proof_of_address = 'proof_of_address'
249
249
  curp = 'curp'
250
250
  signature = 'signature'
251
-
252
-
253
- class KYCValidationFlow(str, Enum):
254
- client = 'client'
255
- server = 'server'
251
+ tos = 'tos'
256
252
 
257
253
 
258
254
  class Gender(str, Enum):
@@ -654,6 +650,7 @@ class FileExtension(str, Enum):
654
650
  jpeg = 'jpeg'
655
651
  png = 'png'
656
652
  pdf = 'pdf'
653
+ html = 'html'
657
654
 
658
655
 
659
656
  class BankAccountStatus(str, Enum):
@@ -12,6 +12,7 @@ from pydantic import (
12
12
  field_validator,
13
13
  model_validator,
14
14
  )
15
+ from pydantic_extra_types.coordinate import Coordinate
15
16
 
16
17
  from ..types.enums import (
17
18
  AuthorizerTransaction,
@@ -28,7 +29,6 @@ from ..types.enums import (
28
29
  Gender,
29
30
  IssuerNetwork,
30
31
  KYCFileType,
31
- KYCValidationFlow,
32
32
  PlatformType,
33
33
  PosCapability,
34
34
  SavingCategory,
@@ -403,6 +403,12 @@ class TOSRequest(BaseModel):
403
403
  ip: Optional[SerializableIPvAnyAddress] = None
404
404
 
405
405
 
406
+ class UserTOSAgreementRequest(BaseModel):
407
+ user_id: str
408
+ tos_id: str
409
+ location: Coordinate
410
+
411
+
406
412
  class UserRequest(BaseModel):
407
413
  id: Optional[str] = Field(
408
414
  None, description='if you want to create with specific `id`'
@@ -423,7 +429,7 @@ class UserRequest(BaseModel):
423
429
  description='Status that the user will have when created. '
424
430
  'Defined by platform',
425
431
  )
426
- required_level: Optional[Annotated[int, Field(ge=1, le=3)]] = Field(
432
+ required_level: Optional[Annotated[int, Field(ge=-1, le=4)]] = Field(
427
433
  None,
428
434
  description='Maximum level a User can reach. ' 'Defined by platform',
429
435
  )
@@ -598,6 +604,10 @@ class LimitedWalletRequest(BaseRequest):
598
604
  allowed_rfc: Optional[Rfc] = None
599
605
 
600
606
 
607
+ class KYCVerificationUpdateRequest(BaseRequest):
608
+ curp: Curp
609
+
610
+
601
611
  class PlatformRequest(BaseModel):
602
612
  name: str
603
613
  rfc: Optional[str] = None
@@ -619,8 +629,8 @@ class WebhookRequest(BaseModel):
619
629
 
620
630
  class KYCValidationRequest(BaseRequest):
621
631
  user_id: str
622
- validation_flow: KYCValidationFlow
623
632
  force: bool = False
633
+ documents: list[KYCFile] = []
624
634
 
625
635
 
626
636
  class BankAccountValidationRequest(BaseModel):
@@ -0,0 +1 @@
1
+ __version__ = '2.1.6.dev0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cuenca_validations
3
- Version: 2.1.5.dev5
3
+ Version: 2.1.6.dev0
4
4
  Summary: Cuenca common validations
5
5
  Home-page: https://github.com/cuenca-mx/cuenca-validations
6
6
  Author: Cuenca
@@ -43,6 +43,7 @@ from cuenca_validations.types.requests import (
43
43
  UserCredentialUpdateRequest,
44
44
  UserListsRequest,
45
45
  UserRequest,
46
+ UserTOSAgreementRequest,
46
47
  UserUpdateRequest,
47
48
  VerificationAttemptRequest,
48
49
  VerificationRequest,
@@ -707,3 +708,24 @@ def test_log_config(
707
708
  def test_get_log_config_no_log_config():
708
709
  field = FieldInfo(default=None)
709
710
  assert get_log_config(field) is None
711
+
712
+
713
+ @pytest.mark.parametrize(
714
+ 'location',
715
+ [
716
+ (1500, -99.139584),
717
+ (-91, 45.1),
718
+ (45, 181),
719
+ (45, -181),
720
+ ('abc', 45),
721
+ (45, 'abc'),
722
+ (45, 45, 45),
723
+ ],
724
+ )
725
+ def test_location_validation_invalid_format(location):
726
+ with pytest.raises(ValueError):
727
+ UserTOSAgreementRequest(
728
+ user_id='US123',
729
+ tos_id='TS123',
730
+ location=location,
731
+ )
@@ -1 +0,0 @@
1
- __version__ = '2.1.5.dev5'