pluggy-sdk 1.0.0.post10__py3-none-any.whl → 1.0.0.post12__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.
- pluggy_sdk/__init__.py +17 -1
- pluggy_sdk/api/__init__.py +1 -0
- pluggy_sdk/api/payment_request_api.py +259 -0
- pluggy_sdk/api/payroll_loan_api.py +561 -0
- pluggy_sdk/api/smart_account_api.py +570 -0
- pluggy_sdk/api_client.py +20 -9
- pluggy_sdk/configuration.py +1 -1
- pluggy_sdk/models/__init__.py +15 -0
- pluggy_sdk/models/consent.py +120 -0
- pluggy_sdk/models/create_boleto_payment_request.py +3 -3
- pluggy_sdk/models/create_payment_request.py +8 -2
- pluggy_sdk/models/create_smart_account_transfer_request.py +92 -0
- pluggy_sdk/models/page_response_consents.py +102 -0
- pluggy_sdk/models/payment_recipient_account.py +2 -9
- pluggy_sdk/models/payment_request.py +8 -2
- pluggy_sdk/models/payment_request_schedule.py +183 -0
- pluggy_sdk/models/payment_schedules_list200_response.py +102 -0
- pluggy_sdk/models/payroll_loan_response.py +125 -0
- pluggy_sdk/models/payroll_loan_response_client.py +102 -0
- pluggy_sdk/models/payroll_loans_list200_response.py +102 -0
- pluggy_sdk/models/schedule_payment.py +102 -0
- pluggy_sdk/models/schedule_type_custom.py +100 -0
- pluggy_sdk/models/schedule_type_daily.py +101 -0
- pluggy_sdk/models/schedule_type_monthly.py +103 -0
- pluggy_sdk/models/schedule_type_single.py +98 -0
- pluggy_sdk/models/schedule_type_weekly.py +110 -0
- pluggy_sdk/models/smart_account_transfer.py +123 -0
- {pluggy_sdk-1.0.0.post10.dist-info → pluggy_sdk-1.0.0.post12.dist-info}/METADATA +22 -2
- {pluggy_sdk-1.0.0.post10.dist-info → pluggy_sdk-1.0.0.post12.dist-info}/RECORD +31 -15
- {pluggy_sdk-1.0.0.post10.dist-info → pluggy_sdk-1.0.0.post12.dist-info}/WHEEL +0 -0
- {pluggy_sdk-1.0.0.post10.dist-info → pluggy_sdk-1.0.0.post12.dist-info}/top_level.txt +0 -0
pluggy_sdk/models/__init__.py
CHANGED
@@ -55,6 +55,7 @@ from pluggy_sdk.models.connector_health import ConnectorHealth
|
|
55
55
|
from pluggy_sdk.models.connector_health_details import ConnectorHealthDetails
|
56
56
|
from pluggy_sdk.models.connector_list_response import ConnectorListResponse
|
57
57
|
from pluggy_sdk.models.connector_user_action import ConnectorUserAction
|
58
|
+
from pluggy_sdk.models.consent import Consent
|
58
59
|
from pluggy_sdk.models.create_boleto_payment_request import CreateBoletoPaymentRequest
|
59
60
|
from pluggy_sdk.models.create_bulk_payment import CreateBulkPayment
|
60
61
|
from pluggy_sdk.models.create_client_category_rule import CreateClientCategoryRule
|
@@ -67,6 +68,7 @@ from pluggy_sdk.models.create_payment_recipient import CreatePaymentRecipient
|
|
67
68
|
from pluggy_sdk.models.create_payment_request import CreatePaymentRequest
|
68
69
|
from pluggy_sdk.models.create_pix_qr_payment_request import CreatePixQrPaymentRequest
|
69
70
|
from pluggy_sdk.models.create_smart_account_request import CreateSmartAccountRequest
|
71
|
+
from pluggy_sdk.models.create_smart_account_transfer_request import CreateSmartAccountTransferRequest
|
70
72
|
from pluggy_sdk.models.create_webhook import CreateWebhook
|
71
73
|
from pluggy_sdk.models.credential_select_option import CredentialSelectOption
|
72
74
|
from pluggy_sdk.models.credit_card_metadata import CreditCardMetadata
|
@@ -110,6 +112,7 @@ from pluggy_sdk.models.page_response_acquirer_anticipations import PageResponseA
|
|
110
112
|
from pluggy_sdk.models.page_response_acquirer_receivables import PageResponseAcquirerReceivables
|
111
113
|
from pluggy_sdk.models.page_response_acquirer_sales import PageResponseAcquirerSales
|
112
114
|
from pluggy_sdk.models.page_response_category_rules import PageResponseCategoryRules
|
115
|
+
from pluggy_sdk.models.page_response_consents import PageResponseConsents
|
113
116
|
from pluggy_sdk.models.page_response_investment_transactions import PageResponseInvestmentTransactions
|
114
117
|
from pluggy_sdk.models.page_response_transactions import PageResponseTransactions
|
115
118
|
from pluggy_sdk.models.parameter_validation_error import ParameterValidationError
|
@@ -132,13 +135,25 @@ from pluggy_sdk.models.payment_recipients_list200_response import PaymentRecipie
|
|
132
135
|
from pluggy_sdk.models.payment_request import PaymentRequest
|
133
136
|
from pluggy_sdk.models.payment_request_callback_urls import PaymentRequestCallbackUrls
|
134
137
|
from pluggy_sdk.models.payment_request_receipt_list200_response import PaymentRequestReceiptList200Response
|
138
|
+
from pluggy_sdk.models.payment_request_schedule import PaymentRequestSchedule
|
135
139
|
from pluggy_sdk.models.payment_requests_list200_response import PaymentRequestsList200Response
|
140
|
+
from pluggy_sdk.models.payment_schedules_list200_response import PaymentSchedulesList200Response
|
141
|
+
from pluggy_sdk.models.payroll_loan_response import PayrollLoanResponse
|
142
|
+
from pluggy_sdk.models.payroll_loan_response_client import PayrollLoanResponseClient
|
143
|
+
from pluggy_sdk.models.payroll_loans_list200_response import PayrollLoansList200Response
|
136
144
|
from pluggy_sdk.models.percentage_over_index import PercentageOverIndex
|
137
145
|
from pluggy_sdk.models.phone_number import PhoneNumber
|
138
146
|
from pluggy_sdk.models.pix_data import PixData
|
147
|
+
from pluggy_sdk.models.schedule_payment import SchedulePayment
|
148
|
+
from pluggy_sdk.models.schedule_type_custom import ScheduleTypeCustom
|
149
|
+
from pluggy_sdk.models.schedule_type_daily import ScheduleTypeDaily
|
150
|
+
from pluggy_sdk.models.schedule_type_monthly import ScheduleTypeMonthly
|
151
|
+
from pluggy_sdk.models.schedule_type_single import ScheduleTypeSingle
|
152
|
+
from pluggy_sdk.models.schedule_type_weekly import ScheduleTypeWeekly
|
139
153
|
from pluggy_sdk.models.smart_account import SmartAccount
|
140
154
|
from pluggy_sdk.models.smart_account_address import SmartAccountAddress
|
141
155
|
from pluggy_sdk.models.smart_account_balance import SmartAccountBalance
|
156
|
+
from pluggy_sdk.models.smart_account_transfer import SmartAccountTransfer
|
142
157
|
from pluggy_sdk.models.smart_accounts_list200_response import SmartAccountsList200Response
|
143
158
|
from pluggy_sdk.models.status_detail import StatusDetail
|
144
159
|
from pluggy_sdk.models.status_detail_product import StatusDetailProduct
|
@@ -0,0 +1,120 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from datetime import datetime
|
22
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class Consent(BaseModel):
|
28
|
+
"""
|
29
|
+
Item consent information
|
30
|
+
""" # noqa: E501
|
31
|
+
id: StrictStr = Field(description="Consent primary identifier")
|
32
|
+
item_id: StrictStr = Field(description="Primary identifier of the item associated to the consent", alias="itemId")
|
33
|
+
products: List[StrictStr] = Field(description="Products to be collected in the connection")
|
34
|
+
open_finance_permissions_granted: Optional[List[StrictStr]] = Field(default=None, description="Products consented by the user to be collected", alias="openFinancePermissionsGranted")
|
35
|
+
created_at: datetime = Field(description="Date when the consent was given", alias="createdAt")
|
36
|
+
expires_at: Optional[datetime] = Field(default=None, description="Date when the consent expires. Null if the consent doesn't expire", alias="expiresAt")
|
37
|
+
revoked_at: Optional[datetime] = Field(default=None, description="Date when the consent was revoked", alias="revokedAt")
|
38
|
+
__properties: ClassVar[List[str]] = ["id", "itemId", "products", "openFinancePermissionsGranted", "createdAt", "expiresAt", "revokedAt"]
|
39
|
+
|
40
|
+
@field_validator('products')
|
41
|
+
def products_validate_enum(cls, value):
|
42
|
+
"""Validates the enum"""
|
43
|
+
for i in value:
|
44
|
+
if i not in set(['ACCOUNTS', 'CREDIT_CARDS', 'TRANSACTIONS', 'PAYMENT_DATA', 'INVESTMENTS', 'INVESTMENTS_TRANSACTIONS', 'IDENTITY', 'BROKERAGE_NOTE', 'OPPORTUNITIES', 'PORTFOLIO', 'INCOME_REPORTS', 'MOVE_SECURITY', 'LOANS', 'ACQUIRER_OPERATIONS']):
|
45
|
+
raise ValueError("each list item must be one of ('ACCOUNTS', 'CREDIT_CARDS', 'TRANSACTIONS', 'PAYMENT_DATA', 'INVESTMENTS', 'INVESTMENTS_TRANSACTIONS', 'IDENTITY', 'BROKERAGE_NOTE', 'OPPORTUNITIES', 'PORTFOLIO', 'INCOME_REPORTS', 'MOVE_SECURITY', 'LOANS', 'ACQUIRER_OPERATIONS')")
|
46
|
+
return value
|
47
|
+
|
48
|
+
@field_validator('open_finance_permissions_granted')
|
49
|
+
def open_finance_permissions_granted_validate_enum(cls, value):
|
50
|
+
"""Validates the enum"""
|
51
|
+
if value is None:
|
52
|
+
return value
|
53
|
+
|
54
|
+
for i in value:
|
55
|
+
if i not in set(['REGISTRATION_ALL', 'REGISTRATION_IDENTIFICATIONS', 'REGISTRATION_QUALIFICATIONS', 'REGISTRATION_FINANCIAL_RELATIONS', 'ACCOUNTS_ALL', 'ACCOUNTS_LIST', 'ACCOUNTS_BALANCES', 'ACCOUNTS_LIMITS', 'ACCOUNTS_TRANSACTIONS', 'CREDIT_CARDS_ALL', 'CREDIT_CARDS_LIST', 'CREDIT_CARDS_LIMITS', 'CREDIT_CARDS_TRANSACTIONS', 'CREDIT_CARDS_BILLS', 'CREDIT_OPERATIONS_ALL', 'INVESTMENTS_ALL', 'EXCHANGES_ALL']):
|
56
|
+
raise ValueError("each list item must be one of ('REGISTRATION_ALL', 'REGISTRATION_IDENTIFICATIONS', 'REGISTRATION_QUALIFICATIONS', 'REGISTRATION_FINANCIAL_RELATIONS', 'ACCOUNTS_ALL', 'ACCOUNTS_LIST', 'ACCOUNTS_BALANCES', 'ACCOUNTS_LIMITS', 'ACCOUNTS_TRANSACTIONS', 'CREDIT_CARDS_ALL', 'CREDIT_CARDS_LIST', 'CREDIT_CARDS_LIMITS', 'CREDIT_CARDS_TRANSACTIONS', 'CREDIT_CARDS_BILLS', 'CREDIT_OPERATIONS_ALL', 'INVESTMENTS_ALL', 'EXCHANGES_ALL')")
|
57
|
+
return value
|
58
|
+
|
59
|
+
model_config = ConfigDict(
|
60
|
+
populate_by_name=True,
|
61
|
+
validate_assignment=True,
|
62
|
+
protected_namespaces=(),
|
63
|
+
)
|
64
|
+
|
65
|
+
|
66
|
+
def to_str(self) -> str:
|
67
|
+
"""Returns the string representation of the model using alias"""
|
68
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
69
|
+
|
70
|
+
def to_json(self) -> str:
|
71
|
+
"""Returns the JSON representation of the model using alias"""
|
72
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
73
|
+
return json.dumps(self.to_dict())
|
74
|
+
|
75
|
+
@classmethod
|
76
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
77
|
+
"""Create an instance of Consent from a JSON string"""
|
78
|
+
return cls.from_dict(json.loads(json_str))
|
79
|
+
|
80
|
+
def to_dict(self) -> Dict[str, Any]:
|
81
|
+
"""Return the dictionary representation of the model using alias.
|
82
|
+
|
83
|
+
This has the following differences from calling pydantic's
|
84
|
+
`self.model_dump(by_alias=True)`:
|
85
|
+
|
86
|
+
* `None` is only added to the output dict for nullable fields that
|
87
|
+
were set at model initialization. Other fields with value `None`
|
88
|
+
are ignored.
|
89
|
+
"""
|
90
|
+
excluded_fields: Set[str] = set([
|
91
|
+
])
|
92
|
+
|
93
|
+
_dict = self.model_dump(
|
94
|
+
by_alias=True,
|
95
|
+
exclude=excluded_fields,
|
96
|
+
exclude_none=True,
|
97
|
+
)
|
98
|
+
return _dict
|
99
|
+
|
100
|
+
@classmethod
|
101
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
102
|
+
"""Create an instance of Consent from a dict"""
|
103
|
+
if obj is None:
|
104
|
+
return None
|
105
|
+
|
106
|
+
if not isinstance(obj, dict):
|
107
|
+
return cls.model_validate(obj)
|
108
|
+
|
109
|
+
_obj = cls.model_validate({
|
110
|
+
"id": obj.get("id"),
|
111
|
+
"itemId": obj.get("itemId"),
|
112
|
+
"products": obj.get("products"),
|
113
|
+
"openFinancePermissionsGranted": obj.get("openFinancePermissionsGranted"),
|
114
|
+
"createdAt": obj.get("createdAt"),
|
115
|
+
"expiresAt": obj.get("expiresAt"),
|
116
|
+
"revokedAt": obj.get("revokedAt")
|
117
|
+
})
|
118
|
+
return _obj
|
119
|
+
|
120
|
+
|
@@ -29,10 +29,10 @@ class CreateBoletoPaymentRequest(BaseModel):
|
|
29
29
|
Request with information to create a boleto payment request
|
30
30
|
""" # noqa: E501
|
31
31
|
description: Optional[StrictStr] = Field(default=None, description="Payment description")
|
32
|
-
|
32
|
+
boleto_digitable_line: StrictStr = Field(description="Boleto digitable line", alias="boletoDigitableLine")
|
33
33
|
callback_urls: Optional[PaymentRequestCallbackUrls] = Field(default=None, alias="callbackUrls")
|
34
34
|
customer_id: Optional[StrictStr] = Field(default=None, description="Customer identifier associated to the payment", alias="customerId")
|
35
|
-
__properties: ClassVar[List[str]] = ["description", "
|
35
|
+
__properties: ClassVar[List[str]] = ["description", "boletoDigitableLine", "callbackUrls", "customerId"]
|
36
36
|
|
37
37
|
model_config = ConfigDict(
|
38
38
|
populate_by_name=True,
|
@@ -89,7 +89,7 @@ class CreateBoletoPaymentRequest(BaseModel):
|
|
89
89
|
|
90
90
|
_obj = cls.model_validate({
|
91
91
|
"description": obj.get("description"),
|
92
|
-
"
|
92
|
+
"boletoDigitableLine": obj.get("boletoDigitableLine"),
|
93
93
|
"callbackUrls": PaymentRequestCallbackUrls.from_dict(obj["callbackUrls"]) if obj.get("callbackUrls") is not None else None,
|
94
94
|
"customerId": obj.get("customerId")
|
95
95
|
})
|
@@ -21,6 +21,7 @@ import json
|
|
21
21
|
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
22
22
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
23
23
|
from pluggy_sdk.models.payment_request_callback_urls import PaymentRequestCallbackUrls
|
24
|
+
from pluggy_sdk.models.payment_request_schedule import PaymentRequestSchedule
|
24
25
|
from typing import Optional, Set
|
25
26
|
from typing_extensions import Self
|
26
27
|
|
@@ -35,7 +36,8 @@ class CreatePaymentRequest(BaseModel):
|
|
35
36
|
customer_id: Optional[StrictStr] = Field(default=None, description="Customer identifier associated to the payment", alias="customerId")
|
36
37
|
client_payment_id: Optional[StrictStr] = Field(default=None, description="Your payment identifier", alias="clientPaymentId")
|
37
38
|
smart_account_id: Optional[StrictStr] = Field(default=None, description="Smart account identifier associated to the payment, used to be able to use PIX Qr method", alias="smartAccountId")
|
38
|
-
|
39
|
+
schedule: Optional[PaymentRequestSchedule] = None
|
40
|
+
__properties: ClassVar[List[str]] = ["amount", "description", "callbackUrls", "recipientId", "customerId", "clientPaymentId", "smartAccountId", "schedule"]
|
39
41
|
|
40
42
|
model_config = ConfigDict(
|
41
43
|
populate_by_name=True,
|
@@ -79,6 +81,9 @@ class CreatePaymentRequest(BaseModel):
|
|
79
81
|
# override the default output from pydantic by calling `to_dict()` of callback_urls
|
80
82
|
if self.callback_urls:
|
81
83
|
_dict['callbackUrls'] = self.callback_urls.to_dict()
|
84
|
+
# override the default output from pydantic by calling `to_dict()` of schedule
|
85
|
+
if self.schedule:
|
86
|
+
_dict['schedule'] = self.schedule.to_dict()
|
82
87
|
return _dict
|
83
88
|
|
84
89
|
@classmethod
|
@@ -97,7 +102,8 @@ class CreatePaymentRequest(BaseModel):
|
|
97
102
|
"recipientId": obj.get("recipientId"),
|
98
103
|
"customerId": obj.get("customerId"),
|
99
104
|
"clientPaymentId": obj.get("clientPaymentId"),
|
100
|
-
"smartAccountId": obj.get("smartAccountId")
|
105
|
+
"smartAccountId": obj.get("smartAccountId"),
|
106
|
+
"schedule": PaymentRequestSchedule.from_dict(obj["schedule"]) if obj.get("schedule") is not None else None
|
101
107
|
})
|
102
108
|
return _obj
|
103
109
|
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
23
|
+
from typing import Optional, Set
|
24
|
+
from typing_extensions import Self
|
25
|
+
|
26
|
+
class CreateSmartAccountTransferRequest(BaseModel):
|
27
|
+
"""
|
28
|
+
Request with information to create a smart account transfer
|
29
|
+
""" # noqa: E501
|
30
|
+
amount: Union[StrictFloat, StrictInt] = Field(description="Transfer amount")
|
31
|
+
recipient_id: StrictStr = Field(description="Primary identifier of the recipient associated to the transfer", alias="recipientId")
|
32
|
+
client_payment_id: Optional[StrictStr] = Field(default=None, description="Primary identifier of the client payment associated to the transfer", alias="clientPaymentId")
|
33
|
+
__properties: ClassVar[List[str]] = ["amount", "recipientId", "clientPaymentId"]
|
34
|
+
|
35
|
+
model_config = ConfigDict(
|
36
|
+
populate_by_name=True,
|
37
|
+
validate_assignment=True,
|
38
|
+
protected_namespaces=(),
|
39
|
+
)
|
40
|
+
|
41
|
+
|
42
|
+
def to_str(self) -> str:
|
43
|
+
"""Returns the string representation of the model using alias"""
|
44
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
45
|
+
|
46
|
+
def to_json(self) -> str:
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
48
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
49
|
+
return json.dumps(self.to_dict())
|
50
|
+
|
51
|
+
@classmethod
|
52
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
53
|
+
"""Create an instance of CreateSmartAccountTransferRequest from a JSON string"""
|
54
|
+
return cls.from_dict(json.loads(json_str))
|
55
|
+
|
56
|
+
def to_dict(self) -> Dict[str, Any]:
|
57
|
+
"""Return the dictionary representation of the model using alias.
|
58
|
+
|
59
|
+
This has the following differences from calling pydantic's
|
60
|
+
`self.model_dump(by_alias=True)`:
|
61
|
+
|
62
|
+
* `None` is only added to the output dict for nullable fields that
|
63
|
+
were set at model initialization. Other fields with value `None`
|
64
|
+
are ignored.
|
65
|
+
"""
|
66
|
+
excluded_fields: Set[str] = set([
|
67
|
+
])
|
68
|
+
|
69
|
+
_dict = self.model_dump(
|
70
|
+
by_alias=True,
|
71
|
+
exclude=excluded_fields,
|
72
|
+
exclude_none=True,
|
73
|
+
)
|
74
|
+
return _dict
|
75
|
+
|
76
|
+
@classmethod
|
77
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
78
|
+
"""Create an instance of CreateSmartAccountTransferRequest from a dict"""
|
79
|
+
if obj is None:
|
80
|
+
return None
|
81
|
+
|
82
|
+
if not isinstance(obj, dict):
|
83
|
+
return cls.model_validate(obj)
|
84
|
+
|
85
|
+
_obj = cls.model_validate({
|
86
|
+
"amount": obj.get("amount"),
|
87
|
+
"recipientId": obj.get("recipientId"),
|
88
|
+
"clientPaymentId": obj.get("clientPaymentId")
|
89
|
+
})
|
90
|
+
return _obj
|
91
|
+
|
92
|
+
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
"""
|
4
|
+
Pluggy API
|
5
|
+
|
6
|
+
Pluggy's main API to review data and execute connectors
|
7
|
+
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
9
|
+
Contact: hello@pluggy.ai
|
10
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
11
|
+
|
12
|
+
Do not edit the class manually.
|
13
|
+
""" # noqa: E501
|
14
|
+
|
15
|
+
|
16
|
+
from __future__ import annotations
|
17
|
+
import pprint
|
18
|
+
import re # noqa: F401
|
19
|
+
import json
|
20
|
+
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt
|
22
|
+
from typing import Any, ClassVar, Dict, List, Union
|
23
|
+
from pluggy_sdk.models.consent import Consent
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class PageResponseConsents(BaseModel):
|
28
|
+
"""
|
29
|
+
|
30
|
+
""" # noqa: E501
|
31
|
+
results: List[Consent]
|
32
|
+
page: Union[StrictFloat, StrictInt]
|
33
|
+
total: Union[StrictFloat, StrictInt]
|
34
|
+
total_pages: Union[StrictFloat, StrictInt] = Field(alias="totalPages")
|
35
|
+
__properties: ClassVar[List[str]] = ["results", "page", "total", "totalPages"]
|
36
|
+
|
37
|
+
model_config = ConfigDict(
|
38
|
+
populate_by_name=True,
|
39
|
+
validate_assignment=True,
|
40
|
+
protected_namespaces=(),
|
41
|
+
)
|
42
|
+
|
43
|
+
|
44
|
+
def to_str(self) -> str:
|
45
|
+
"""Returns the string representation of the model using alias"""
|
46
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
47
|
+
|
48
|
+
def to_json(self) -> str:
|
49
|
+
"""Returns the JSON representation of the model using alias"""
|
50
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
51
|
+
return json.dumps(self.to_dict())
|
52
|
+
|
53
|
+
@classmethod
|
54
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
55
|
+
"""Create an instance of PageResponseConsents from a JSON string"""
|
56
|
+
return cls.from_dict(json.loads(json_str))
|
57
|
+
|
58
|
+
def to_dict(self) -> Dict[str, Any]:
|
59
|
+
"""Return the dictionary representation of the model using alias.
|
60
|
+
|
61
|
+
This has the following differences from calling pydantic's
|
62
|
+
`self.model_dump(by_alias=True)`:
|
63
|
+
|
64
|
+
* `None` is only added to the output dict for nullable fields that
|
65
|
+
were set at model initialization. Other fields with value `None`
|
66
|
+
are ignored.
|
67
|
+
"""
|
68
|
+
excluded_fields: Set[str] = set([
|
69
|
+
])
|
70
|
+
|
71
|
+
_dict = self.model_dump(
|
72
|
+
by_alias=True,
|
73
|
+
exclude=excluded_fields,
|
74
|
+
exclude_none=True,
|
75
|
+
)
|
76
|
+
# override the default output from pydantic by calling `to_dict()` of each item in results (list)
|
77
|
+
_items = []
|
78
|
+
if self.results:
|
79
|
+
for _item in self.results:
|
80
|
+
if _item:
|
81
|
+
_items.append(_item.to_dict())
|
82
|
+
_dict['results'] = _items
|
83
|
+
return _dict
|
84
|
+
|
85
|
+
@classmethod
|
86
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
87
|
+
"""Create an instance of PageResponseConsents from a dict"""
|
88
|
+
if obj is None:
|
89
|
+
return None
|
90
|
+
|
91
|
+
if not isinstance(obj, dict):
|
92
|
+
return cls.model_validate(obj)
|
93
|
+
|
94
|
+
_obj = cls.model_validate({
|
95
|
+
"results": [Consent.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None,
|
96
|
+
"page": obj.get("page"),
|
97
|
+
"total": obj.get("total"),
|
98
|
+
"totalPages": obj.get("totalPages")
|
99
|
+
})
|
100
|
+
return _obj
|
101
|
+
|
102
|
+
|
@@ -18,7 +18,7 @@ import pprint
|
|
18
18
|
import re # noqa: F401
|
19
19
|
import json
|
20
20
|
|
21
|
-
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
21
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
22
22
|
from typing import Any, ClassVar, Dict, List
|
23
23
|
from typing import Optional, Set
|
24
24
|
from typing_extensions import Self
|
@@ -29,16 +29,9 @@ class PaymentRecipientAccount(BaseModel):
|
|
29
29
|
""" # noqa: E501
|
30
30
|
branch: StrictStr = Field(description="Receiver bank account branch (agency)")
|
31
31
|
number: StrictStr = Field(description="Receiver bank account number")
|
32
|
-
type: StrictStr = Field(description="Receiver bank account type")
|
32
|
+
type: StrictStr = Field(description="Receiver bank account type, could be: 'CHECKING_ACCOUNT', 'SAVINGS_ACCOUNT' or 'GUARANTEED_ACCOUNT'")
|
33
33
|
__properties: ClassVar[List[str]] = ["branch", "number", "type"]
|
34
34
|
|
35
|
-
@field_validator('type')
|
36
|
-
def type_validate_enum(cls, value):
|
37
|
-
"""Validates the enum"""
|
38
|
-
if value not in set(['CHECKING_ACCOUNT', 'SAVINGS_ACCOUNT', 'GUARANTEED_ACCOUNT']):
|
39
|
-
raise ValueError("must be one of enum values ('CHECKING_ACCOUNT', 'SAVINGS_ACCOUNT', 'GUARANTEED_ACCOUNT')")
|
40
|
-
return value
|
41
|
-
|
42
35
|
model_config = ConfigDict(
|
43
36
|
populate_by_name=True,
|
44
37
|
validate_assignment=True,
|
@@ -23,6 +23,7 @@ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, Stric
|
|
23
23
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
24
24
|
from pluggy_sdk.models.boleto import Boleto
|
25
25
|
from pluggy_sdk.models.payment_request_callback_urls import PaymentRequestCallbackUrls
|
26
|
+
from pluggy_sdk.models.payment_request_schedule import PaymentRequestSchedule
|
26
27
|
from typing import Optional, Set
|
27
28
|
from typing_extensions import Self
|
28
29
|
|
@@ -42,7 +43,8 @@ class PaymentRequest(BaseModel):
|
|
42
43
|
payment_url: StrictStr = Field(description="URL to begin the payment intent creation flow for this payment request", alias="paymentUrl")
|
43
44
|
pix_qr_code: Optional[StrictStr] = Field(default=None, description="Pix QR code generated by the payment receiver", alias="pixQrCode")
|
44
45
|
boleto: Optional[Boleto] = None
|
45
|
-
|
46
|
+
schedule: Optional[PaymentRequestSchedule] = None
|
47
|
+
__properties: ClassVar[List[str]] = ["id", "amount", "description", "status", "clientPaymentId", "createdAt", "updatedAt", "callbackUrls", "recipientId", "paymentUrl", "pixQrCode", "boleto", "schedule"]
|
46
48
|
|
47
49
|
@field_validator('status')
|
48
50
|
def status_validate_enum(cls, value):
|
@@ -96,6 +98,9 @@ class PaymentRequest(BaseModel):
|
|
96
98
|
# override the default output from pydantic by calling `to_dict()` of boleto
|
97
99
|
if self.boleto:
|
98
100
|
_dict['boleto'] = self.boleto.to_dict()
|
101
|
+
# override the default output from pydantic by calling `to_dict()` of schedule
|
102
|
+
if self.schedule:
|
103
|
+
_dict['schedule'] = self.schedule.to_dict()
|
99
104
|
return _dict
|
100
105
|
|
101
106
|
@classmethod
|
@@ -119,7 +124,8 @@ class PaymentRequest(BaseModel):
|
|
119
124
|
"recipientId": obj.get("recipientId"),
|
120
125
|
"paymentUrl": obj.get("paymentUrl"),
|
121
126
|
"pixQrCode": obj.get("pixQrCode"),
|
122
|
-
"boleto": Boleto.from_dict(obj["boleto"]) if obj.get("boleto") is not None else None
|
127
|
+
"boleto": Boleto.from_dict(obj["boleto"]) if obj.get("boleto") is not None else None,
|
128
|
+
"schedule": PaymentRequestSchedule.from_dict(obj["schedule"]) if obj.get("schedule") is not None else None
|
123
129
|
})
|
124
130
|
return _obj
|
125
131
|
|