cuenca-validations 2.1.16.dev7__py3-none-any.whl → 2.1.16.dev9__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 +10 -6
- cuenca_validations/types/enums.py +10 -3
- cuenca_validations/types/general.py +33 -20
- cuenca_validations/types/requests.py +12 -9
- cuenca_validations/version.py +1 -1
- {cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/METADATA +1 -1
- {cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/RECORD +11 -11
- tests/test_types.py +12 -6
- {cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/WHEEL +0 -0
- {cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/licenses/LICENSE +0 -0
- {cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
__all__ = [
|
|
2
|
-
'
|
|
2
|
+
'AccountUseType',
|
|
3
3
|
'AccountQuery',
|
|
4
4
|
'Address',
|
|
5
5
|
'ApiKeyQuery',
|
|
@@ -44,6 +44,7 @@ __all__ = [
|
|
|
44
44
|
'FileRequest',
|
|
45
45
|
'FileUploadRequest',
|
|
46
46
|
'Gender',
|
|
47
|
+
'IncomeType',
|
|
47
48
|
'IssuerNetwork',
|
|
48
49
|
'IdentityQuery',
|
|
49
50
|
'JSONEncoder',
|
|
@@ -53,8 +54,8 @@ __all__ = [
|
|
|
53
54
|
'KYCValidationSource',
|
|
54
55
|
'Language',
|
|
55
56
|
'LimitedWalletRequest',
|
|
56
|
-
'
|
|
57
|
-
'
|
|
57
|
+
'MonthlyMovementsType',
|
|
58
|
+
'MonthlySpendingType',
|
|
58
59
|
'PartnerRequest',
|
|
59
60
|
'PartnerUpdateRequest',
|
|
60
61
|
'PhoneNumber',
|
|
@@ -111,6 +112,7 @@ __all__ = [
|
|
|
111
112
|
'digits',
|
|
112
113
|
'get_state_name',
|
|
113
114
|
'get_profession_name',
|
|
115
|
+
'get_income_type_name',
|
|
114
116
|
'get_account_use_type_name',
|
|
115
117
|
'get_monthly_movements_type_name',
|
|
116
118
|
'get_monthly_spending_type_name',
|
|
@@ -120,7 +122,7 @@ __all__ = [
|
|
|
120
122
|
|
|
121
123
|
from .card import StrictPaymentCardNumber
|
|
122
124
|
from .enums import (
|
|
123
|
-
|
|
125
|
+
AccountUseType,
|
|
124
126
|
AuthorizerTransaction,
|
|
125
127
|
BankAccountStatus,
|
|
126
128
|
CardErrorType,
|
|
@@ -140,12 +142,13 @@ from .enums import (
|
|
|
140
142
|
FileExtension,
|
|
141
143
|
FileFormat,
|
|
142
144
|
Gender,
|
|
145
|
+
IncomeType,
|
|
143
146
|
IssuerNetwork,
|
|
144
147
|
KYCFileType,
|
|
145
148
|
KYCValidationSource,
|
|
146
149
|
Language,
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
MonthlyMovementsType,
|
|
151
|
+
MonthlySpendingType,
|
|
149
152
|
PlatformType,
|
|
150
153
|
PosCapability,
|
|
151
154
|
Profession,
|
|
@@ -174,6 +177,7 @@ from .general import (
|
|
|
174
177
|
StrictPositiveInt,
|
|
175
178
|
digits,
|
|
176
179
|
get_account_use_type_name,
|
|
180
|
+
get_income_type_name,
|
|
177
181
|
get_monthly_movements_type_name,
|
|
178
182
|
get_monthly_spending_type_name,
|
|
179
183
|
get_profession_name,
|
|
@@ -706,24 +706,31 @@ class Profession(str, Enum):
|
|
|
706
706
|
oficios = 'oficios'
|
|
707
707
|
|
|
708
708
|
|
|
709
|
-
class
|
|
709
|
+
class AccountUseType(str, Enum):
|
|
710
710
|
personal_expenses = 'personal_expenses'
|
|
711
711
|
business_expenses = 'business_expenses'
|
|
712
712
|
payment_of_goods_or_services = 'payment_of_goods_or_services'
|
|
713
713
|
send_or_receive_transfers = 'send_or_receive_transfers'
|
|
714
714
|
|
|
715
715
|
|
|
716
|
-
class
|
|
716
|
+
class MonthlyMovementsType(str, Enum):
|
|
717
717
|
between_1_and_20 = 'between_1_and_20'
|
|
718
718
|
between_20_and_40 = 'between_20_and_40'
|
|
719
719
|
between_40_and_60 = 'between_40_and_60'
|
|
720
720
|
more_than_60 = 'more_than_60'
|
|
721
721
|
|
|
722
722
|
|
|
723
|
-
class
|
|
723
|
+
class MonthlySpendingType(str, Enum):
|
|
724
724
|
less_than_1k = 'less_than_1k'
|
|
725
725
|
between_1k_and_10k = 'between_1k_and_10k'
|
|
726
726
|
between_10k_and_20k = 'between_10k_and_20k'
|
|
727
727
|
between_20k_and_50k = 'between_20k_and_50k'
|
|
728
728
|
between_50k_and_100k = 'between_50k_and_100k'
|
|
729
729
|
more_than_100k = 'more_than_100k'
|
|
730
|
+
|
|
731
|
+
|
|
732
|
+
class IncomeType(str, Enum):
|
|
733
|
+
salary = 'salary'
|
|
734
|
+
freelance = 'freelance'
|
|
735
|
+
support_from_third_party = 'support_from_third_party'
|
|
736
|
+
variable = 'variable'
|
|
@@ -13,9 +13,10 @@ from pydantic import (
|
|
|
13
13
|
|
|
14
14
|
from ..validators import sanitize_dict, sanitize_item
|
|
15
15
|
from .enums import (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
AccountUseType,
|
|
17
|
+
IncomeType,
|
|
18
|
+
MonthlyMovementsType,
|
|
19
|
+
MonthlySpendingType,
|
|
19
20
|
Profession,
|
|
20
21
|
State,
|
|
21
22
|
)
|
|
@@ -128,51 +129,63 @@ def get_profession_name(profession: Profession) -> str:
|
|
|
128
129
|
|
|
129
130
|
|
|
130
131
|
names_account_use_types = {
|
|
131
|
-
|
|
132
|
-
|
|
132
|
+
AccountUseType.personal_expenses: 'Gastos personales o familiares',
|
|
133
|
+
AccountUseType.business_expenses: (
|
|
133
134
|
'Gastos relacionados con tu actividad económica'
|
|
134
135
|
),
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
AccountUseType.payment_of_goods_or_services: 'Pago de bienes o servicios',
|
|
137
|
+
AccountUseType.send_or_receive_transfers: (
|
|
137
138
|
'Enviar o recibir transferencias'
|
|
138
139
|
),
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
|
|
142
|
-
def get_account_use_type_name(account_use_type:
|
|
143
|
+
def get_account_use_type_name(account_use_type: AccountUseType) -> str:
|
|
143
144
|
return names_account_use_types[account_use_type]
|
|
144
145
|
|
|
145
146
|
|
|
146
147
|
names_monthly_movements_types = {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
MonthlyMovementsType.between_1_and_20: 'Entre 1 y 20 movimientos',
|
|
149
|
+
MonthlyMovementsType.between_20_and_40: 'Entre 20 y 40 movimientos',
|
|
150
|
+
MonthlyMovementsType.between_40_and_60: 'Entre 40 y 60 movimientos',
|
|
151
|
+
MonthlyMovementsType.more_than_60: 'Más de 60 movimientos',
|
|
151
152
|
}
|
|
152
153
|
|
|
153
154
|
|
|
154
155
|
def get_monthly_movements_type_name(
|
|
155
|
-
monthly_movements_type:
|
|
156
|
+
monthly_movements_type: MonthlyMovementsType,
|
|
156
157
|
) -> str:
|
|
157
158
|
return names_monthly_movements_types[monthly_movements_type]
|
|
158
159
|
|
|
159
160
|
|
|
160
161
|
names_monthly_spending_types = {
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
MonthlySpendingType.less_than_1k: 'Menos de $1,000',
|
|
163
|
+
MonthlySpendingType.between_1k_and_10k: 'Entre $1,000 y $10,000',
|
|
164
|
+
MonthlySpendingType.between_10k_and_20k: 'Entre $10,000 y $20,000',
|
|
165
|
+
MonthlySpendingType.between_20k_and_50k: 'Entre $20,000 y $50,000',
|
|
166
|
+
MonthlySpendingType.between_50k_and_100k: 'Entre $50,000 y $100,000',
|
|
167
|
+
MonthlySpendingType.more_than_100k: 'Más de $100,000',
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
|
|
170
171
|
def get_monthly_spending_type_name(
|
|
171
|
-
monthly_spending_type:
|
|
172
|
+
monthly_spending_type: MonthlySpendingType,
|
|
172
173
|
) -> str:
|
|
173
174
|
return names_monthly_spending_types[monthly_spending_type]
|
|
174
175
|
|
|
175
176
|
|
|
177
|
+
names_income_types = {
|
|
178
|
+
IncomeType.salary: 'Sueldo o salario fijo',
|
|
179
|
+
IncomeType.freelance: 'Independiente',
|
|
180
|
+
IncomeType.support_from_third_party: 'Apoyo de terceros o familiares',
|
|
181
|
+
IncomeType.variable: 'Variable',
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def get_income_type_name(income_type: IncomeType) -> str:
|
|
186
|
+
return names_income_types[income_type]
|
|
187
|
+
|
|
188
|
+
|
|
176
189
|
@dataclass
|
|
177
190
|
class LogConfig:
|
|
178
191
|
masked: bool = False
|
|
@@ -17,7 +17,7 @@ from pydantic_core import core_schema
|
|
|
17
17
|
from pydantic_extra_types.coordinate import Coordinate
|
|
18
18
|
|
|
19
19
|
from ..types.enums import (
|
|
20
|
-
|
|
20
|
+
AccountUseType,
|
|
21
21
|
AuthorizerTransaction,
|
|
22
22
|
CardDesign,
|
|
23
23
|
CardFundingType,
|
|
@@ -30,11 +30,12 @@ from ..types.enums import (
|
|
|
30
30
|
EcommerceIndicator,
|
|
31
31
|
FileExtension,
|
|
32
32
|
Gender,
|
|
33
|
+
IncomeType,
|
|
33
34
|
IssuerNetwork,
|
|
34
35
|
KYCFileType,
|
|
35
36
|
KYCValidationSource,
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
MonthlyMovementsType,
|
|
38
|
+
MonthlySpendingType,
|
|
38
39
|
PlatformType,
|
|
39
40
|
PosCapability,
|
|
40
41
|
Profession,
|
|
@@ -462,9 +463,10 @@ class UserRequest(BaseModel):
|
|
|
462
463
|
...,
|
|
463
464
|
description='ID of previously validated email verification',
|
|
464
465
|
)
|
|
465
|
-
account_use_type: Optional[
|
|
466
|
-
monthly_movements_type: Optional[
|
|
467
|
-
monthly_spending_type: Optional[
|
|
466
|
+
account_use_type: Optional[AccountUseType] = None
|
|
467
|
+
monthly_movements_type: Optional[MonthlyMovementsType] = None
|
|
468
|
+
monthly_spending_type: Optional[MonthlySpendingType] = None
|
|
469
|
+
income_type: Optional[IncomeType] = None
|
|
468
470
|
|
|
469
471
|
model_config = ConfigDict(
|
|
470
472
|
json_schema_extra={
|
|
@@ -501,9 +503,10 @@ class UserUpdateRequest(BaseModel):
|
|
|
501
503
|
pronouns: Optional[str] = None
|
|
502
504
|
status: Optional[UserStatus] = None
|
|
503
505
|
required_level: Optional[int] = None
|
|
504
|
-
account_use_type: Optional[
|
|
505
|
-
monthly_movements_type: Optional[
|
|
506
|
-
monthly_spending_type: Optional[
|
|
506
|
+
account_use_type: Optional[AccountUseType] = None
|
|
507
|
+
monthly_movements_type: Optional[MonthlyMovementsType] = None
|
|
508
|
+
monthly_spending_type: Optional[MonthlySpendingType] = None
|
|
509
|
+
income_type: Optional[IncomeType] = None
|
|
507
510
|
|
|
508
511
|
@field_validator('beneficiaries')
|
|
509
512
|
@classmethod
|
cuenca_validations/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = '2.1.16.
|
|
1
|
+
__version__ = '2.1.16.dev9'
|
{cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/RECORD
RENAMED
|
@@ -4,26 +4,26 @@ 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=mYJDXxJVokl5jZIA4FYn8wkaMUnOxAH54t1Pfg_0kmQ,1190
|
|
7
|
-
cuenca_validations/version.py,sha256=
|
|
8
|
-
cuenca_validations/types/__init__.py,sha256=
|
|
7
|
+
cuenca_validations/version.py,sha256=zG5-HwiJzz-FJ8RiYGkbr4miTJ5op_melxELFBwNxXg,28
|
|
8
|
+
cuenca_validations/types/__init__.py,sha256=CIfqLhBxUMX5YAI-FvX9pnHB233BivGJZj1lFNddx-k,5415
|
|
9
9
|
cuenca_validations/types/card.py,sha256=UGzz8NTFAverUmdUKAK1oGHnOnjSNTpIRUm93vKSSGY,1295
|
|
10
|
-
cuenca_validations/types/enums.py,sha256=
|
|
10
|
+
cuenca_validations/types/enums.py,sha256=_dU5LYzrKbE87IGn8hHIy5tgbKNrHZIxIhuVGYHZMEs,20345
|
|
11
11
|
cuenca_validations/types/files.py,sha256=2CszbwF9ytXV9suFFwyDjYG4XxY8UhCjRw3HttVXXNw,269
|
|
12
|
-
cuenca_validations/types/general.py,sha256=
|
|
12
|
+
cuenca_validations/types/general.py,sha256=oU81Qyk_XgysdlEVsYy23MreGX8WIE-0bwgb2EkfcT4,5421
|
|
13
13
|
cuenca_validations/types/helpers.py,sha256=XPiYVTLDtmBB5R1heWUy1c35zZMh7nh-BmS6rtwEltg,1379
|
|
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=Pp7BAPk20hzImxb5EIiy3oI8S6AeCruU-NbQpOlrWVo,5146
|
|
17
|
-
cuenca_validations/types/requests.py,sha256=
|
|
18
|
-
cuenca_validations-2.1.16.
|
|
17
|
+
cuenca_validations/types/requests.py,sha256=IU0gbWxvs7QTcBfA1WsUqhm2RJPCXjytCy3jClAFp4A,21678
|
|
18
|
+
cuenca_validations-2.1.16.dev9.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
23
|
tests/test_requests.py,sha256=HGKybPNlN-Vbf2Ew34csfMR5UzZdVPoX9J8eeD4yCiI,1095
|
|
24
24
|
tests/test_statement.py,sha256=IOE0rRRBgBZSJv_FLaETEyn5NzzXKMNTqgjv99GX-68,1436
|
|
25
|
-
tests/test_types.py,sha256=
|
|
26
|
-
cuenca_validations-2.1.16.
|
|
27
|
-
cuenca_validations-2.1.16.
|
|
28
|
-
cuenca_validations-2.1.16.
|
|
29
|
-
cuenca_validations-2.1.16.
|
|
25
|
+
tests/test_types.py,sha256=2CSwhYn5WDFBHQl2239FD9J7KlB2_Tt7RVqQUlFcwnI,20074
|
|
26
|
+
cuenca_validations-2.1.16.dev9.dist-info/METADATA,sha256=wqDyQHcZccWupzsTnbnpbL5XwBteo_-X6vjavuom018,1600
|
|
27
|
+
cuenca_validations-2.1.16.dev9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
28
|
+
cuenca_validations-2.1.16.dev9.dist-info/top_level.txt,sha256=4233xdOs2HtuT-GFRjcDcwK0IwdwvWdczOtk0fPB6Gw,25
|
|
29
|
+
cuenca_validations-2.1.16.dev9.dist-info/RECORD,,
|
tests/test_types.py
CHANGED
|
@@ -18,16 +18,18 @@ from cuenca_validations.types import (
|
|
|
18
18
|
TransactionStatus,
|
|
19
19
|
digits,
|
|
20
20
|
get_account_use_type_name,
|
|
21
|
+
get_income_type_name,
|
|
21
22
|
get_monthly_movements_type_name,
|
|
22
23
|
get_monthly_spending_type_name,
|
|
23
24
|
get_profession_name,
|
|
24
25
|
get_state_name,
|
|
25
26
|
)
|
|
26
27
|
from cuenca_validations.types.enums import (
|
|
27
|
-
|
|
28
|
+
AccountUseType,
|
|
28
29
|
EcommerceIndicator,
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
IncomeType,
|
|
31
|
+
MonthlyMovementsType,
|
|
32
|
+
MonthlySpendingType,
|
|
31
33
|
Profession,
|
|
32
34
|
SessionType,
|
|
33
35
|
State,
|
|
@@ -559,23 +561,27 @@ def test_get_profession_name() -> None:
|
|
|
559
561
|
assert get_profession_name(Profession.empleado) == 'Empleado(a/e)'
|
|
560
562
|
|
|
561
563
|
|
|
564
|
+
def test_get_income_type_name() -> None:
|
|
565
|
+
assert get_income_type_name(IncomeType.salary) == 'Sueldo o salario fijo'
|
|
566
|
+
|
|
567
|
+
|
|
562
568
|
def test_get_account_use_type_name() -> None:
|
|
563
569
|
assert (
|
|
564
|
-
get_account_use_type_name(
|
|
570
|
+
get_account_use_type_name(AccountUseType.personal_expenses)
|
|
565
571
|
== 'Gastos personales o familiares'
|
|
566
572
|
)
|
|
567
573
|
|
|
568
574
|
|
|
569
575
|
def test_get_monthly_spending_type_name() -> None:
|
|
570
576
|
assert (
|
|
571
|
-
get_monthly_spending_type_name(
|
|
577
|
+
get_monthly_spending_type_name(MonthlySpendingType.less_than_1k)
|
|
572
578
|
== 'Menos de $1,000'
|
|
573
579
|
)
|
|
574
580
|
|
|
575
581
|
|
|
576
582
|
def test_get_monthly_movements_type_name() -> None:
|
|
577
583
|
assert (
|
|
578
|
-
get_monthly_movements_type_name(
|
|
584
|
+
get_monthly_movements_type_name(MonthlyMovementsType.between_1_and_20)
|
|
579
585
|
== 'Entre 1 y 20 movimientos'
|
|
580
586
|
)
|
|
581
587
|
|
|
File without changes
|
|
File without changes
|
{cuenca_validations-2.1.16.dev7.dist-info → cuenca_validations-2.1.16.dev9.dist-info}/top_level.txt
RENAMED
|
File without changes
|