From 56f5dc9c7716e5d1bd603941c4424b6421cbee50 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 6 Sep 2022 15:05:30 -0400 Subject: [PATCH 01/12] Add SearchableAPIResource and SearchResultObject for types-stripe --- .../stripe/stripe/api_resources/__init__.pyi | 1 + .../api_resources/abstract/__init__.pyi | 1 + .../abstract/searchable_api_resource.pyi | 23 +++++++++++++ stubs/stripe/stripe/api_resources/charge.pyi | 3 +- .../stripe/stripe/api_resources/customer.pyi | 3 +- stubs/stripe/stripe/api_resources/invoice.pyi | 3 +- .../stripe/api_resources/payment_intent.pyi | 3 +- stubs/stripe/stripe/api_resources/price.pyi | 3 +- stubs/stripe/stripe/api_resources/product.pyi | 3 +- .../api_resources/search_result_object.pyi | 32 +++++++++++++++++++ .../stripe/api_resources/subscription.pyi | 3 +- 11 files changed, 71 insertions(+), 7 deletions(-) create mode 100644 stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi create mode 100644 stubs/stripe/stripe/api_resources/search_result_object.pyi diff --git a/stubs/stripe/stripe/api_resources/__init__.pyi b/stubs/stripe/stripe/api_resources/__init__.pyi index 0226e34c139a..77cdcbd11087 100644 --- a/stubs/stripe/stripe/api_resources/__init__.pyi +++ b/stubs/stripe/stripe/api_resources/__init__.pyi @@ -58,6 +58,7 @@ from stripe.api_resources.recipient_transfer import RecipientTransfer as Recipie from stripe.api_resources.refund import Refund as Refund from stripe.api_resources.reversal import Reversal as Reversal from stripe.api_resources.review import Review as Review +from stripe.api_resources.search_result_object import SearchResultObject as SearchResultObject from stripe.api_resources.setup_attempt import SetupAttempt as SetupAttempt from stripe.api_resources.setup_intent import SetupIntent as SetupIntent from stripe.api_resources.sku import SKU as SKU diff --git a/stubs/stripe/stripe/api_resources/abstract/__init__.pyi b/stubs/stripe/stripe/api_resources/abstract/__init__.pyi index a3d77265cb2c..f73b09fd6442 100644 --- a/stubs/stripe/stripe/api_resources/abstract/__init__.pyi +++ b/stubs/stripe/stripe/api_resources/abstract/__init__.pyi @@ -6,6 +6,7 @@ from stripe.api_resources.abstract.listable_api_resource import ListableAPIResou from stripe.api_resources.abstract.nested_resource_class_methods import ( nested_resource_class_methods as nested_resource_class_methods, ) +from stripe.api_resources.abstract.searchable_api_resource import SearchableAPIResource as SearchableAPIResource from stripe.api_resources.abstract.singleton_api_resource import SingletonAPIResource as SingletonAPIResource from stripe.api_resources.abstract.updateable_api_resource import UpdateableAPIResource as UpdateableAPIResource from stripe.api_resources.abstract.verify_mixin import VerifyMixin as VerifyMixin diff --git a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi new file mode 100644 index 000000000000..0eb7cc7e35df --- /dev/null +++ b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi @@ -0,0 +1,23 @@ +from _typeshed import Self +from typing import Iterator + +from stripe.api_resources.abstract.api_resource import APIResource as APIResource +from stripe.api_resources.search_result_object import SearchResultObject + +class SearchableAPIResource(APIResource): + @classmethod + def _search( + cls: type[Self], + search_url: str, + api_key: str | None = ..., + stripe_version: str | None = ..., + stripe_account: str | None = ..., + **params, + ) -> SearchResultObject[Self]: ... + + @classmethod + def search(cls: type[Self], *args: str | None, **kwargs) -> SearchResultObject[Self]: ... + + @classmethod + def search_auto_paging_iter(cls: type[Self], *args: str | None, **kwargs) -> Iterator[Self]: ... + diff --git a/stubs/stripe/stripe/api_resources/charge.pyi b/stubs/stripe/stripe/api_resources/charge.pyi index 163793340cf7..a9c6246683ec 100644 --- a/stubs/stripe/stripe/api_resources/charge.pyi +++ b/stubs/stripe/stripe/api_resources/charge.pyi @@ -2,11 +2,12 @@ from stripe import api_requestor as api_requestor from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, custom_method as custom_method, ) -class Charge(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource): +class Charge(CreateableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def capture(self, idempotency_key: str | None = ..., **params): ... def refund(self, idempotency_key: str | None = ..., **params): ... diff --git a/stubs/stripe/stripe/api_resources/customer.pyi b/stubs/stripe/stripe/api_resources/customer.pyi index 4010c7a5c2be..d36dc8f75512 100644 --- a/stubs/stripe/stripe/api_resources/customer.pyi +++ b/stubs/stripe/stripe/api_resources/customer.pyi @@ -3,12 +3,13 @@ from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, DeletableAPIResource as DeletableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, custom_method as custom_method, nested_resource_class_methods as nested_resource_class_methods, ) -class Customer(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource): +class Customer(CreateableAPIResource, DeletableAPIResource, ListableAPIResource,SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def delete_discount(self, **params) -> None: ... @classmethod diff --git a/stubs/stripe/stripe/api_resources/invoice.pyi b/stubs/stripe/stripe/api_resources/invoice.pyi index 4aa742c99f5d..8f858ba89f94 100644 --- a/stubs/stripe/stripe/api_resources/invoice.pyi +++ b/stubs/stripe/stripe/api_resources/invoice.pyi @@ -6,11 +6,12 @@ from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, DeletableAPIResource as DeletableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, custom_method as custom_method, ) -class Invoice(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource): +class Invoice(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource,UpdateableAPIResource): OBJECT_NAME: str def finalize_invoice(self: Self, idempotency_key: str | None = ..., **params) -> Self: ... def mark_uncollectible(self: Self, idempotency_key: str | None = ..., **params) -> Self: ... diff --git a/stubs/stripe/stripe/api_resources/payment_intent.pyi b/stubs/stripe/stripe/api_resources/payment_intent.pyi index c644747a07a8..464b8f207e01 100644 --- a/stubs/stripe/stripe/api_resources/payment_intent.pyi +++ b/stubs/stripe/stripe/api_resources/payment_intent.pyi @@ -3,11 +3,12 @@ from typing import overload from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, custom_method as custom_method, ) -class PaymentIntent(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource): +class PaymentIntent(CreateableAPIResource, ListableAPIResource,SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def cancel(self, idempotency_key: str | None = ..., **params): ... def capture(self, idempotency_key: str | None = ..., **params): ... diff --git a/stubs/stripe/stripe/api_resources/price.pyi b/stubs/stripe/stripe/api_resources/price.pyi index 7c1c73688724..ae942abef0db 100644 --- a/stubs/stripe/stripe/api_resources/price.pyi +++ b/stubs/stripe/stripe/api_resources/price.pyi @@ -1,8 +1,9 @@ from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, ) -class Price(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource): +class Price(CreateableAPIResource, ListableAPIResource, SearchableAPIResource,UpdateableAPIResource): OBJECT_NAME: str diff --git a/stubs/stripe/stripe/api_resources/product.pyi b/stubs/stripe/stripe/api_resources/product.pyi index 8e42ea069d5c..2d230d921c4b 100644 --- a/stubs/stripe/stripe/api_resources/product.pyi +++ b/stubs/stripe/stripe/api_resources/product.pyi @@ -2,8 +2,9 @@ from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, DeletableAPIResource as DeletableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, ) -class Product(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource): +class Product(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource,UpdateableAPIResource): OBJECT_NAME: str diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi new file mode 100644 index 000000000000..a5a00236656d --- /dev/null +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -0,0 +1,32 @@ +from _typeshed import Self +from typing import Any, Generic, Iterator, List, TypeVar + +from stripe.stripe_object import StripeObject + +_T = TypeVar("_T") + +class SearchResultObject(StripeObject, Generic[_T]): + OBJECT_NAME = "search_result" + url: str + has_more: bool + data: List[_T] + next_page: str + total_count: int + + def search( + self: Self, api_key: str | None = ..., stripe_version: str | None = ..., stripe_account: str | None = ..., **params + ) -> Self: ... + def __getitem__(self, k) -> Any: ... + def __iter__(self) -> Iterator[_T]: ... + def __len__(self) -> int: ... + def auto_paging_iter(self) -> Iterator[_T]: ... + @classmethod + def empty_search_result( + cls: type[Self], api_key: str | None = ..., stripe_version: str | None = ..., stripe_account: str | None = ... + ) -> Self: ... + @property + def is_empty(self) -> bool: ... + def next_search_result_page( + self: Self, api_key: str | None = ..., stripe_version: str | None = ..., stripe_account: str | None = ..., **params + ) -> Self: ... + diff --git a/stubs/stripe/stripe/api_resources/subscription.pyi b/stubs/stripe/stripe/api_resources/subscription.pyi index ddd2ce49b9f4..801829e406c1 100644 --- a/stubs/stripe/stripe/api_resources/subscription.pyi +++ b/stubs/stripe/stripe/api_resources/subscription.pyi @@ -3,10 +3,11 @@ from stripe.api_resources.abstract import ( CreateableAPIResource as CreateableAPIResource, DeletableAPIResource as DeletableAPIResource, ListableAPIResource as ListableAPIResource, + SearchableAPIResource as SearchableAPIResource, UpdateableAPIResource as UpdateableAPIResource, custom_method as custom_method, ) -class Subscription(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, UpdateableAPIResource): +class Subscription(CreateableAPIResource, DeletableAPIResource, ListableAPIResource,SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def delete_discount(self, **params) -> None: ... From 085a9912b285d616088c5facccf2421f826b58a9 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 6 Sep 2022 15:11:50 -0400 Subject: [PATCH 02/12] add type annotation for getitem key --- stubs/stripe/stripe/api_resources/search_result_object.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index a5a00236656d..f3c4a0af0b0d 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -16,7 +16,7 @@ class SearchResultObject(StripeObject, Generic[_T]): def search( self: Self, api_key: str | None = ..., stripe_version: str | None = ..., stripe_account: str | None = ..., **params ) -> Self: ... - def __getitem__(self, k) -> Any: ... + def __getitem__(self, k: str) -> Any: ... def __iter__(self) -> Iterator[_T]: ... def __len__(self) -> int: ... def auto_paging_iter(self) -> Iterator[_T]: ... From 312b5886535c456dbf06f9b7dec62e9bced7d42c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 19:36:30 +0000 Subject: [PATCH 03/12] [pre-commit.ci] auto fixes from pre-commit.com hooks --- .../stripe/api_resources/abstract/searchable_api_resource.pyi | 3 --- stubs/stripe/stripe/api_resources/customer.pyi | 2 +- stubs/stripe/stripe/api_resources/invoice.pyi | 2 +- stubs/stripe/stripe/api_resources/payment_intent.pyi | 2 +- stubs/stripe/stripe/api_resources/price.pyi | 2 +- stubs/stripe/stripe/api_resources/product.pyi | 2 +- stubs/stripe/stripe/api_resources/search_result_object.pyi | 1 - stubs/stripe/stripe/api_resources/subscription.pyi | 4 +++- 8 files changed, 8 insertions(+), 10 deletions(-) diff --git a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi index 0eb7cc7e35df..bb1a6d0acccd 100644 --- a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi +++ b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi @@ -14,10 +14,7 @@ class SearchableAPIResource(APIResource): stripe_account: str | None = ..., **params, ) -> SearchResultObject[Self]: ... - @classmethod def search(cls: type[Self], *args: str | None, **kwargs) -> SearchResultObject[Self]: ... - @classmethod def search_auto_paging_iter(cls: type[Self], *args: str | None, **kwargs) -> Iterator[Self]: ... - diff --git a/stubs/stripe/stripe/api_resources/customer.pyi b/stubs/stripe/stripe/api_resources/customer.pyi index d36dc8f75512..36e3327d99be 100644 --- a/stubs/stripe/stripe/api_resources/customer.pyi +++ b/stubs/stripe/stripe/api_resources/customer.pyi @@ -9,7 +9,7 @@ from stripe.api_resources.abstract import ( nested_resource_class_methods as nested_resource_class_methods, ) -class Customer(CreateableAPIResource, DeletableAPIResource, ListableAPIResource,SearchableAPIResource, UpdateableAPIResource): +class Customer(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def delete_discount(self, **params) -> None: ... @classmethod diff --git a/stubs/stripe/stripe/api_resources/invoice.pyi b/stubs/stripe/stripe/api_resources/invoice.pyi index 8f858ba89f94..8c994d015e2f 100644 --- a/stubs/stripe/stripe/api_resources/invoice.pyi +++ b/stubs/stripe/stripe/api_resources/invoice.pyi @@ -11,7 +11,7 @@ from stripe.api_resources.abstract import ( custom_method as custom_method, ) -class Invoice(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource,UpdateableAPIResource): +class Invoice(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def finalize_invoice(self: Self, idempotency_key: str | None = ..., **params) -> Self: ... def mark_uncollectible(self: Self, idempotency_key: str | None = ..., **params) -> Self: ... diff --git a/stubs/stripe/stripe/api_resources/payment_intent.pyi b/stubs/stripe/stripe/api_resources/payment_intent.pyi index 464b8f207e01..203ce28f9308 100644 --- a/stubs/stripe/stripe/api_resources/payment_intent.pyi +++ b/stubs/stripe/stripe/api_resources/payment_intent.pyi @@ -8,7 +8,7 @@ from stripe.api_resources.abstract import ( custom_method as custom_method, ) -class PaymentIntent(CreateableAPIResource, ListableAPIResource,SearchableAPIResource, UpdateableAPIResource): +class PaymentIntent(CreateableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str def cancel(self, idempotency_key: str | None = ..., **params): ... def capture(self, idempotency_key: str | None = ..., **params): ... diff --git a/stubs/stripe/stripe/api_resources/price.pyi b/stubs/stripe/stripe/api_resources/price.pyi index ae942abef0db..773254d0a23e 100644 --- a/stubs/stripe/stripe/api_resources/price.pyi +++ b/stubs/stripe/stripe/api_resources/price.pyi @@ -5,5 +5,5 @@ from stripe.api_resources.abstract import ( UpdateableAPIResource as UpdateableAPIResource, ) -class Price(CreateableAPIResource, ListableAPIResource, SearchableAPIResource,UpdateableAPIResource): +class Price(CreateableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str diff --git a/stubs/stripe/stripe/api_resources/product.pyi b/stubs/stripe/stripe/api_resources/product.pyi index 2d230d921c4b..10149e003d39 100644 --- a/stubs/stripe/stripe/api_resources/product.pyi +++ b/stubs/stripe/stripe/api_resources/product.pyi @@ -6,5 +6,5 @@ from stripe.api_resources.abstract import ( UpdateableAPIResource as UpdateableAPIResource, ) -class Product(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource,UpdateableAPIResource): +class Product(CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource): OBJECT_NAME: str diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index f3c4a0af0b0d..7068ebee3b5f 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -29,4 +29,3 @@ class SearchResultObject(StripeObject, Generic[_T]): def next_search_result_page( self: Self, api_key: str | None = ..., stripe_version: str | None = ..., stripe_account: str | None = ..., **params ) -> Self: ... - diff --git a/stubs/stripe/stripe/api_resources/subscription.pyi b/stubs/stripe/stripe/api_resources/subscription.pyi index 801829e406c1..511d2aefe282 100644 --- a/stubs/stripe/stripe/api_resources/subscription.pyi +++ b/stubs/stripe/stripe/api_resources/subscription.pyi @@ -8,6 +8,8 @@ from stripe.api_resources.abstract import ( custom_method as custom_method, ) -class Subscription(CreateableAPIResource, DeletableAPIResource, ListableAPIResource,SearchableAPIResource, UpdateableAPIResource): +class Subscription( + CreateableAPIResource, DeletableAPIResource, ListableAPIResource, SearchableAPIResource, UpdateableAPIResource +): OBJECT_NAME: str def delete_discount(self, **params) -> None: ... From b9bb7110cbcc2f47dbdc6bf1cd57225e9374cd11 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 6 Sep 2022 15:44:33 -0400 Subject: [PATCH 04/12] fix lint errors --- stubs/stripe/stripe/api_resources/search_result_object.pyi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index 7068ebee3b5f..f6237b6e3ca6 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -1,15 +1,16 @@ from _typeshed import Self -from typing import Any, Generic, Iterator, List, TypeVar +from typing import Any, Generic, TypeVar +from collections.abc import Iterator from stripe.stripe_object import StripeObject _T = TypeVar("_T") class SearchResultObject(StripeObject, Generic[_T]): - OBJECT_NAME = "search_result" + OBJECT_NAME = ... url: str has_more: bool - data: List[_T] + data: list[_T] next_page: str total_count: int From 52050159784a9719a040c04ae6d5ea0c6770bca1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 6 Sep 2022 19:45:52 +0000 Subject: [PATCH 05/12] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stubs/stripe/stripe/api_resources/search_result_object.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index f6237b6e3ca6..d7975d8f09be 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -1,6 +1,6 @@ from _typeshed import Self -from typing import Any, Generic, TypeVar from collections.abc import Iterator +from typing import Any, Generic, TypeVar from stripe.stripe_object import StripeObject From 5d363dc07fa6cdfb484e230c82eec9aac6e7d82f Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 6 Sep 2022 15:48:51 -0400 Subject: [PATCH 06/12] fix lint error --- .../stripe/api_resources/abstract/searchable_api_resource.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi index bb1a6d0acccd..894ac958b678 100644 --- a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi +++ b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi @@ -1,5 +1,5 @@ from _typeshed import Self -from typing import Iterator +from collections.abc import Iterator from stripe.api_resources.abstract.api_resource import APIResource as APIResource from stripe.api_resources.search_result_object import SearchResultObject From 517d847213057fb9ce7fb0396b8a4a30229d4fa0 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 6 Sep 2022 15:59:58 -0400 Subject: [PATCH 07/12] Fix type for SearchResultObject.OBJECT_NAME --- stubs/stripe/stripe/api_resources/search_result_object.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index d7975d8f09be..5c2a50837587 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -1,13 +1,13 @@ from _typeshed import Self from collections.abc import Iterator -from typing import Any, Generic, TypeVar +from typing import Any, Generic, Literal, TypeVar from stripe.stripe_object import StripeObject _T = TypeVar("_T") class SearchResultObject(StripeObject, Generic[_T]): - OBJECT_NAME = ... + OBJECT_NAME: Literal["search_result"] = ... url: str has_more: bool data: list[_T] From ae84ddb97f8748626b9084f987d6d0f3f78a893d Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 6 Sep 2022 16:12:26 -0400 Subject: [PATCH 08/12] Fix Literal import --- stubs/stripe/stripe/api_resources/search_result_object.pyi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index 5c2a50837587..26051dc9c5c8 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -1,6 +1,7 @@ from _typeshed import Self from collections.abc import Iterator -from typing import Any, Generic, Literal, TypeVar +from typing import Any, Generic, TypeVar +from typing_extensions import Literal from stripe.stripe_object import StripeObject From b1e3929787c3b891afe34b441159b436ce430563 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Mon, 12 Sep 2022 10:33:52 -0400 Subject: [PATCH 09/12] Add SearchableAPIResource methods to stubtest_allowlist --- stubs/stripe/@tests/stubtest_allowlist.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/stubs/stripe/@tests/stubtest_allowlist.txt b/stubs/stripe/@tests/stubtest_allowlist.txt index e58e34427659..5ecd27342bdb 100644 --- a/stubs/stripe/@tests/stubtest_allowlist.txt +++ b/stubs/stripe/@tests/stubtest_allowlist.txt @@ -1,3 +1,5 @@ # The following methods have custom classmethod decorators stripe\..*\.delete stripe\..*PaymentIntent\.confirm +stripe.api_resources.abstract.SearchableAPIResource.search # Not defined on the actual class in v3, but expected to exist. +stripe.api_resources.abstract.SearchableAPIResource.search_auto_paging_iter # Not defined on the actual class in v3, but expected to exist. From 96fbe141642e7e727bc42412e5dca2c352721945 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Mon, 12 Sep 2022 10:42:40 -0400 Subject: [PATCH 10/12] fix allowlist --- stubs/stripe/@tests/stubtest_allowlist.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/stripe/@tests/stubtest_allowlist.txt b/stubs/stripe/@tests/stubtest_allowlist.txt index 5ecd27342bdb..e4ac4827b317 100644 --- a/stubs/stripe/@tests/stubtest_allowlist.txt +++ b/stubs/stripe/@tests/stubtest_allowlist.txt @@ -1,5 +1,5 @@ # The following methods have custom classmethod decorators stripe\..*\.delete stripe\..*PaymentIntent\.confirm -stripe.api_resources.abstract.SearchableAPIResource.search # Not defined on the actual class in v3, but expected to exist. -stripe.api_resources.abstract.SearchableAPIResource.search_auto_paging_iter # Not defined on the actual class in v3, but expected to exist. +stripe\.api_resources\..*\.SearchableAPIResource\.search # Not defined on the actual class in v3, but expected to exist. +stripe\.api_resources\..*\.SearchableAPIResource\.search_auto_paging_iter # Not defined on the actual class in v3, but expected to exist. From aea6720903aaf279ef7c7945ae022a9016dcb8c5 Mon Sep 17 00:00:00 2001 From: Yejia Chen Date: Tue, 13 Sep 2022 09:54:41 -0400 Subject: [PATCH 11/12] Address review feedback --- .../api_resources/abstract/searchable_api_resource.pyi | 9 --------- .../stripe/stripe/api_resources/search_result_object.pyi | 4 ++-- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi index 894ac958b678..e8cf8ce998dd 100644 --- a/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi +++ b/stubs/stripe/stripe/api_resources/abstract/searchable_api_resource.pyi @@ -5,15 +5,6 @@ from stripe.api_resources.abstract.api_resource import APIResource as APIResourc from stripe.api_resources.search_result_object import SearchResultObject class SearchableAPIResource(APIResource): - @classmethod - def _search( - cls: type[Self], - search_url: str, - api_key: str | None = ..., - stripe_version: str | None = ..., - stripe_account: str | None = ..., - **params, - ) -> SearchResultObject[Self]: ... @classmethod def search(cls: type[Self], *args: str | None, **kwargs) -> SearchResultObject[Self]: ... @classmethod diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index 26051dc9c5c8..53f045b39dd5 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -1,6 +1,6 @@ from _typeshed import Self from collections.abc import Iterator -from typing import Any, Generic, TypeVar +from typing import Any, ClassVar, Generic, TypeVar from typing_extensions import Literal from stripe.stripe_object import StripeObject @@ -8,7 +8,7 @@ from stripe.stripe_object import StripeObject _T = TypeVar("_T") class SearchResultObject(StripeObject, Generic[_T]): - OBJECT_NAME: Literal["search_result"] = ... + OBJECT_NAME: ClassVar[Literal["search_result"]] = ... url: str has_more: bool data: list[_T] From c1915de9084ba319b29fee34f2e49267e85af305 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Tue, 13 Sep 2022 16:21:41 +0100 Subject: [PATCH 12/12] Remove unnecessary `...` --- stubs/stripe/stripe/api_resources/search_result_object.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stubs/stripe/stripe/api_resources/search_result_object.pyi b/stubs/stripe/stripe/api_resources/search_result_object.pyi index 53f045b39dd5..f6b858c27def 100644 --- a/stubs/stripe/stripe/api_resources/search_result_object.pyi +++ b/stubs/stripe/stripe/api_resources/search_result_object.pyi @@ -8,7 +8,7 @@ from stripe.stripe_object import StripeObject _T = TypeVar("_T") class SearchResultObject(StripeObject, Generic[_T]): - OBJECT_NAME: ClassVar[Literal["search_result"]] = ... + OBJECT_NAME: ClassVar[Literal["search_result"]] url: str has_more: bool data: list[_T]