diff --git a/stripe/api_resources/account.py b/stripe/api_resources/account.py index ab84f21ee..d479975bb 100644 --- a/stripe/api_resources/account.py +++ b/stripe/api_resources/account.py @@ -8,6 +8,7 @@ DeletableAPIResource, ListableAPIResource, UpdateableAPIResource, + nested_resource_class_methods, ) from stripe.api_resources.list_object import ListObject from stripe.stripe_object import StripeObject @@ -21,6 +22,23 @@ from stripe.api_resources.person import Person +@nested_resource_class_methods( + "capability", + operations=["retrieve", "update", "list"], + resource_plural="capabilities", +) +@nested_resource_class_methods( + "external_account", + operations=["create", "retrieve", "update", "delete", "list"], +) +@nested_resource_class_methods( + "login_link", + operations=["create"], +) +@nested_resource_class_methods( + "person", + operations=["create", "retrieve", "update", "delete", "list"], +) class Account( CreateableAPIResource["Account"], DeletableAPIResource["Account"], @@ -227,296 +245,3 @@ def serialize(self, previous): params[k] = v.serialize(previous.get(k, None)) return params - - @classmethod - def retrieve_capability( - cls, - account, - capability, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/accounts/{account}/capabilities/{capability}".format( - account=util.sanitize_id(account), - capability=util.sanitize_id(capability), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_capability( - cls, - account, - capability, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/accounts/{account}/capabilities/{capability}".format( - account=util.sanitize_id(account), - capability=util.sanitize_id(capability), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_capabilities( - cls, - account, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/accounts/{account}/capabilities".format( - account=util.sanitize_id(account) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def create_external_account( - cls, - account, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/accounts/{account}/external_accounts".format( - account=util.sanitize_id(account) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_external_account( - cls, - account, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/accounts/{account}/external_accounts/{id}".format( - account=util.sanitize_id(account), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_external_account( - cls, - account, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/accounts/{account}/external_accounts/{id}".format( - account=util.sanitize_id(account), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def delete_external_account( - cls, - account, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "delete", - "/v1/accounts/{account}/external_accounts/{id}".format( - account=util.sanitize_id(account), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_external_accounts( - cls, - account, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/accounts/{account}/external_accounts".format( - account=util.sanitize_id(account) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def create_login_link( - cls, - account, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/accounts/{account}/login_links".format( - account=util.sanitize_id(account) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def create_person( - cls, - account, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/accounts/{account}/persons".format( - account=util.sanitize_id(account) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_person( - cls, - account, - person, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/accounts/{account}/persons/{person}".format( - account=util.sanitize_id(account), - person=util.sanitize_id(person), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_person( - cls, - account, - person, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/accounts/{account}/persons/{person}".format( - account=util.sanitize_id(account), - person=util.sanitize_id(person), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def delete_person( - cls, - account, - person, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "delete", - "/v1/accounts/{account}/persons/{person}".format( - account=util.sanitize_id(account), - person=util.sanitize_id(person), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_persons( - cls, - account, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/accounts/{account}/persons".format( - account=util.sanitize_id(account) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) diff --git a/stripe/api_resources/application_fee.py b/stripe/api_resources/application_fee.py index 456cb907a..f4d79df2c 100644 --- a/stripe/api_resources/application_fee.py +++ b/stripe/api_resources/application_fee.py @@ -3,7 +3,10 @@ from __future__ import absolute_import, division, print_function from stripe import util -from stripe.api_resources.abstract import ListableAPIResource +from stripe.api_resources.abstract import ( + ListableAPIResource, + nested_resource_class_methods, +) from stripe.api_resources.expandable_field import ExpandableField from stripe.api_resources.list_object import ListObject from typing import Optional @@ -21,6 +24,10 @@ from stripe.api_resources.charge import Charge +@nested_resource_class_methods( + "refund", + operations=["create", "retrieve", "update", "list"], +) class ApplicationFee(ListableAPIResource["ApplicationFee"]): OBJECT_NAME = "application_fee" account: ExpandableField["Account"] @@ -95,85 +102,3 @@ def retrieve(cls, id, api_key=None, **params) -> "ApplicationFee": instance = cls(id, api_key, **params) instance.refresh() return instance - - @classmethod - def create_refund( - cls, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/application_fees/{id}/refunds".format( - id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_refund( - cls, - fee, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/application_fees/{fee}/refunds/{id}".format( - fee=util.sanitize_id(fee), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_refund( - cls, - fee, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/application_fees/{fee}/refunds/{id}".format( - fee=util.sanitize_id(fee), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_refunds( - cls, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/application_fees/{id}/refunds".format( - id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) diff --git a/stripe/api_resources/credit_note.py b/stripe/api_resources/credit_note.py index e4ed350f5..96f2a2152 100644 --- a/stripe/api_resources/credit_note.py +++ b/stripe/api_resources/credit_note.py @@ -7,6 +7,7 @@ CreateableAPIResource, ListableAPIResource, UpdateableAPIResource, + nested_resource_class_methods, ) from stripe.api_resources.expandable_field import ExpandableField from stripe.api_resources.list_object import ListObject @@ -26,6 +27,10 @@ from stripe.api_resources.refund import Refund +@nested_resource_class_methods( + "line", + operations=["list"], +) class CreditNote( CreateableAPIResource["CreditNote"], ListableAPIResource["CreditNote"], @@ -186,23 +191,3 @@ def void_credit_note(self, idempotency_key=None, **params): idempotency_key=idempotency_key, params=params, ) - - @classmethod - def list_lines( - cls, - credit_note, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/credit_notes/{credit_note}/lines".format( - credit_note=util.sanitize_id(credit_note) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) diff --git a/stripe/api_resources/customer.py b/stripe/api_resources/customer.py index 4eb38a0cc..1a76959d3 100644 --- a/stripe/api_resources/customer.py +++ b/stripe/api_resources/customer.py @@ -10,6 +10,7 @@ ListableAPIResource, SearchableAPIResource, UpdateableAPIResource, + nested_resource_class_methods, ) from stripe.api_resources.expandable_field import ExpandableField from stripe.api_resources.list_object import ListObject @@ -28,6 +29,22 @@ from stripe.api_resources.test_helpers.test_clock import TestClock +@nested_resource_class_methods( + "balance_transaction", + operations=["create", "retrieve", "update", "list"], +) +@nested_resource_class_methods( + "cash_balance_transaction", + operations=["retrieve", "list"], +) +@nested_resource_class_methods( + "source", + operations=["create", "retrieve", "update", "delete", "list"], +) +@nested_resource_class_methods( + "tax_id", + operations=["create", "retrieve", "delete", "list"], +) class Customer( CreateableAPIResource["Customer"], DeletableAPIResource["Customer"], @@ -281,317 +298,6 @@ def search(cls, *args, **kwargs) -> Any: def search_auto_paging_iter(cls, *args, **kwargs) -> Any: return cls.search(*args, **kwargs).auto_paging_iter() - @classmethod - def create_balance_transaction( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/customers/{customer}/balance_transactions".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_balance_transaction( - cls, - customer, - transaction, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/balance_transactions/{transaction}".format( - customer=util.sanitize_id(customer), - transaction=util.sanitize_id(transaction), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_balance_transaction( - cls, - customer, - transaction, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/customers/{customer}/balance_transactions/{transaction}".format( - customer=util.sanitize_id(customer), - transaction=util.sanitize_id(transaction), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_balance_transactions( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/balance_transactions".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_cash_balance_transaction( - cls, - customer, - transaction, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/cash_balance_transactions/{transaction}".format( - customer=util.sanitize_id(customer), - transaction=util.sanitize_id(transaction), - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_cash_balance_transactions( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/cash_balance_transactions".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def create_source( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/customers/{customer}/sources".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_source( - cls, - customer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/sources/{id}".format( - customer=util.sanitize_id(customer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_source( - cls, - customer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/customers/{customer}/sources/{id}".format( - customer=util.sanitize_id(customer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def delete_source( - cls, - customer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "delete", - "/v1/customers/{customer}/sources/{id}".format( - customer=util.sanitize_id(customer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_sources( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/sources".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def create_tax_id( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/customers/{customer}/tax_ids".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_tax_id( - cls, - customer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/tax_ids/{id}".format( - customer=util.sanitize_id(customer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def delete_tax_id( - cls, - customer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "delete", - "/v1/customers/{customer}/tax_ids/{id}".format( - customer=util.sanitize_id(customer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_tax_ids( - cls, - customer, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/customers/{customer}/tax_ids".format( - customer=util.sanitize_id(customer) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - @classmethod def modify_cash_balance( cls, diff --git a/stripe/api_resources/subscription_item.py b/stripe/api_resources/subscription_item.py index a4b935953..f6e846da2 100644 --- a/stripe/api_resources/subscription_item.py +++ b/stripe/api_resources/subscription_item.py @@ -8,6 +8,7 @@ DeletableAPIResource, ListableAPIResource, UpdateableAPIResource, + nested_resource_class_methods, ) from stripe.api_resources.list_object import ListObject from stripe.stripe_object import StripeObject @@ -23,6 +24,15 @@ from stripe.api_resources.tax_rate import TaxRate +@nested_resource_class_methods( + "usage_record", + operations=["create"], +) +@nested_resource_class_methods( + "usage_record_summary", + operations=["list"], + resource_plural="usage_record_summaries", +) class SubscriptionItem( CreateableAPIResource["SubscriptionItem"], DeletableAPIResource["SubscriptionItem"], @@ -118,43 +128,3 @@ def retrieve(cls, id, api_key=None, **params) -> "SubscriptionItem": instance = cls(id, api_key, **params) instance.refresh() return instance - - @classmethod - def create_usage_record( - cls, - subscription_item, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/subscription_items/{subscription_item}/usage_records".format( - subscription_item=util.sanitize_id(subscription_item) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_usage_record_summaries( - cls, - subscription_item, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/subscription_items/{subscription_item}/usage_record_summaries".format( - subscription_item=util.sanitize_id(subscription_item) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) diff --git a/stripe/api_resources/transfer.py b/stripe/api_resources/transfer.py index a899af03f..aa1c2c54f 100644 --- a/stripe/api_resources/transfer.py +++ b/stripe/api_resources/transfer.py @@ -2,11 +2,11 @@ # File generated from our OpenAPI spec from __future__ import absolute_import, division, print_function -from stripe import util from stripe.api_resources.abstract import ( CreateableAPIResource, ListableAPIResource, UpdateableAPIResource, + nested_resource_class_methods, ) from stripe.api_resources.expandable_field import ExpandableField from stripe.api_resources.list_object import ListObject @@ -23,6 +23,10 @@ from stripe.api_resources.reversal import Reversal +@nested_resource_class_methods( + "reversal", + operations=["create", "retrieve", "update", "list"], +) class Transfer( CreateableAPIResource["Transfer"], ListableAPIResource["Transfer"], @@ -116,81 +120,3 @@ def retrieve(cls, id, api_key=None, **params) -> "Transfer": instance = cls(id, api_key, **params) instance.refresh() return instance - - @classmethod - def create_reversal( - cls, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/transfers/{id}/reversals".format(id=util.sanitize_id(id)), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def retrieve_reversal( - cls, - transfer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/transfers/{transfer}/reversals/{id}".format( - transfer=util.sanitize_id(transfer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def modify_reversal( - cls, - transfer, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "post", - "/v1/transfers/{transfer}/reversals/{id}".format( - transfer=util.sanitize_id(transfer), id=util.sanitize_id(id) - ), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - ) - - @classmethod - def list_reversals( - cls, - id, - api_key=None, - stripe_version=None, - stripe_account=None, - **params - ): - return cls._static_request( - "get", - "/v1/transfers/{id}/reversals".format(id=util.sanitize_id(id)), - api_key=api_key, - stripe_version=stripe_version, - stripe_account=stripe_account, - params=params, - )