pluggy-sdk 1.0.0.post34__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 +200 -0
- pluggy_sdk/api/__init__.py +25 -0
- pluggy_sdk/api/account_api.py +588 -0
- pluggy_sdk/api/acquirer_anticipation_api.py +664 -0
- pluggy_sdk/api/acquirer_receivable_api.py +664 -0
- pluggy_sdk/api/acquirer_sale_api.py +664 -0
- pluggy_sdk/api/auth_api.py +605 -0
- pluggy_sdk/api/benefit_api.py +567 -0
- pluggy_sdk/api/bill_api.py +567 -0
- pluggy_sdk/api/bulk_payment_api.py +1127 -0
- pluggy_sdk/api/category_api.py +1096 -0
- pluggy_sdk/api/connector_api.py +979 -0
- pluggy_sdk/api/consent_api.py +576 -0
- pluggy_sdk/api/identity_api.py +581 -0
- pluggy_sdk/api/income_report_api.py +311 -0
- pluggy_sdk/api/investment_api.py +918 -0
- pluggy_sdk/api/items_api.py +1456 -0
- pluggy_sdk/api/loan_api.py +567 -0
- pluggy_sdk/api/payment_customer_api.py +1414 -0
- pluggy_sdk/api/payment_intent_api.py +842 -0
- pluggy_sdk/api/payment_receipts_api.py +842 -0
- pluggy_sdk/api/payment_recipient_api.py +1997 -0
- pluggy_sdk/api/payment_request_api.py +2739 -0
- pluggy_sdk/api/payment_schedule_api.py +823 -0
- pluggy_sdk/api/payroll_loan_api.py +561 -0
- pluggy_sdk/api/portfolio_yield_api.py +580 -0
- pluggy_sdk/api/smart_account_api.py +1704 -0
- pluggy_sdk/api/smart_account_transfer_api.py +610 -0
- pluggy_sdk/api/smart_transfer_api.py +1406 -0
- pluggy_sdk/api/transaction_api.py +963 -0
- pluggy_sdk/api/webhook_api.py +1406 -0
- pluggy_sdk/api_client.py +798 -0
- pluggy_sdk/api_response.py +21 -0
- pluggy_sdk/configuration.py +596 -0
- pluggy_sdk/exceptions.py +217 -0
- pluggy_sdk/models/__init__.py +163 -0
- pluggy_sdk/models/account.py +134 -0
- pluggy_sdk/models/accounts_list200_response.py +102 -0
- pluggy_sdk/models/acquirer_anticipation.py +117 -0
- pluggy_sdk/models/acquirer_anticipation_data.py +101 -0
- pluggy_sdk/models/acquirer_data.py +113 -0
- pluggy_sdk/models/acquirer_receivable.py +143 -0
- pluggy_sdk/models/acquirer_receivable_data.py +108 -0
- pluggy_sdk/models/acquirer_receivable_data_establishment.py +96 -0
- pluggy_sdk/models/acquirer_receivable_destination_account.py +92 -0
- pluggy_sdk/models/acquirer_receivable_related_sale.py +99 -0
- pluggy_sdk/models/acquirer_sale.py +171 -0
- pluggy_sdk/models/acquirer_sale_data.py +150 -0
- pluggy_sdk/models/acquirer_sale_installment.py +93 -0
- pluggy_sdk/models/acquirer_sale_installment_data.py +95 -0
- pluggy_sdk/models/address.py +110 -0
- pluggy_sdk/models/aggregated_portfolio.py +120 -0
- pluggy_sdk/models/aggregated_portfolio_response.py +102 -0
- pluggy_sdk/models/asset_distribution.py +88 -0
- pluggy_sdk/models/auth_request.py +90 -0
- pluggy_sdk/models/auth_response.py +88 -0
- pluggy_sdk/models/bank_data.py +92 -0
- pluggy_sdk/models/benefit_loan.py +121 -0
- pluggy_sdk/models/benefit_loan_client.py +102 -0
- pluggy_sdk/models/benefit_response.py +118 -0
- pluggy_sdk/models/benefit_response_paying_institution.py +94 -0
- pluggy_sdk/models/benefits_list200_response.py +102 -0
- pluggy_sdk/models/bill.py +109 -0
- pluggy_sdk/models/bill_finance_charge.py +103 -0
- pluggy_sdk/models/bills_list200_response.py +102 -0
- pluggy_sdk/models/boleto.py +121 -0
- pluggy_sdk/models/boleto_payer.py +90 -0
- pluggy_sdk/models/boleto_recipient.py +90 -0
- pluggy_sdk/models/bulk_payment.py +128 -0
- pluggy_sdk/models/bulk_payments_list200_response.py +102 -0
- pluggy_sdk/models/category.py +96 -0
- pluggy_sdk/models/client_category_rule.py +98 -0
- pluggy_sdk/models/company.py +90 -0
- pluggy_sdk/models/connect_token_request.py +94 -0
- pluggy_sdk/models/connect_token_response.py +88 -0
- pluggy_sdk/models/connector.py +145 -0
- pluggy_sdk/models/connector_credential.py +121 -0
- pluggy_sdk/models/connector_health.py +96 -0
- pluggy_sdk/models/connector_health_details.py +90 -0
- pluggy_sdk/models/connector_list_response.py +102 -0
- pluggy_sdk/models/connector_user_action.py +93 -0
- pluggy_sdk/models/consent.py +120 -0
- pluggy_sdk/models/create_boleto_payment_request.py +98 -0
- pluggy_sdk/models/create_bulk_payment.py +96 -0
- pluggy_sdk/models/create_client_category_rule.py +96 -0
- pluggy_sdk/models/create_item.py +115 -0
- pluggy_sdk/models/create_item_parameters.py +144 -0
- pluggy_sdk/models/create_or_update_payment_customer.py +105 -0
- pluggy_sdk/models/create_payment_customer_request_body.py +103 -0
- pluggy_sdk/models/create_payment_intent.py +110 -0
- pluggy_sdk/models/create_payment_recipient.py +104 -0
- pluggy_sdk/models/create_payment_request.py +115 -0
- pluggy_sdk/models/create_payment_request_schedule.py +189 -0
- pluggy_sdk/models/create_pix_qr_payment_request.py +96 -0
- pluggy_sdk/models/create_smart_account_request.py +104 -0
- pluggy_sdk/models/create_smart_account_transfer_request.py +92 -0
- pluggy_sdk/models/create_smart_transfer_payment.py +96 -0
- pluggy_sdk/models/create_smart_transfer_preauthorization.py +104 -0
- pluggy_sdk/models/create_webhook.py +99 -0
- pluggy_sdk/models/credential_select_option.py +90 -0
- pluggy_sdk/models/credit_card_metadata.py +101 -0
- pluggy_sdk/models/credit_data.py +127 -0
- pluggy_sdk/models/custom.py +100 -0
- pluggy_sdk/models/daily.py +101 -0
- pluggy_sdk/models/document.py +100 -0
- pluggy_sdk/models/email.py +100 -0
- pluggy_sdk/models/global_error_response.py +94 -0
- pluggy_sdk/models/i_count_response.py +88 -0
- pluggy_sdk/models/identity_relation.py +102 -0
- pluggy_sdk/models/identity_response.py +173 -0
- pluggy_sdk/models/identity_response_financial_relationships.py +111 -0
- pluggy_sdk/models/identity_response_financial_relationships_accounts_inner.py +98 -0
- pluggy_sdk/models/identity_response_financial_relationships_procurators_inner.py +101 -0
- pluggy_sdk/models/identity_response_qualifications.py +112 -0
- pluggy_sdk/models/identity_response_qualifications_informed_income.py +100 -0
- pluggy_sdk/models/identity_response_qualifications_informed_patrimony.py +90 -0
- pluggy_sdk/models/income_report.py +90 -0
- pluggy_sdk/models/income_reports_response.py +102 -0
- pluggy_sdk/models/investment.py +192 -0
- pluggy_sdk/models/investment_expenses.py +108 -0
- pluggy_sdk/models/investment_metadata.py +100 -0
- pluggy_sdk/models/investment_transaction.py +124 -0
- pluggy_sdk/models/investments_list200_response.py +102 -0
- pluggy_sdk/models/item.py +150 -0
- pluggy_sdk/models/item_creation_error_response.py +102 -0
- pluggy_sdk/models/item_error.py +94 -0
- pluggy_sdk/models/item_options.py +94 -0
- pluggy_sdk/models/loan.py +199 -0
- pluggy_sdk/models/loan_contracted_fee.py +118 -0
- pluggy_sdk/models/loan_contracted_finance_charge.py +92 -0
- pluggy_sdk/models/loan_installment_balloon_payment.py +95 -0
- pluggy_sdk/models/loan_installment_balloon_payment_amount.py +90 -0
- pluggy_sdk/models/loan_installments.py +130 -0
- pluggy_sdk/models/loan_interest_rate.py +136 -0
- pluggy_sdk/models/loan_payment_release.py +103 -0
- pluggy_sdk/models/loan_payment_release_over_parcel.py +106 -0
- pluggy_sdk/models/loan_payment_release_over_parcel_charge.py +92 -0
- pluggy_sdk/models/loan_payment_release_over_parcel_fee.py +92 -0
- pluggy_sdk/models/loan_payments.py +98 -0
- pluggy_sdk/models/loan_warranty.py +94 -0
- pluggy_sdk/models/loans_list200_response.py +102 -0
- pluggy_sdk/models/merchant.py +96 -0
- pluggy_sdk/models/monthly.py +103 -0
- pluggy_sdk/models/monthly_portfolio.py +100 -0
- pluggy_sdk/models/monthly_portfolio_response.py +102 -0
- pluggy_sdk/models/not_authenticated_response.py +90 -0
- pluggy_sdk/models/page_response_acquirer_anticipations.py +102 -0
- pluggy_sdk/models/page_response_acquirer_receivables.py +102 -0
- pluggy_sdk/models/page_response_acquirer_sales.py +102 -0
- pluggy_sdk/models/page_response_category_rules.py +102 -0
- pluggy_sdk/models/page_response_consents.py +102 -0
- pluggy_sdk/models/page_response_investment_transactions.py +102 -0
- pluggy_sdk/models/page_response_transactions.py +102 -0
- pluggy_sdk/models/parameter_validation_error.py +92 -0
- pluggy_sdk/models/parameter_validation_response.py +98 -0
- pluggy_sdk/models/payment_customer.py +105 -0
- pluggy_sdk/models/payment_customers_list200_response.py +102 -0
- pluggy_sdk/models/payment_data.py +111 -0
- pluggy_sdk/models/payment_data_boleto_metadata.py +98 -0
- pluggy_sdk/models/payment_data_participant.py +102 -0
- pluggy_sdk/models/payment_institution.py +101 -0
- pluggy_sdk/models/payment_intent.py +145 -0
- pluggy_sdk/models/payment_intent_parameter.py +90 -0
- pluggy_sdk/models/payment_intents_list200_response.py +102 -0
- pluggy_sdk/models/payment_receipt.py +120 -0
- pluggy_sdk/models/payment_receipt_bank_account.py +92 -0
- pluggy_sdk/models/payment_receipt_person.py +96 -0
- pluggy_sdk/models/payment_recipient.py +110 -0
- pluggy_sdk/models/payment_recipient_account.py +92 -0
- pluggy_sdk/models/payment_recipients_institution_list200_response.py +102 -0
- pluggy_sdk/models/payment_recipients_list200_response.py +102 -0
- pluggy_sdk/models/payment_request.py +132 -0
- pluggy_sdk/models/payment_request_callback_urls.py +92 -0
- pluggy_sdk/models/payment_request_receipt_list200_response.py +102 -0
- pluggy_sdk/models/payment_request_schedule.py +183 -0
- pluggy_sdk/models/payment_requests_list200_response.py +102 -0
- pluggy_sdk/models/payment_schedules_list200_response.py +102 -0
- pluggy_sdk/models/payroll_loan.py +121 -0
- pluggy_sdk/models/payroll_loan_client.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/percentage_over_index.py +90 -0
- pluggy_sdk/models/phone_number.py +100 -0
- pluggy_sdk/models/pix_data.py +90 -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/single.py +98 -0
- pluggy_sdk/models/smart_account.py +107 -0
- pluggy_sdk/models/smart_account_address.py +112 -0
- pluggy_sdk/models/smart_account_balance.py +95 -0
- pluggy_sdk/models/smart_account_transfer.py +123 -0
- pluggy_sdk/models/smart_accounts_list200_response.py +102 -0
- pluggy_sdk/models/smart_tranfers_preauthorizations_list200_response.py +102 -0
- pluggy_sdk/models/smart_transfer_callback_urls.py +90 -0
- pluggy_sdk/models/smart_transfer_payment.py +116 -0
- pluggy_sdk/models/smart_transfer_preauthorization.py +128 -0
- pluggy_sdk/models/smart_transfer_preauthorization_parameter.py +90 -0
- pluggy_sdk/models/status_detail.py +127 -0
- pluggy_sdk/models/status_detail_product.py +101 -0
- pluggy_sdk/models/status_detail_product_warning.py +92 -0
- pluggy_sdk/models/transaction.py +141 -0
- pluggy_sdk/models/update_item.py +109 -0
- pluggy_sdk/models/update_item_parameters.py +144 -0
- pluggy_sdk/models/update_payment_recipient.py +102 -0
- pluggy_sdk/models/update_payment_request.py +102 -0
- pluggy_sdk/models/update_transaction.py +88 -0
- pluggy_sdk/models/webhook.py +106 -0
- pluggy_sdk/models/webhook_creation_error_response.py +90 -0
- pluggy_sdk/models/webhooks_list200_response.py +102 -0
- pluggy_sdk/models/weekly.py +110 -0
- pluggy_sdk/py.typed +0 -0
- pluggy_sdk/rest.py +258 -0
- pluggy_sdk-1.0.0.post34.dist-info/METADATA +373 -0
- pluggy_sdk-1.0.0.post34.dist-info/RECORD +221 -0
- pluggy_sdk-1.0.0.post34.dist-info/WHEEL +5 -0
- pluggy_sdk-1.0.0.post34.dist-info/top_level.txt +1 -0
@@ -0,0 +1,130 @@
|
|
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, field_validator
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
23
|
+
from pluggy_sdk.models.loan_installment_balloon_payment import LoanInstallmentBalloonPayment
|
24
|
+
from typing import Optional, Set
|
25
|
+
from typing_extensions import Self
|
26
|
+
|
27
|
+
class LoanInstallments(BaseModel):
|
28
|
+
"""
|
29
|
+
LoanInstallments
|
30
|
+
""" # noqa: E501
|
31
|
+
type_number_of_installments: Optional[StrictStr] = Field(default=None, description="Type of total term of the contract referring to the type of credit informed", alias="typeNumberOfInstallments")
|
32
|
+
total_number_of_installments: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Total term according to the type referring to the type of credit informed", alias="totalNumberOfInstallments")
|
33
|
+
type_contract_remaining: Optional[StrictStr] = Field(default=None, description="Type of remaining term of the contract referring to the type of credit informed", alias="typeContractRemaining")
|
34
|
+
contract_remaining_number: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Remaining term according to the type referring to the credit type informed", alias="contractRemainingNumber")
|
35
|
+
paid_installments: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Number of paid installments", alias="paidInstallments")
|
36
|
+
due_installments: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Number of due installments", alias="dueInstallments")
|
37
|
+
past_due_installments: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Number of overdue installments", alias="pastDueInstallments")
|
38
|
+
balloon_payments: Optional[List[LoanInstallmentBalloonPayment]] = Field(default=None, description="List that brings the due dates and value of the non-regular installments of the contract of the type of credit consulted", alias="balloonPayments")
|
39
|
+
__properties: ClassVar[List[str]] = ["typeNumberOfInstallments", "totalNumberOfInstallments", "typeContractRemaining", "contractRemainingNumber", "paidInstallments", "dueInstallments", "pastDueInstallments", "balloonPayments"]
|
40
|
+
|
41
|
+
@field_validator('type_number_of_installments')
|
42
|
+
def type_number_of_installments_validate_enum(cls, value):
|
43
|
+
"""Validates the enum"""
|
44
|
+
if value is None:
|
45
|
+
return value
|
46
|
+
|
47
|
+
if value not in set(['DAY', 'WEEK', 'MONTH', 'YEAR', 'WITHOUT_TOTAL_PERIOD']):
|
48
|
+
raise ValueError("must be one of enum values ('DAY', 'WEEK', 'MONTH', 'YEAR', 'WITHOUT_TOTAL_PERIOD')")
|
49
|
+
return value
|
50
|
+
|
51
|
+
@field_validator('type_contract_remaining')
|
52
|
+
def type_contract_remaining_validate_enum(cls, value):
|
53
|
+
"""Validates the enum"""
|
54
|
+
if value is None:
|
55
|
+
return value
|
56
|
+
|
57
|
+
if value not in set(['DAY', 'WEEK', 'MONTH', 'YEAR', 'WITHOUT_TOTAL_PERIOD', 'WITHOUT_REMAINING_PERIOD']):
|
58
|
+
raise ValueError("must be one of enum values ('DAY', 'WEEK', 'MONTH', 'YEAR', 'WITHOUT_TOTAL_PERIOD', 'WITHOUT_REMAINING_PERIOD')")
|
59
|
+
return value
|
60
|
+
|
61
|
+
model_config = ConfigDict(
|
62
|
+
populate_by_name=True,
|
63
|
+
validate_assignment=True,
|
64
|
+
protected_namespaces=(),
|
65
|
+
)
|
66
|
+
|
67
|
+
|
68
|
+
def to_str(self) -> str:
|
69
|
+
"""Returns the string representation of the model using alias"""
|
70
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
71
|
+
|
72
|
+
def to_json(self) -> str:
|
73
|
+
"""Returns the JSON representation of the model using alias"""
|
74
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
75
|
+
return json.dumps(self.to_dict())
|
76
|
+
|
77
|
+
@classmethod
|
78
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
79
|
+
"""Create an instance of LoanInstallments from a JSON string"""
|
80
|
+
return cls.from_dict(json.loads(json_str))
|
81
|
+
|
82
|
+
def to_dict(self) -> Dict[str, Any]:
|
83
|
+
"""Return the dictionary representation of the model using alias.
|
84
|
+
|
85
|
+
This has the following differences from calling pydantic's
|
86
|
+
`self.model_dump(by_alias=True)`:
|
87
|
+
|
88
|
+
* `None` is only added to the output dict for nullable fields that
|
89
|
+
were set at model initialization. Other fields with value `None`
|
90
|
+
are ignored.
|
91
|
+
"""
|
92
|
+
excluded_fields: Set[str] = set([
|
93
|
+
])
|
94
|
+
|
95
|
+
_dict = self.model_dump(
|
96
|
+
by_alias=True,
|
97
|
+
exclude=excluded_fields,
|
98
|
+
exclude_none=True,
|
99
|
+
)
|
100
|
+
# override the default output from pydantic by calling `to_dict()` of each item in balloon_payments (list)
|
101
|
+
_items = []
|
102
|
+
if self.balloon_payments:
|
103
|
+
for _item_balloon_payments in self.balloon_payments:
|
104
|
+
if _item_balloon_payments:
|
105
|
+
_items.append(_item_balloon_payments.to_dict())
|
106
|
+
_dict['balloonPayments'] = _items
|
107
|
+
return _dict
|
108
|
+
|
109
|
+
@classmethod
|
110
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
111
|
+
"""Create an instance of LoanInstallments from a dict"""
|
112
|
+
if obj is None:
|
113
|
+
return None
|
114
|
+
|
115
|
+
if not isinstance(obj, dict):
|
116
|
+
return cls.model_validate(obj)
|
117
|
+
|
118
|
+
_obj = cls.model_validate({
|
119
|
+
"typeNumberOfInstallments": obj.get("typeNumberOfInstallments"),
|
120
|
+
"totalNumberOfInstallments": obj.get("totalNumberOfInstallments"),
|
121
|
+
"typeContractRemaining": obj.get("typeContractRemaining"),
|
122
|
+
"contractRemainingNumber": obj.get("contractRemainingNumber"),
|
123
|
+
"paidInstallments": obj.get("paidInstallments"),
|
124
|
+
"dueInstallments": obj.get("dueInstallments"),
|
125
|
+
"pastDueInstallments": obj.get("pastDueInstallments"),
|
126
|
+
"balloonPayments": [LoanInstallmentBalloonPayment.from_dict(_item) for _item in obj["balloonPayments"]] if obj.get("balloonPayments") is not None else None
|
127
|
+
})
|
128
|
+
return _obj
|
129
|
+
|
130
|
+
|
@@ -0,0 +1,136 @@
|
|
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, field_validator
|
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 LoanInterestRate(BaseModel):
|
27
|
+
"""
|
28
|
+
Object that brings the set of information necessary to demonstrate the composition of the remunerative interest rates of the Credit Type
|
29
|
+
""" # noqa: E501
|
30
|
+
tax_type: Optional[StrictStr] = Field(default=None, description="Tax type", alias="taxType")
|
31
|
+
interest_rate_type: Optional[StrictStr] = Field(default=None, description="Interest rate type", alias="interestRateType")
|
32
|
+
tax_periodicity: Optional[StrictStr] = Field(default=None, description="Tax periodicity", alias="taxPeriodicity")
|
33
|
+
calculation: Optional[StrictStr] = Field(default=None, description="Calculation basis")
|
34
|
+
referential_rate_indexer_type: Optional[StrictStr] = Field(default=None, description="Types of benchmark rates or indexers (https://openbanking-brasil.github.io/openapi/swagger-apis/loans/?urls.primaryName=2.0.1#model-EnumContractReferentialRateIndexerType)", alias="referentialRateIndexerType")
|
35
|
+
referential_rate_indexer_sub_type: Optional[StrictStr] = Field(default=None, description="Subtypes of benchmark rates or indexers (https://openbanking-brasil.github.io/openapi/swagger-apis/loans/?urls.primaryName=2.0.1#model-EnumContractReferentialRateIndexerSubType)", alias="referentialRateIndexerSubType")
|
36
|
+
referential_rate_indexer_additional_info: Optional[StrictStr] = Field(default=None, description="Free field to complement the information regarding the Type of reference rate or indexer", alias="referentialRateIndexerAdditionalInfo")
|
37
|
+
pre_fixed_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Pre-fixed rate applied under the credit modality contract. 1 = 100%", alias="preFixedRate")
|
38
|
+
post_fixed_rate: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Post-fixed rate applied under the credit modality contract. 1 = 100%", alias="postFixedRate")
|
39
|
+
additional_info: Optional[StrictStr] = Field(default=None, description="Text with additional information on the composition of agreed interest rates", alias="additionalInfo")
|
40
|
+
__properties: ClassVar[List[str]] = ["taxType", "interestRateType", "taxPeriodicity", "calculation", "referentialRateIndexerType", "referentialRateIndexerSubType", "referentialRateIndexerAdditionalInfo", "preFixedRate", "postFixedRate", "additionalInfo"]
|
41
|
+
|
42
|
+
@field_validator('tax_type')
|
43
|
+
def tax_type_validate_enum(cls, value):
|
44
|
+
"""Validates the enum"""
|
45
|
+
if value is None:
|
46
|
+
return value
|
47
|
+
|
48
|
+
if value not in set(['NOMINAL', 'EFFECTIVE']):
|
49
|
+
raise ValueError("must be one of enum values ('NOMINAL', 'EFFECTIVE')")
|
50
|
+
return value
|
51
|
+
|
52
|
+
@field_validator('interest_rate_type')
|
53
|
+
def interest_rate_type_validate_enum(cls, value):
|
54
|
+
"""Validates the enum"""
|
55
|
+
if value is None:
|
56
|
+
return value
|
57
|
+
|
58
|
+
if value not in set(['SIMPLE', 'COMPOUND']):
|
59
|
+
raise ValueError("must be one of enum values ('SIMPLE', 'COMPOUND')")
|
60
|
+
return value
|
61
|
+
|
62
|
+
@field_validator('tax_periodicity')
|
63
|
+
def tax_periodicity_validate_enum(cls, value):
|
64
|
+
"""Validates the enum"""
|
65
|
+
if value is None:
|
66
|
+
return value
|
67
|
+
|
68
|
+
if value not in set(['MONTHLY', 'YEARLY']):
|
69
|
+
raise ValueError("must be one of enum values ('MONTHLY', 'YEARLY')")
|
70
|
+
return value
|
71
|
+
|
72
|
+
model_config = ConfigDict(
|
73
|
+
populate_by_name=True,
|
74
|
+
validate_assignment=True,
|
75
|
+
protected_namespaces=(),
|
76
|
+
)
|
77
|
+
|
78
|
+
|
79
|
+
def to_str(self) -> str:
|
80
|
+
"""Returns the string representation of the model using alias"""
|
81
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
82
|
+
|
83
|
+
def to_json(self) -> str:
|
84
|
+
"""Returns the JSON representation of the model using alias"""
|
85
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
86
|
+
return json.dumps(self.to_dict())
|
87
|
+
|
88
|
+
@classmethod
|
89
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
90
|
+
"""Create an instance of LoanInterestRate from a JSON string"""
|
91
|
+
return cls.from_dict(json.loads(json_str))
|
92
|
+
|
93
|
+
def to_dict(self) -> Dict[str, Any]:
|
94
|
+
"""Return the dictionary representation of the model using alias.
|
95
|
+
|
96
|
+
This has the following differences from calling pydantic's
|
97
|
+
`self.model_dump(by_alias=True)`:
|
98
|
+
|
99
|
+
* `None` is only added to the output dict for nullable fields that
|
100
|
+
were set at model initialization. Other fields with value `None`
|
101
|
+
are ignored.
|
102
|
+
"""
|
103
|
+
excluded_fields: Set[str] = set([
|
104
|
+
])
|
105
|
+
|
106
|
+
_dict = self.model_dump(
|
107
|
+
by_alias=True,
|
108
|
+
exclude=excluded_fields,
|
109
|
+
exclude_none=True,
|
110
|
+
)
|
111
|
+
return _dict
|
112
|
+
|
113
|
+
@classmethod
|
114
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
115
|
+
"""Create an instance of LoanInterestRate from a dict"""
|
116
|
+
if obj is None:
|
117
|
+
return None
|
118
|
+
|
119
|
+
if not isinstance(obj, dict):
|
120
|
+
return cls.model_validate(obj)
|
121
|
+
|
122
|
+
_obj = cls.model_validate({
|
123
|
+
"taxType": obj.get("taxType"),
|
124
|
+
"interestRateType": obj.get("interestRateType"),
|
125
|
+
"taxPeriodicity": obj.get("taxPeriodicity"),
|
126
|
+
"calculation": obj.get("calculation"),
|
127
|
+
"referentialRateIndexerType": obj.get("referentialRateIndexerType"),
|
128
|
+
"referentialRateIndexerSubType": obj.get("referentialRateIndexerSubType"),
|
129
|
+
"referentialRateIndexerAdditionalInfo": obj.get("referentialRateIndexerAdditionalInfo"),
|
130
|
+
"preFixedRate": obj.get("preFixedRate"),
|
131
|
+
"postFixedRate": obj.get("postFixedRate"),
|
132
|
+
"additionalInfo": obj.get("additionalInfo")
|
133
|
+
})
|
134
|
+
return _obj
|
135
|
+
|
136
|
+
|
@@ -0,0 +1,103 @@
|
|
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, StrictBool, StrictFloat, StrictInt, StrictStr
|
23
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
24
|
+
from pluggy_sdk.models.loan_payment_release_over_parcel import LoanPaymentReleaseOverParcel
|
25
|
+
from typing import Optional, Set
|
26
|
+
from typing_extensions import Self
|
27
|
+
|
28
|
+
class LoanPaymentRelease(BaseModel):
|
29
|
+
"""
|
30
|
+
LoanPaymentRelease
|
31
|
+
""" # noqa: E501
|
32
|
+
is_over_parcel_payment: Optional[StrictBool] = Field(default=None, description="Identifies whether it is an agreed payment (false) or a one-time payment (true)", alias="isOverParcelPayment")
|
33
|
+
installment_id: Optional[StrictStr] = Field(default=None, description="Installment identifier, responsibility of each transmitting Institution", alias="installmentId")
|
34
|
+
paid_date: Optional[datetime] = Field(default=None, description="Effective date of payment referring to the contract of the credit modality consulted", alias="paidDate")
|
35
|
+
currency_code: Optional[StrictStr] = Field(default=None, description="Code referencing the currency of the payment", alias="currencyCode")
|
36
|
+
paid_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Payment amount referring to the contract of the credit modality consulted", alias="paidAmount")
|
37
|
+
over_parcel: Optional[LoanPaymentReleaseOverParcel] = Field(default=None, alias="overParcel")
|
38
|
+
__properties: ClassVar[List[str]] = ["isOverParcelPayment", "installmentId", "paidDate", "currencyCode", "paidAmount", "overParcel"]
|
39
|
+
|
40
|
+
model_config = ConfigDict(
|
41
|
+
populate_by_name=True,
|
42
|
+
validate_assignment=True,
|
43
|
+
protected_namespaces=(),
|
44
|
+
)
|
45
|
+
|
46
|
+
|
47
|
+
def to_str(self) -> str:
|
48
|
+
"""Returns the string representation of the model using alias"""
|
49
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
50
|
+
|
51
|
+
def to_json(self) -> str:
|
52
|
+
"""Returns the JSON representation of the model using alias"""
|
53
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
54
|
+
return json.dumps(self.to_dict())
|
55
|
+
|
56
|
+
@classmethod
|
57
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
58
|
+
"""Create an instance of LoanPaymentRelease from a JSON string"""
|
59
|
+
return cls.from_dict(json.loads(json_str))
|
60
|
+
|
61
|
+
def to_dict(self) -> Dict[str, Any]:
|
62
|
+
"""Return the dictionary representation of the model using alias.
|
63
|
+
|
64
|
+
This has the following differences from calling pydantic's
|
65
|
+
`self.model_dump(by_alias=True)`:
|
66
|
+
|
67
|
+
* `None` is only added to the output dict for nullable fields that
|
68
|
+
were set at model initialization. Other fields with value `None`
|
69
|
+
are ignored.
|
70
|
+
"""
|
71
|
+
excluded_fields: Set[str] = set([
|
72
|
+
])
|
73
|
+
|
74
|
+
_dict = self.model_dump(
|
75
|
+
by_alias=True,
|
76
|
+
exclude=excluded_fields,
|
77
|
+
exclude_none=True,
|
78
|
+
)
|
79
|
+
# override the default output from pydantic by calling `to_dict()` of over_parcel
|
80
|
+
if self.over_parcel:
|
81
|
+
_dict['overParcel'] = self.over_parcel.to_dict()
|
82
|
+
return _dict
|
83
|
+
|
84
|
+
@classmethod
|
85
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
86
|
+
"""Create an instance of LoanPaymentRelease from a dict"""
|
87
|
+
if obj is None:
|
88
|
+
return None
|
89
|
+
|
90
|
+
if not isinstance(obj, dict):
|
91
|
+
return cls.model_validate(obj)
|
92
|
+
|
93
|
+
_obj = cls.model_validate({
|
94
|
+
"isOverParcelPayment": obj.get("isOverParcelPayment"),
|
95
|
+
"installmentId": obj.get("installmentId"),
|
96
|
+
"paidDate": obj.get("paidDate"),
|
97
|
+
"currencyCode": obj.get("currencyCode"),
|
98
|
+
"paidAmount": obj.get("paidAmount"),
|
99
|
+
"overParcel": LoanPaymentReleaseOverParcel.from_dict(obj["overParcel"]) if obj.get("overParcel") is not None else None
|
100
|
+
})
|
101
|
+
return _obj
|
102
|
+
|
103
|
+
|
@@ -0,0 +1,106 @@
|
|
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
|
22
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
23
|
+
from pluggy_sdk.models.loan_payment_release_over_parcel_charge import LoanPaymentReleaseOverParcelCharge
|
24
|
+
from pluggy_sdk.models.loan_payment_release_over_parcel_fee import LoanPaymentReleaseOverParcelFee
|
25
|
+
from typing import Optional, Set
|
26
|
+
from typing_extensions import Self
|
27
|
+
|
28
|
+
class LoanPaymentReleaseOverParcel(BaseModel):
|
29
|
+
"""
|
30
|
+
Object of fees and charges that were paid outside the installment
|
31
|
+
""" # noqa: E501
|
32
|
+
fees: Optional[List[LoanPaymentReleaseOverParcelFee]] = Field(default=None, description="List of fees that were paid outside the installment, only for single payment")
|
33
|
+
charges: Optional[List[LoanPaymentReleaseOverParcelCharge]] = Field(default=None, description="List of charges that were paid out of installment")
|
34
|
+
__properties: ClassVar[List[str]] = ["fees", "charges"]
|
35
|
+
|
36
|
+
model_config = ConfigDict(
|
37
|
+
populate_by_name=True,
|
38
|
+
validate_assignment=True,
|
39
|
+
protected_namespaces=(),
|
40
|
+
)
|
41
|
+
|
42
|
+
|
43
|
+
def to_str(self) -> str:
|
44
|
+
"""Returns the string representation of the model using alias"""
|
45
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
46
|
+
|
47
|
+
def to_json(self) -> str:
|
48
|
+
"""Returns the JSON representation of the model using alias"""
|
49
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
50
|
+
return json.dumps(self.to_dict())
|
51
|
+
|
52
|
+
@classmethod
|
53
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
54
|
+
"""Create an instance of LoanPaymentReleaseOverParcel from a JSON string"""
|
55
|
+
return cls.from_dict(json.loads(json_str))
|
56
|
+
|
57
|
+
def to_dict(self) -> Dict[str, Any]:
|
58
|
+
"""Return the dictionary representation of the model using alias.
|
59
|
+
|
60
|
+
This has the following differences from calling pydantic's
|
61
|
+
`self.model_dump(by_alias=True)`:
|
62
|
+
|
63
|
+
* `None` is only added to the output dict for nullable fields that
|
64
|
+
were set at model initialization. Other fields with value `None`
|
65
|
+
are ignored.
|
66
|
+
"""
|
67
|
+
excluded_fields: Set[str] = set([
|
68
|
+
])
|
69
|
+
|
70
|
+
_dict = self.model_dump(
|
71
|
+
by_alias=True,
|
72
|
+
exclude=excluded_fields,
|
73
|
+
exclude_none=True,
|
74
|
+
)
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of each item in fees (list)
|
76
|
+
_items = []
|
77
|
+
if self.fees:
|
78
|
+
for _item_fees in self.fees:
|
79
|
+
if _item_fees:
|
80
|
+
_items.append(_item_fees.to_dict())
|
81
|
+
_dict['fees'] = _items
|
82
|
+
# override the default output from pydantic by calling `to_dict()` of each item in charges (list)
|
83
|
+
_items = []
|
84
|
+
if self.charges:
|
85
|
+
for _item_charges in self.charges:
|
86
|
+
if _item_charges:
|
87
|
+
_items.append(_item_charges.to_dict())
|
88
|
+
_dict['charges'] = _items
|
89
|
+
return _dict
|
90
|
+
|
91
|
+
@classmethod
|
92
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
93
|
+
"""Create an instance of LoanPaymentReleaseOverParcel from a dict"""
|
94
|
+
if obj is None:
|
95
|
+
return None
|
96
|
+
|
97
|
+
if not isinstance(obj, dict):
|
98
|
+
return cls.model_validate(obj)
|
99
|
+
|
100
|
+
_obj = cls.model_validate({
|
101
|
+
"fees": [LoanPaymentReleaseOverParcelFee.from_dict(_item) for _item in obj["fees"]] if obj.get("fees") is not None else None,
|
102
|
+
"charges": [LoanPaymentReleaseOverParcelCharge.from_dict(_item) for _item in obj["charges"]] if obj.get("charges") is not None else None
|
103
|
+
})
|
104
|
+
return _obj
|
105
|
+
|
106
|
+
|
@@ -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 LoanPaymentReleaseOverParcelCharge(BaseModel):
|
27
|
+
"""
|
28
|
+
LoanPaymentReleaseOverParcelCharge
|
29
|
+
""" # noqa: E501
|
30
|
+
type: Optional[StrictStr] = Field(default=None, description="Charge type agreed in the contract (https://openbanking-brasil.github.io/openapi/swagger-apis/loans/?urls.primaryName=2.0.1#model-EnumContractFinanceChargeType)")
|
31
|
+
additional_info: Optional[StrictStr] = Field(default=None, description="Free field to fill in additional information regarding the charge", alias="additionalInfo")
|
32
|
+
amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Payment amount of the charge paid outside the installment")
|
33
|
+
__properties: ClassVar[List[str]] = ["type", "additionalInfo", "amount"]
|
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 LoanPaymentReleaseOverParcelCharge 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 LoanPaymentReleaseOverParcelCharge 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
|
+
"type": obj.get("type"),
|
87
|
+
"additionalInfo": obj.get("additionalInfo"),
|
88
|
+
"amount": obj.get("amount")
|
89
|
+
})
|
90
|
+
return _obj
|
91
|
+
|
92
|
+
|
@@ -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 LoanPaymentReleaseOverParcelFee(BaseModel):
|
27
|
+
"""
|
28
|
+
LoanPaymentReleaseOverParcelFee
|
29
|
+
""" # noqa: E501
|
30
|
+
name: Optional[StrictStr] = Field(default=None, description="Denomination of the agreed rate")
|
31
|
+
code: Optional[StrictStr] = Field(default=None, description="Acronym identifying the agreed rate")
|
32
|
+
amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Monetary value of the tariff agreed in the contract")
|
33
|
+
__properties: ClassVar[List[str]] = ["name", "code", "amount"]
|
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 LoanPaymentReleaseOverParcelFee 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 LoanPaymentReleaseOverParcelFee 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
|
+
"name": obj.get("name"),
|
87
|
+
"code": obj.get("code"),
|
88
|
+
"amount": obj.get("amount")
|
89
|
+
})
|
90
|
+
return _obj
|
91
|
+
|
92
|
+
|