mollie-api-py 1.0.0__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.
- mollie/__init__.py +18 -0
- mollie/_hooks/__init__.py +5 -0
- mollie/_hooks/mollie_hooks.py +165 -0
- mollie/_hooks/registration.py +18 -0
- mollie/_hooks/sdkhooks.py +76 -0
- mollie/_hooks/types.py +113 -0
- mollie/_version.py +15 -0
- mollie/balance_transfers.py +651 -0
- mollie/balances.py +1105 -0
- mollie/basesdk.py +360 -0
- mollie/capabilities.py +209 -0
- mollie/captures.py +677 -0
- mollie/chargebacks_sdk.py +675 -0
- mollie/client_links.py +325 -0
- mollie/clients.py +409 -0
- mollie/customers.py +1563 -0
- mollie/delayed_routing.py +421 -0
- mollie/httpclient.py +125 -0
- mollie/invoices.py +429 -0
- mollie/mandates.py +895 -0
- mollie/methods.py +789 -0
- mollie/models/__init__.py +4002 -0
- mollie/models/address.py +29 -0
- mollie/models/amount.py +25 -0
- mollie/models/amount_nullable.py +24 -0
- mollie/models/apierror.py +40 -0
- mollie/models/balance_card_audience.py +10 -0
- mollie/models/balance_card_issuer.py +12 -0
- mollie/models/balance_card_region.py +12 -0
- mollie/models/balance_fee_type.py +43 -0
- mollie/models/balance_prepayment_part_type.py +13 -0
- mollie/models/balance_report_grouping.py +10 -0
- mollie/models/balance_transaction_type.py +47 -0
- mollie/models/balance_transfer_category.py +17 -0
- mollie/models/balance_transfer_category_response.py +18 -0
- mollie/models/balance_transfer_destination_type.py +14 -0
- mollie/models/balance_transfer_party_type.py +10 -0
- mollie/models/balance_transfer_party_type_response.py +11 -0
- mollie/models/balance_transfer_status.py +13 -0
- mollie/models/balance_transfer_status_reason_response.py +19 -0
- mollie/models/billingaddress.py +154 -0
- mollie/models/cancel_paymentop.py +93 -0
- mollie/models/cancel_refundop.py +86 -0
- mollie/models/cancel_subscriptionop.py +100 -0
- mollie/models/capability_requirement_status.py +15 -0
- mollie/models/capability_status.py +12 -0
- mollie/models/capability_status_reason.py +10 -0
- mollie/models/capture_mode.py +15 -0
- mollie/models/capture_mode_response.py +16 -0
- mollie/models/capture_response.py +265 -0
- mollie/models/client_link_request.py +210 -0
- mollie/models/client_link_response.py +56 -0
- mollie/models/clienterror.py +30 -0
- mollie/models/components_sub_totals.py +127 -0
- mollie/models/create_captureop.py +43 -0
- mollie/models/create_client_linkop.py +29 -0
- mollie/models/create_connect_balance_transferop.py +32 -0
- mollie/models/create_customer_paymentop.py +43 -0
- mollie/models/create_customerop.py +29 -0
- mollie/models/create_mandateop.py +43 -0
- mollie/models/create_payment_linkop.py +325 -0
- mollie/models/create_paymentop.py +73 -0
- mollie/models/create_profileop.py +29 -0
- mollie/models/create_refundop.py +43 -0
- mollie/models/create_sales_invoiceop.py +29 -0
- mollie/models/create_subscriptionop.py +43 -0
- mollie/models/create_webhook.py +123 -0
- mollie/models/create_webhookop.py +69 -0
- mollie/models/currencies.py +20 -0
- mollie/models/customer_response.py +169 -0
- mollie/models/delete_customerop.py +91 -0
- mollie/models/delete_payment_linkop.py +91 -0
- mollie/models/delete_profileop.py +29 -0
- mollie/models/delete_sales_invoiceop.py +44 -0
- mollie/models/delete_values_sales_invoice.py +54 -0
- mollie/models/delete_webhookop.py +56 -0
- mollie/models/entity_balance.py +325 -0
- mollie/models/entity_balance_report.py +541 -0
- mollie/models/entity_balance_transaction.py +1068 -0
- mollie/models/entity_balance_transfer.py +62 -0
- mollie/models/entity_balance_transfer_party.py +28 -0
- mollie/models/entity_balance_transfer_party_response.py +32 -0
- mollie/models/entity_balance_transfer_response.py +159 -0
- mollie/models/entity_capability.py +75 -0
- mollie/models/entity_capability_requirement.py +87 -0
- mollie/models/entity_capture.py +63 -0
- mollie/models/entity_chargeback.py +247 -0
- mollie/models/entity_customer.py +86 -0
- mollie/models/entity_event.py +46 -0
- mollie/models/entity_invoice.py +247 -0
- mollie/models/entity_method_get.py +329 -0
- mollie/models/entity_onboarding_status.py +95 -0
- mollie/models/entity_organization.py +178 -0
- mollie/models/entity_payment_route.py +111 -0
- mollie/models/entity_payment_route_response.py +140 -0
- mollie/models/entity_permission.py +61 -0
- mollie/models/entity_refund_response.py +361 -0
- mollie/models/entity_route.py +96 -0
- mollie/models/entity_settlement.py +467 -0
- mollie/models/entity_terminal.py +160 -0
- mollie/models/entity_webhook.py +122 -0
- mollie/models/entity_webhook_event.py +149 -0
- mollie/models/error_response.py +70 -0
- mollie/models/get_balance_reportop.py +126 -0
- mollie/models/get_balanceop.py +71 -0
- mollie/models/get_captureop.py +129 -0
- mollie/models/get_chargebackop.py +129 -0
- mollie/models/get_clientop.py +216 -0
- mollie/models/get_connect_balance_transferop.py +71 -0
- mollie/models/get_current_organizationop.py +22 -0
- mollie/models/get_current_profileop.py +22 -0
- mollie/models/get_customerop.py +286 -0
- mollie/models/get_invoiceop.py +29 -0
- mollie/models/get_mandateop.py +86 -0
- mollie/models/get_methodop.py +199 -0
- mollie/models/get_next_settlementop.py +22 -0
- mollie/models/get_onboarding_statusop.py +22 -0
- mollie/models/get_open_settlementop.py +22 -0
- mollie/models/get_organizationop.py +71 -0
- mollie/models/get_partner_statusop.py +231 -0
- mollie/models/get_payment_link_paymentsop.py +188 -0
- mollie/models/get_payment_linkop.py +77 -0
- mollie/models/get_paymentop.py +128 -0
- mollie/models/get_permissionop.py +73 -0
- mollie/models/get_primary_balanceop.py +22 -0
- mollie/models/get_profileop.py +71 -0
- mollie/models/get_refundop.py +129 -0
- mollie/models/get_sales_invoiceop.py +75 -0
- mollie/models/get_settlementop.py +29 -0
- mollie/models/get_subscriptionop.py +86 -0
- mollie/models/get_terminalop.py +77 -0
- mollie/models/get_webhook_eventop.py +71 -0
- mollie/models/get_webhookop.py +71 -0
- mollie/models/internal/__init__.py +54 -0
- mollie/models/internal/globals.py +59 -0
- mollie/models/line_categories.py +13 -0
- mollie/models/line_categories_response.py +14 -0
- mollie/models/list_all_chargebacksop.py +236 -0
- mollie/models/list_all_methodsop.py +249 -0
- mollie/models/list_all_refundsop.py +230 -0
- mollie/models/list_all_subscriptionsop.py +202 -0
- mollie/models/list_balance_transactionsop.py +174 -0
- mollie/models/list_balancesop.py +171 -0
- mollie/models/list_capabilitiesop.py +62 -0
- mollie/models/list_capture_response.py +264 -0
- mollie/models/list_capturesop.py +185 -0
- mollie/models/list_chargebacksop.py +185 -0
- mollie/models/list_clientsop.py +269 -0
- mollie/models/list_connect_balance_transfersop.py +177 -0
- mollie/models/list_customer_paymentsop.py +231 -0
- mollie/models/list_customer_response.py +164 -0
- mollie/models/list_customersop.py +172 -0
- mollie/models/list_entity_balance.py +322 -0
- mollie/models/list_entity_chargeback.py +244 -0
- mollie/models/list_entity_invoice.py +244 -0
- mollie/models/list_entity_method.py +315 -0
- mollie/models/list_entity_method_all.py +391 -0
- mollie/models/list_entity_permission.py +56 -0
- mollie/models/list_entity_refund.py +352 -0
- mollie/models/list_entity_settlement.py +457 -0
- mollie/models/list_entity_terminal.py +157 -0
- mollie/models/list_entity_webhook.py +117 -0
- mollie/models/list_invoicesop.py +175 -0
- mollie/models/list_links.py +68 -0
- mollie/models/list_mandate_response.py +261 -0
- mollie/models/list_mandatesop.py +186 -0
- mollie/models/list_methodsop.py +332 -0
- mollie/models/list_payment_linksop.py +159 -0
- mollie/models/list_payment_response.py +1953 -0
- mollie/models/list_paymentsop.py +217 -0
- mollie/models/list_permissionsop.py +85 -0
- mollie/models/list_profile_response.py +194 -0
- mollie/models/list_profilesop.py +118 -0
- mollie/models/list_refundsop.py +189 -0
- mollie/models/list_route_get_response.py +97 -0
- mollie/models/list_sales_invoice_response.py +505 -0
- mollie/models/list_sales_invoicesop.py +172 -0
- mollie/models/list_settlement_capturesop.py +187 -0
- mollie/models/list_settlement_chargebacksop.py +187 -0
- mollie/models/list_settlement_paymentsop.py +233 -0
- mollie/models/list_settlement_refundsop.py +191 -0
- mollie/models/list_settlementsop.py +178 -0
- mollie/models/list_subscription_paymentsop.py +242 -0
- mollie/models/list_subscription_response.py +344 -0
- mollie/models/list_subscriptionsop.py +189 -0
- mollie/models/list_terminalsop.py +172 -0
- mollie/models/list_webhooksop.py +189 -0
- mollie/models/locale.py +32 -0
- mollie/models/locale_response.py +33 -0
- mollie/models/mandate_details_card_label_response.py +22 -0
- mollie/models/mandate_method.py +15 -0
- mollie/models/mandate_method_response.py +16 -0
- mollie/models/mandate_request.py +160 -0
- mollie/models/mandate_response.py +264 -0
- mollie/models/metadata.py +19 -0
- mollie/models/method.py +50 -0
- mollie/models/method_include_wallets_parameter.py +8 -0
- mollie/models/method_resource_parameter.py +9 -0
- mollie/models/method_response.py +59 -0
- mollie/models/method_status.py +15 -0
- mollie/models/mode.py +12 -0
- mollie/models/no_response_error.py +17 -0
- mollie/models/onboarding_vat_regulation.py +16 -0
- mollie/models/organization_vat_regulation.py +17 -0
- mollie/models/payment_address.py +130 -0
- mollie/models/payment_create_routeop.py +43 -0
- mollie/models/payment_details_card_audition_response.py +12 -0
- mollie/models/payment_details_card_funding_response.py +14 -0
- mollie/models/payment_details_card_label_response.py +23 -0
- mollie/models/payment_details_card_security_response.py +12 -0
- mollie/models/payment_details_failure_reason_response.py +25 -0
- mollie/models/payment_details_fee_region_response.py +20 -0
- mollie/models/payment_details_receipt_card_read_method_response.py +17 -0
- mollie/models/payment_details_receipt_card_verification_method_response.py +21 -0
- mollie/models/payment_details_seller_protection_response.py +20 -0
- mollie/models/payment_details_wallet_response.py +11 -0
- mollie/models/payment_line_item.py +96 -0
- mollie/models/payment_line_item_response.py +104 -0
- mollie/models/payment_line_type.py +20 -0
- mollie/models/payment_line_type_response.py +21 -0
- mollie/models/payment_link_method.py +36 -0
- mollie/models/payment_link_method_response.py +37 -0
- mollie/models/payment_link_response.py +348 -0
- mollie/models/payment_link_sequence_type.py +9 -0
- mollie/models/payment_link_sequence_type_response.py +10 -0
- mollie/models/payment_list_routesop.py +140 -0
- mollie/models/payment_method.py +53 -0
- mollie/models/payment_request.py +919 -0
- mollie/models/payment_response.py +1953 -0
- mollie/models/profile_request.py +67 -0
- mollie/models/profile_response.py +197 -0
- mollie/models/profile_review_status_response.py +12 -0
- mollie/models/recurring_line_item.py +77 -0
- mollie/models/refund_external_reference_type.py +10 -0
- mollie/models/refund_external_reference_type_response.py +11 -0
- mollie/models/refund_request.py +200 -0
- mollie/models/release_authorizationop.py +108 -0
- mollie/models/request_apple_pay_payment_sessionop.py +76 -0
- mollie/models/responsevalidationerror.py +27 -0
- mollie/models/revoke_mandateop.py +100 -0
- mollie/models/route_create_response.py +97 -0
- mollie/models/route_destination_type.py +10 -0
- mollie/models/route_destination_type_response.py +11 -0
- mollie/models/sales_invoice_discount.py +21 -0
- mollie/models/sales_invoice_discount_response.py +25 -0
- mollie/models/sales_invoice_discount_type.py +11 -0
- mollie/models/sales_invoice_discount_type_response.py +12 -0
- mollie/models/sales_invoice_email_details.py +20 -0
- mollie/models/sales_invoice_line_item.py +67 -0
- mollie/models/sales_invoice_line_item_response.py +70 -0
- mollie/models/sales_invoice_payment_details.py +59 -0
- mollie/models/sales_invoice_payment_details_response.py +66 -0
- mollie/models/sales_invoice_payment_details_source.py +12 -0
- mollie/models/sales_invoice_payment_details_source_response.py +13 -0
- mollie/models/sales_invoice_payment_term.py +16 -0
- mollie/models/sales_invoice_payment_term_response.py +17 -0
- mollie/models/sales_invoice_recipient.py +176 -0
- mollie/models/sales_invoice_recipient_locale.py +18 -0
- mollie/models/sales_invoice_recipient_locale_response.py +19 -0
- mollie/models/sales_invoice_recipient_response.py +182 -0
- mollie/models/sales_invoice_recipient_type.py +13 -0
- mollie/models/sales_invoice_recipient_type_response.py +14 -0
- mollie/models/sales_invoice_request.py +256 -0
- mollie/models/sales_invoice_response.py +509 -0
- mollie/models/sales_invoice_status.py +25 -0
- mollie/models/sales_invoice_status_response.py +26 -0
- mollie/models/sales_invoice_vat_mode.py +13 -0
- mollie/models/sales_invoice_vat_mode_response.py +14 -0
- mollie/models/sales_invoice_vat_scheme.py +11 -0
- mollie/models/sales_invoice_vat_scheme_response.py +12 -0
- mollie/models/security.py +35 -0
- mollie/models/sequence_type.py +10 -0
- mollie/models/sequence_type_response.py +11 -0
- mollie/models/sorting.py +9 -0
- mollie/models/status_reason.py +168 -0
- mollie/models/sub_group.py +52 -0
- mollie/models/sub_totals.py +120 -0
- mollie/models/submit_onboarding_dataop.py +214 -0
- mollie/models/subscription_method.py +12 -0
- mollie/models/subscription_method_response.py +13 -0
- mollie/models/subscription_request.py +213 -0
- mollie/models/subscription_response.py +349 -0
- mollie/models/terminal_brand.py +12 -0
- mollie/models/terminal_model.py +16 -0
- mollie/models/test_webhookop.py +64 -0
- mollie/models/update_customerop.py +43 -0
- mollie/models/update_payment_linkop.py +172 -0
- mollie/models/update_paymentop.py +332 -0
- mollie/models/update_profileop.py +147 -0
- mollie/models/update_sales_invoiceop.py +44 -0
- mollie/models/update_subscriptionop.py +188 -0
- mollie/models/update_values_sales_invoice.py +176 -0
- mollie/models/update_webhookop.py +83 -0
- mollie/models/url.py +24 -0
- mollie/models/url_nullable.py +25 -0
- mollie/models/webhook_event_types.py +18 -0
- mollie/models/webhook_status.py +14 -0
- mollie/onboarding.py +403 -0
- mollie/organizations.py +579 -0
- mollie/payment_links.py +1323 -0
- mollie/payments_sdk.py +1385 -0
- mollie/permissions.py +397 -0
- mollie/profiles.py +1209 -0
- mollie/py.typed +1 -0
- mollie/refunds_sdk.py +1111 -0
- mollie/sales_invoices.py +1121 -0
- mollie/sdk.py +265 -0
- mollie/sdkconfiguration.py +50 -0
- mollie/settlements.py +1735 -0
- mollie/subscriptions.py +1617 -0
- mollie/terminals.py +427 -0
- mollie/types/__init__.py +21 -0
- mollie/types/basemodel.py +39 -0
- mollie/utils/__init__.py +200 -0
- mollie/utils/annotations.py +79 -0
- mollie/utils/datetimes.py +23 -0
- mollie/utils/enums.py +74 -0
- mollie/utils/eventstreaming.py +248 -0
- mollie/utils/forms.py +223 -0
- mollie/utils/headers.py +136 -0
- mollie/utils/logger.py +27 -0
- mollie/utils/metadata.py +118 -0
- mollie/utils/queryparams.py +205 -0
- mollie/utils/requestbodies.py +66 -0
- mollie/utils/retries.py +217 -0
- mollie/utils/security.py +195 -0
- mollie/utils/serializers.py +249 -0
- mollie/utils/unmarshal_json_response.py +24 -0
- mollie/utils/url.py +155 -0
- mollie/utils/values.py +137 -0
- mollie/wallets.py +263 -0
- mollie/webhook_events.py +211 -0
- mollie/webhooks.py +1305 -0
- mollie_api_py-1.0.0.dist-info/METADATA +834 -0
- mollie_api_py-1.0.0.dist-info/RECORD +337 -0
- mollie_api_py-1.0.0.dist-info/WHEEL +4 -0
- mollie_api_py-1.0.0.dist-info/licenses/LICENSE.md +24 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .entity_balance_transfer_response import (
|
|
5
|
+
EntityBalanceTransferResponse,
|
|
6
|
+
EntityBalanceTransferResponseTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from .list_links import ListLinks, ListLinksTypedDict
|
|
9
|
+
from .sorting import Sorting
|
|
10
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
11
|
+
from mollie.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
|
|
12
|
+
import pydantic
|
|
13
|
+
from pydantic import model_serializer
|
|
14
|
+
from typing import List, Optional
|
|
15
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ListConnectBalanceTransfersGlobalsTypedDict(TypedDict):
|
|
19
|
+
testmode: NotRequired[bool]
|
|
20
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
21
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
22
|
+
setting the `testmode` query parameter to `true`.
|
|
23
|
+
|
|
24
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class ListConnectBalanceTransfersGlobals(BaseModel):
|
|
29
|
+
testmode: Annotated[
|
|
30
|
+
Optional[bool],
|
|
31
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
32
|
+
] = None
|
|
33
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
34
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
35
|
+
setting the `testmode` query parameter to `true`.
|
|
36
|
+
|
|
37
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class ListConnectBalanceTransfersRequestTypedDict(TypedDict):
|
|
42
|
+
from_: NotRequired[Nullable[str]]
|
|
43
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
44
|
+
result set.
|
|
45
|
+
"""
|
|
46
|
+
limit: NotRequired[Nullable[int]]
|
|
47
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
48
|
+
sort: NotRequired[Sorting]
|
|
49
|
+
r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
|
|
50
|
+
newest to oldest.
|
|
51
|
+
"""
|
|
52
|
+
testmode: NotRequired[bool]
|
|
53
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
54
|
+
|
|
55
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
56
|
+
"""
|
|
57
|
+
idempotency_key: NotRequired[str]
|
|
58
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class ListConnectBalanceTransfersRequest(BaseModel):
|
|
62
|
+
from_: Annotated[
|
|
63
|
+
OptionalNullable[str],
|
|
64
|
+
pydantic.Field(alias="from"),
|
|
65
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
66
|
+
] = UNSET
|
|
67
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate the
|
|
68
|
+
result set.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
limit: Annotated[
|
|
72
|
+
OptionalNullable[int],
|
|
73
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
74
|
+
] = UNSET
|
|
75
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
76
|
+
|
|
77
|
+
sort: Annotated[
|
|
78
|
+
Optional[Sorting],
|
|
79
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
80
|
+
] = None
|
|
81
|
+
r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
|
|
82
|
+
newest to oldest.
|
|
83
|
+
"""
|
|
84
|
+
|
|
85
|
+
testmode: Annotated[
|
|
86
|
+
Optional[bool],
|
|
87
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
88
|
+
] = None
|
|
89
|
+
r"""You can enable test mode by setting the `testmode` query parameter to `true`.
|
|
90
|
+
|
|
91
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
idempotency_key: Annotated[
|
|
95
|
+
Optional[str],
|
|
96
|
+
pydantic.Field(alias="idempotency-key"),
|
|
97
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
98
|
+
] = None
|
|
99
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
100
|
+
|
|
101
|
+
@model_serializer(mode="wrap")
|
|
102
|
+
def serialize_model(self, handler):
|
|
103
|
+
optional_fields = ["from", "limit", "sort", "testmode", "idempotency-key"]
|
|
104
|
+
nullable_fields = ["from", "limit"]
|
|
105
|
+
null_default_fields = []
|
|
106
|
+
|
|
107
|
+
serialized = handler(self)
|
|
108
|
+
|
|
109
|
+
m = {}
|
|
110
|
+
|
|
111
|
+
for n, f in type(self).model_fields.items():
|
|
112
|
+
k = f.alias or n
|
|
113
|
+
val = serialized.get(k)
|
|
114
|
+
serialized.pop(k, None)
|
|
115
|
+
|
|
116
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
117
|
+
is_set = (
|
|
118
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
119
|
+
or k in null_default_fields
|
|
120
|
+
) # pylint: disable=no-member
|
|
121
|
+
|
|
122
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
123
|
+
m[k] = val
|
|
124
|
+
elif val != UNSET_SENTINEL and (
|
|
125
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
126
|
+
):
|
|
127
|
+
m[k] = val
|
|
128
|
+
|
|
129
|
+
return m
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
class ListConnectBalanceTransfersEmbeddedTypedDict(TypedDict):
|
|
133
|
+
connect_balance_transfers: List[EntityBalanceTransferResponseTypedDict]
|
|
134
|
+
r"""A list of Connect balance transfers."""
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
class ListConnectBalanceTransfersEmbedded(BaseModel):
|
|
138
|
+
connect_balance_transfers: List[EntityBalanceTransferResponse]
|
|
139
|
+
r"""A list of Connect balance transfers."""
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class ListConnectBalanceTransfersResponseTypedDict(TypedDict):
|
|
143
|
+
r"""A list of Connect balance transfers. For a complete reference of the Connect balance transfer
|
|
144
|
+
object, refer to the [Get balance transfer endpoint](get-balance-transfer) documentation.
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
count: int
|
|
148
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
149
|
+
as well.
|
|
150
|
+
|
|
151
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
152
|
+
limit is 50 items.
|
|
153
|
+
"""
|
|
154
|
+
embedded: ListConnectBalanceTransfersEmbeddedTypedDict
|
|
155
|
+
links: ListLinksTypedDict
|
|
156
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
class ListConnectBalanceTransfersResponse(BaseModel):
|
|
160
|
+
r"""A list of Connect balance transfers. For a complete reference of the Connect balance transfer
|
|
161
|
+
object, refer to the [Get balance transfer endpoint](get-balance-transfer) documentation.
|
|
162
|
+
"""
|
|
163
|
+
|
|
164
|
+
count: int
|
|
165
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
166
|
+
as well.
|
|
167
|
+
|
|
168
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
169
|
+
limit is 50 items.
|
|
170
|
+
"""
|
|
171
|
+
|
|
172
|
+
embedded: Annotated[
|
|
173
|
+
ListConnectBalanceTransfersEmbedded, pydantic.Field(alias="_embedded")
|
|
174
|
+
]
|
|
175
|
+
|
|
176
|
+
links: Annotated[ListLinks, pydantic.Field(alias="_links")]
|
|
177
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .list_links import ListLinks, ListLinksTypedDict
|
|
5
|
+
from .list_payment_response import ListPaymentResponse, ListPaymentResponseTypedDict
|
|
6
|
+
from .sorting import Sorting
|
|
7
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
8
|
+
from mollie.utils import (
|
|
9
|
+
FieldMetadata,
|
|
10
|
+
HeaderMetadata,
|
|
11
|
+
PathParamMetadata,
|
|
12
|
+
QueryParamMetadata,
|
|
13
|
+
)
|
|
14
|
+
import pydantic
|
|
15
|
+
from pydantic import model_serializer
|
|
16
|
+
from typing import List, Optional
|
|
17
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ListCustomerPaymentsGlobalsTypedDict(TypedDict):
|
|
21
|
+
profile_id: NotRequired[str]
|
|
22
|
+
r"""The identifier referring to the [profile](get-profile) you wish to
|
|
23
|
+
retrieve the resources for.
|
|
24
|
+
|
|
25
|
+
Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
|
|
26
|
+
organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
|
|
27
|
+
"""
|
|
28
|
+
testmode: NotRequired[bool]
|
|
29
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
30
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
31
|
+
setting the `testmode` query parameter to `true`.
|
|
32
|
+
|
|
33
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class ListCustomerPaymentsGlobals(BaseModel):
|
|
38
|
+
profile_id: Annotated[
|
|
39
|
+
Optional[str],
|
|
40
|
+
pydantic.Field(alias="profileId"),
|
|
41
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
42
|
+
] = None
|
|
43
|
+
r"""The identifier referring to the [profile](get-profile) you wish to
|
|
44
|
+
retrieve the resources for.
|
|
45
|
+
|
|
46
|
+
Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
|
|
47
|
+
organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
testmode: Annotated[
|
|
51
|
+
Optional[bool],
|
|
52
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
53
|
+
] = None
|
|
54
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
55
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
56
|
+
setting the `testmode` query parameter to `true`.
|
|
57
|
+
|
|
58
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class ListCustomerPaymentsRequestTypedDict(TypedDict):
|
|
63
|
+
customer_id: str
|
|
64
|
+
r"""Provide the ID of the related customer."""
|
|
65
|
+
from_: NotRequired[str]
|
|
66
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate
|
|
67
|
+
the result set.
|
|
68
|
+
"""
|
|
69
|
+
limit: NotRequired[Nullable[int]]
|
|
70
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
71
|
+
sort: NotRequired[Sorting]
|
|
72
|
+
r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
|
|
73
|
+
newest to oldest.
|
|
74
|
+
"""
|
|
75
|
+
profile_id: NotRequired[str]
|
|
76
|
+
r"""The identifier referring to the [profile](get-profile) you wish to
|
|
77
|
+
retrieve the resources for.
|
|
78
|
+
|
|
79
|
+
Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
|
|
80
|
+
organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
|
|
81
|
+
"""
|
|
82
|
+
testmode: NotRequired[bool]
|
|
83
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
84
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
85
|
+
setting the `testmode` query parameter to `true`.
|
|
86
|
+
|
|
87
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
88
|
+
"""
|
|
89
|
+
idempotency_key: NotRequired[str]
|
|
90
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class ListCustomerPaymentsRequest(BaseModel):
|
|
94
|
+
customer_id: Annotated[
|
|
95
|
+
str,
|
|
96
|
+
pydantic.Field(alias="customerId"),
|
|
97
|
+
FieldMetadata(path=PathParamMetadata(style="simple", explode=False)),
|
|
98
|
+
]
|
|
99
|
+
r"""Provide the ID of the related customer."""
|
|
100
|
+
|
|
101
|
+
from_: Annotated[
|
|
102
|
+
Optional[str],
|
|
103
|
+
pydantic.Field(alias="from"),
|
|
104
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
105
|
+
] = None
|
|
106
|
+
r"""Provide an ID to start the result set from the item with the given ID and onwards. This allows you to paginate
|
|
107
|
+
the result set.
|
|
108
|
+
"""
|
|
109
|
+
|
|
110
|
+
limit: Annotated[
|
|
111
|
+
OptionalNullable[int],
|
|
112
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
113
|
+
] = UNSET
|
|
114
|
+
r"""The maximum number of items to return. Defaults to 50 items."""
|
|
115
|
+
|
|
116
|
+
sort: Annotated[
|
|
117
|
+
Optional[Sorting],
|
|
118
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
119
|
+
] = None
|
|
120
|
+
r"""Used for setting the direction of the result set. Defaults to descending order, meaning the results are ordered from
|
|
121
|
+
newest to oldest.
|
|
122
|
+
"""
|
|
123
|
+
|
|
124
|
+
profile_id: Annotated[
|
|
125
|
+
Optional[str],
|
|
126
|
+
pydantic.Field(alias="profileId"),
|
|
127
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
128
|
+
] = None
|
|
129
|
+
r"""The identifier referring to the [profile](get-profile) you wish to
|
|
130
|
+
retrieve the resources for.
|
|
131
|
+
|
|
132
|
+
Most API credentials are linked to a single profile. In these cases the `profileId` can be omitted. For
|
|
133
|
+
organization-level credentials such as OAuth access tokens however, the `profileId` parameter is required.
|
|
134
|
+
"""
|
|
135
|
+
|
|
136
|
+
testmode: Annotated[
|
|
137
|
+
Optional[bool],
|
|
138
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
139
|
+
] = None
|
|
140
|
+
r"""Most API credentials are specifically created for either live mode or test mode. In those cases the `testmode` query
|
|
141
|
+
parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by
|
|
142
|
+
setting the `testmode` query parameter to `true`.
|
|
143
|
+
|
|
144
|
+
Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
idempotency_key: Annotated[
|
|
148
|
+
Optional[str],
|
|
149
|
+
pydantic.Field(alias="idempotency-key"),
|
|
150
|
+
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
151
|
+
] = None
|
|
152
|
+
r"""A unique key to ensure idempotent requests. This key should be a UUID v4 string."""
|
|
153
|
+
|
|
154
|
+
@model_serializer(mode="wrap")
|
|
155
|
+
def serialize_model(self, handler):
|
|
156
|
+
optional_fields = [
|
|
157
|
+
"from",
|
|
158
|
+
"limit",
|
|
159
|
+
"sort",
|
|
160
|
+
"profileId",
|
|
161
|
+
"testmode",
|
|
162
|
+
"idempotency-key",
|
|
163
|
+
]
|
|
164
|
+
nullable_fields = ["limit"]
|
|
165
|
+
null_default_fields = []
|
|
166
|
+
|
|
167
|
+
serialized = handler(self)
|
|
168
|
+
|
|
169
|
+
m = {}
|
|
170
|
+
|
|
171
|
+
for n, f in type(self).model_fields.items():
|
|
172
|
+
k = f.alias or n
|
|
173
|
+
val = serialized.get(k)
|
|
174
|
+
serialized.pop(k, None)
|
|
175
|
+
|
|
176
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
177
|
+
is_set = (
|
|
178
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
179
|
+
or k in null_default_fields
|
|
180
|
+
) # pylint: disable=no-member
|
|
181
|
+
|
|
182
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
183
|
+
m[k] = val
|
|
184
|
+
elif val != UNSET_SENTINEL and (
|
|
185
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
186
|
+
):
|
|
187
|
+
m[k] = val
|
|
188
|
+
|
|
189
|
+
return m
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
class ListCustomerPaymentsEmbeddedTypedDict(TypedDict):
|
|
193
|
+
payments: NotRequired[List[ListPaymentResponseTypedDict]]
|
|
194
|
+
r"""An array of payment objects."""
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class ListCustomerPaymentsEmbedded(BaseModel):
|
|
198
|
+
payments: Optional[List[ListPaymentResponse]] = None
|
|
199
|
+
r"""An array of payment objects."""
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
class ListCustomerPaymentsResponseTypedDict(TypedDict):
|
|
203
|
+
r"""A list of payment objects."""
|
|
204
|
+
|
|
205
|
+
count: int
|
|
206
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
207
|
+
as well.
|
|
208
|
+
|
|
209
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
210
|
+
limit is 50 items.
|
|
211
|
+
"""
|
|
212
|
+
embedded: ListCustomerPaymentsEmbeddedTypedDict
|
|
213
|
+
links: ListLinksTypedDict
|
|
214
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
class ListCustomerPaymentsResponse(BaseModel):
|
|
218
|
+
r"""A list of payment objects."""
|
|
219
|
+
|
|
220
|
+
count: int
|
|
221
|
+
r"""The number of items in this result set. If more items are available, a `_links.next` URL will be present in the result
|
|
222
|
+
as well.
|
|
223
|
+
|
|
224
|
+
The maximum number of items per result set is controlled by the `limit` property provided in the request. The default
|
|
225
|
+
limit is 50 items.
|
|
226
|
+
"""
|
|
227
|
+
|
|
228
|
+
embedded: Annotated[ListCustomerPaymentsEmbedded, pydantic.Field(alias="_embedded")]
|
|
229
|
+
|
|
230
|
+
links: Annotated[ListLinks, pydantic.Field(alias="_links")]
|
|
231
|
+
r"""Links to help navigate through the lists of items. Every URL object will contain an `href` and a `type` field."""
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .locale_response import LocaleResponse
|
|
5
|
+
from .metadata import Metadata, MetadataTypedDict
|
|
6
|
+
from .mode import Mode
|
|
7
|
+
from .url import URL, URLTypedDict
|
|
8
|
+
from .url_nullable import URLNullable, URLNullableTypedDict
|
|
9
|
+
from mollie.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
|
|
10
|
+
from mollie.utils import validate_open_enum
|
|
11
|
+
import pydantic
|
|
12
|
+
from pydantic import model_serializer
|
|
13
|
+
from pydantic.functional_validators import PlainValidator
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class ListCustomerResponseLinksTypedDict(TypedDict):
|
|
18
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
19
|
+
|
|
20
|
+
self_: URLTypedDict
|
|
21
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
22
|
+
dashboard: URLTypedDict
|
|
23
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
24
|
+
payments: NotRequired[Nullable[URLNullableTypedDict]]
|
|
25
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
26
|
+
mandates: NotRequired[Nullable[URLNullableTypedDict]]
|
|
27
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
28
|
+
subscriptions: NotRequired[Nullable[URLNullableTypedDict]]
|
|
29
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class ListCustomerResponseLinks(BaseModel):
|
|
33
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
34
|
+
|
|
35
|
+
self_: Annotated[URL, pydantic.Field(alias="self")]
|
|
36
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
37
|
+
|
|
38
|
+
dashboard: URL
|
|
39
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
40
|
+
|
|
41
|
+
payments: OptionalNullable[URLNullable] = UNSET
|
|
42
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
43
|
+
|
|
44
|
+
mandates: OptionalNullable[URLNullable] = UNSET
|
|
45
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
46
|
+
|
|
47
|
+
subscriptions: OptionalNullable[URLNullable] = UNSET
|
|
48
|
+
r"""In v2 endpoints, URLs are commonly represented as objects with an `href` and `type` field."""
|
|
49
|
+
|
|
50
|
+
@model_serializer(mode="wrap")
|
|
51
|
+
def serialize_model(self, handler):
|
|
52
|
+
optional_fields = ["payments", "mandates", "subscriptions"]
|
|
53
|
+
nullable_fields = ["payments", "mandates", "subscriptions"]
|
|
54
|
+
null_default_fields = []
|
|
55
|
+
|
|
56
|
+
serialized = handler(self)
|
|
57
|
+
|
|
58
|
+
m = {}
|
|
59
|
+
|
|
60
|
+
for n, f in type(self).model_fields.items():
|
|
61
|
+
k = f.alias or n
|
|
62
|
+
val = serialized.get(k)
|
|
63
|
+
serialized.pop(k, None)
|
|
64
|
+
|
|
65
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
66
|
+
is_set = (
|
|
67
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
68
|
+
or k in null_default_fields
|
|
69
|
+
) # pylint: disable=no-member
|
|
70
|
+
|
|
71
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
72
|
+
m[k] = val
|
|
73
|
+
elif val != UNSET_SENTINEL and (
|
|
74
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
75
|
+
):
|
|
76
|
+
m[k] = val
|
|
77
|
+
|
|
78
|
+
return m
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class ListCustomerResponseTypedDict(TypedDict):
|
|
82
|
+
resource: str
|
|
83
|
+
r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
|
|
84
|
+
id: str
|
|
85
|
+
r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
|
|
86
|
+
mode: Mode
|
|
87
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
88
|
+
name: Nullable[str]
|
|
89
|
+
r"""The full name of the customer."""
|
|
90
|
+
email: Nullable[str]
|
|
91
|
+
r"""The email address of the customer."""
|
|
92
|
+
locale: Nullable[LocaleResponse]
|
|
93
|
+
r"""Allows you to preset the language to be used."""
|
|
94
|
+
metadata: Nullable[MetadataTypedDict]
|
|
95
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
96
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
97
|
+
"""
|
|
98
|
+
created_at: str
|
|
99
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
100
|
+
links: ListCustomerResponseLinksTypedDict
|
|
101
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class ListCustomerResponse(BaseModel):
|
|
105
|
+
resource: str
|
|
106
|
+
r"""Indicates the response contains a customer object. Will always contain the string `customer` for this endpoint."""
|
|
107
|
+
|
|
108
|
+
id: str
|
|
109
|
+
r"""The identifier uniquely referring to this customer. Example: `cst_vsKJpSsabw`."""
|
|
110
|
+
|
|
111
|
+
mode: Annotated[Mode, PlainValidator(validate_open_enum(False))]
|
|
112
|
+
r"""Whether this entity was created in live mode or in test mode."""
|
|
113
|
+
|
|
114
|
+
name: Nullable[str]
|
|
115
|
+
r"""The full name of the customer."""
|
|
116
|
+
|
|
117
|
+
email: Nullable[str]
|
|
118
|
+
r"""The email address of the customer."""
|
|
119
|
+
|
|
120
|
+
locale: Annotated[
|
|
121
|
+
Nullable[LocaleResponse], PlainValidator(validate_open_enum(False))
|
|
122
|
+
]
|
|
123
|
+
r"""Allows you to preset the language to be used."""
|
|
124
|
+
|
|
125
|
+
metadata: Nullable[Metadata]
|
|
126
|
+
r"""Provide any data you like, for example a string or a JSON object. We will save the data alongside the entity. Whenever
|
|
127
|
+
you fetch the entity with our API, we will also include the metadata. You can use up to approximately 1kB.
|
|
128
|
+
"""
|
|
129
|
+
|
|
130
|
+
created_at: Annotated[str, pydantic.Field(alias="createdAt")]
|
|
131
|
+
r"""The entity's date and time of creation, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format."""
|
|
132
|
+
|
|
133
|
+
links: Annotated[ListCustomerResponseLinks, pydantic.Field(alias="_links")]
|
|
134
|
+
r"""An object with several relevant URLs. Every URL object will contain an `href` and a `type` field."""
|
|
135
|
+
|
|
136
|
+
@model_serializer(mode="wrap")
|
|
137
|
+
def serialize_model(self, handler):
|
|
138
|
+
optional_fields = []
|
|
139
|
+
nullable_fields = ["name", "email", "locale", "metadata"]
|
|
140
|
+
null_default_fields = []
|
|
141
|
+
|
|
142
|
+
serialized = handler(self)
|
|
143
|
+
|
|
144
|
+
m = {}
|
|
145
|
+
|
|
146
|
+
for n, f in type(self).model_fields.items():
|
|
147
|
+
k = f.alias or n
|
|
148
|
+
val = serialized.get(k)
|
|
149
|
+
serialized.pop(k, None)
|
|
150
|
+
|
|
151
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
152
|
+
is_set = (
|
|
153
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
154
|
+
or k in null_default_fields
|
|
155
|
+
) # pylint: disable=no-member
|
|
156
|
+
|
|
157
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
158
|
+
m[k] = val
|
|
159
|
+
elif val != UNSET_SENTINEL and (
|
|
160
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
161
|
+
):
|
|
162
|
+
m[k] = val
|
|
163
|
+
|
|
164
|
+
return m
|