whop-sdk 0.0.1__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.
Potentially problematic release.
This version of whop-sdk might be problematic. Click here for more details.
- whop_sdk/__init__.py +94 -0
- whop_sdk/_base_client.py +1995 -0
- whop_sdk/_client.py +664 -0
- whop_sdk/_compat.py +219 -0
- whop_sdk/_constants.py +14 -0
- whop_sdk/_exceptions.py +112 -0
- whop_sdk/_files.py +123 -0
- whop_sdk/_models.py +835 -0
- whop_sdk/_qs.py +150 -0
- whop_sdk/_resource.py +43 -0
- whop_sdk/_response.py +830 -0
- whop_sdk/_streaming.py +333 -0
- whop_sdk/_types.py +260 -0
- whop_sdk/_utils/__init__.py +64 -0
- whop_sdk/_utils/_compat.py +45 -0
- whop_sdk/_utils/_datetime_parse.py +136 -0
- whop_sdk/_utils/_logs.py +25 -0
- whop_sdk/_utils/_proxy.py +65 -0
- whop_sdk/_utils/_reflection.py +42 -0
- whop_sdk/_utils/_resources_proxy.py +24 -0
- whop_sdk/_utils/_streams.py +12 -0
- whop_sdk/_utils/_sync.py +86 -0
- whop_sdk/_utils/_transform.py +457 -0
- whop_sdk/_utils/_typing.py +156 -0
- whop_sdk/_utils/_utils.py +421 -0
- whop_sdk/_version.py +4 -0
- whop_sdk/lib/.keep +4 -0
- whop_sdk/pagination.py +61 -0
- whop_sdk/py.typed +0 -0
- whop_sdk/resources/__init__.py +316 -0
- whop_sdk/resources/app_builds.py +562 -0
- whop_sdk/resources/apps.py +665 -0
- whop_sdk/resources/authorized_users.py +336 -0
- whop_sdk/resources/chat_channels.py +469 -0
- whop_sdk/resources/checkout_configurations.py +464 -0
- whop_sdk/resources/companies.py +171 -0
- whop_sdk/resources/course_lesson_interactions.py +343 -0
- whop_sdk/resources/entries.py +539 -0
- whop_sdk/resources/experiences.py +859 -0
- whop_sdk/resources/forum_posts.py +512 -0
- whop_sdk/resources/invoices.py +633 -0
- whop_sdk/resources/ledger_accounts.py +171 -0
- whop_sdk/resources/memberships.py +810 -0
- whop_sdk/resources/messages.py +446 -0
- whop_sdk/resources/payments.py +761 -0
- whop_sdk/resources/plans.py +906 -0
- whop_sdk/resources/products.py +969 -0
- whop_sdk/resources/reactions.py +423 -0
- whop_sdk/resources/shipments.py +451 -0
- whop_sdk/resources/support_channels.py +455 -0
- whop_sdk/resources/transfers.py +488 -0
- whop_sdk/resources/users.py +248 -0
- whop_sdk/resources/webhooks.py +69 -0
- whop_sdk/types/__init__.py +135 -0
- whop_sdk/types/app_build_create_params.py +59 -0
- whop_sdk/types/app_build_list_params.py +34 -0
- whop_sdk/types/app_build_list_response.py +50 -0
- whop_sdk/types/app_create_params.py +19 -0
- whop_sdk/types/app_list_params.py +54 -0
- whop_sdk/types/app_list_response.py +91 -0
- whop_sdk/types/app_update_params.py +58 -0
- whop_sdk/types/authorized_user_list_params.py +33 -0
- whop_sdk/types/authorized_user_list_response.py +33 -0
- whop_sdk/types/authorized_user_retrieve_response.py +33 -0
- whop_sdk/types/chat_channel_list_params.py +28 -0
- whop_sdk/types/chat_channel_list_response.py +43 -0
- whop_sdk/types/chat_channel_update_params.py +32 -0
- whop_sdk/types/checkout_configuration_create_params.py +129 -0
- whop_sdk/types/checkout_configuration_list_params.py +33 -0
- whop_sdk/types/checkout_configuration_list_response.py +66 -0
- whop_sdk/types/course_lesson_interaction_list_params.py +34 -0
- whop_sdk/types/entry_approve_response.py +10 -0
- whop_sdk/types/entry_list_params.py +44 -0
- whop_sdk/types/entry_list_response.py +56 -0
- whop_sdk/types/experience_attach_params.py +12 -0
- whop_sdk/types/experience_create_params.py +22 -0
- whop_sdk/types/experience_delete_response.py +7 -0
- whop_sdk/types/experience_detach_params.py +12 -0
- whop_sdk/types/experience_list_params.py +31 -0
- whop_sdk/types/experience_list_response.py +47 -0
- whop_sdk/types/experience_update_params.py +41 -0
- whop_sdk/types/forum_post_create_params.py +85 -0
- whop_sdk/types/forum_post_list_params.py +31 -0
- whop_sdk/types/forum_post_list_response.py +53 -0
- whop_sdk/types/invoice_create_params.py +137 -0
- whop_sdk/types/invoice_create_response.py +16 -0
- whop_sdk/types/invoice_created_webhook_event.py +26 -0
- whop_sdk/types/invoice_list_params.py +50 -0
- whop_sdk/types/invoice_paid_webhook_event.py +26 -0
- whop_sdk/types/invoice_past_due_webhook_event.py +26 -0
- whop_sdk/types/invoice_void_response.py +7 -0
- whop_sdk/types/invoice_voided_webhook_event.py +26 -0
- whop_sdk/types/ledger_account_retrieve_response.py +78 -0
- whop_sdk/types/membership_cancel_params.py +13 -0
- whop_sdk/types/membership_list_params.py +70 -0
- whop_sdk/types/membership_list_response.py +117 -0
- whop_sdk/types/membership_pause_params.py +16 -0
- whop_sdk/types/membership_update_params.py +13 -0
- whop_sdk/types/message_create_params.py +51 -0
- whop_sdk/types/message_list_params.py +30 -0
- whop_sdk/types/message_list_response.py +90 -0
- whop_sdk/types/payment_list_params.py +72 -0
- whop_sdk/types/payment_list_response.py +221 -0
- whop_sdk/types/payment_refund_params.py +13 -0
- whop_sdk/types/plan_create_params.py +106 -0
- whop_sdk/types/plan_delete_response.py +7 -0
- whop_sdk/types/plan_list_params.py +49 -0
- whop_sdk/types/plan_list_response.py +92 -0
- whop_sdk/types/plan_update_params.py +95 -0
- whop_sdk/types/product_create_params.py +170 -0
- whop_sdk/types/product_delete_response.py +7 -0
- whop_sdk/types/product_list_params.py +41 -0
- whop_sdk/types/product_update_params.py +90 -0
- whop_sdk/types/reaction_create_params.py +19 -0
- whop_sdk/types/reaction_list_params.py +25 -0
- whop_sdk/types/reaction_list_response.py +32 -0
- whop_sdk/types/shared/__init__.py +55 -0
- whop_sdk/types/shared/access_pass_type.py +7 -0
- whop_sdk/types/shared/app.py +159 -0
- whop_sdk/types/shared/app_build.py +50 -0
- whop_sdk/types/shared/app_build_platforms.py +7 -0
- whop_sdk/types/shared/app_build_statuses.py +7 -0
- whop_sdk/types/shared/app_statuses.py +7 -0
- whop_sdk/types/shared/app_view_type.py +7 -0
- whop_sdk/types/shared/authorized_user_roles.py +9 -0
- whop_sdk/types/shared/business_types.py +22 -0
- whop_sdk/types/shared/chat_channel.py +43 -0
- whop_sdk/types/shared/checkout_configuration.py +66 -0
- whop_sdk/types/shared/collection_method.py +7 -0
- whop_sdk/types/shared/company.py +71 -0
- whop_sdk/types/shared/course_lesson_interaction.py +44 -0
- whop_sdk/types/shared/course_lesson_interaction_list_item.py +44 -0
- whop_sdk/types/shared/currency.py +92 -0
- whop_sdk/types/shared/custom_cta.py +21 -0
- whop_sdk/types/shared/direction.py +7 -0
- whop_sdk/types/shared/dms_post_types.py +7 -0
- whop_sdk/types/shared/entry.py +70 -0
- whop_sdk/types/shared/entry_status.py +7 -0
- whop_sdk/types/shared/experience.py +66 -0
- whop_sdk/types/shared/forum_post.py +53 -0
- whop_sdk/types/shared/friendly_receipt_status.py +24 -0
- whop_sdk/types/shared/global_affiliate_status.py +7 -0
- whop_sdk/types/shared/industry_types.py +67 -0
- whop_sdk/types/shared/invoice.py +61 -0
- whop_sdk/types/shared/invoice_list_item.py +61 -0
- whop_sdk/types/shared/invoice_status.py +7 -0
- whop_sdk/types/shared/membership.py +117 -0
- whop_sdk/types/shared/membership_status.py +9 -0
- whop_sdk/types/shared/message.py +90 -0
- whop_sdk/types/shared/page_info.py +21 -0
- whop_sdk/types/shared/payment.py +211 -0
- whop_sdk/types/shared/plan.py +123 -0
- whop_sdk/types/shared/plan_type.py +7 -0
- whop_sdk/types/shared/product.py +124 -0
- whop_sdk/types/shared/product_list_item.py +49 -0
- whop_sdk/types/shared/promo_type.py +7 -0
- whop_sdk/types/shared/reaction.py +32 -0
- whop_sdk/types/shared/receipt_status.py +7 -0
- whop_sdk/types/shared/release_method.py +7 -0
- whop_sdk/types/shared/shipment.py +48 -0
- whop_sdk/types/shared/shipment_carrier.py +84 -0
- whop_sdk/types/shared/shipment_status.py +18 -0
- whop_sdk/types/shared/shipment_substatus.py +36 -0
- whop_sdk/types/shared/support_channel.py +39 -0
- whop_sdk/types/shared/tax_type.py +7 -0
- whop_sdk/types/shared/transfer.py +109 -0
- whop_sdk/types/shared/visibility.py +7 -0
- whop_sdk/types/shared/visibility_filter.py +9 -0
- whop_sdk/types/shared/who_can_post.py +7 -0
- whop_sdk/types/shared/who_can_react.py +7 -0
- whop_sdk/types/shared_params/__init__.py +27 -0
- whop_sdk/types/shared_params/access_pass_type.py +9 -0
- whop_sdk/types/shared_params/app_build_platforms.py +9 -0
- whop_sdk/types/shared_params/app_build_statuses.py +9 -0
- whop_sdk/types/shared_params/app_statuses.py +9 -0
- whop_sdk/types/shared_params/app_view_type.py +9 -0
- whop_sdk/types/shared_params/authorized_user_roles.py +11 -0
- whop_sdk/types/shared_params/business_types.py +24 -0
- whop_sdk/types/shared_params/collection_method.py +9 -0
- whop_sdk/types/shared_params/currency.py +94 -0
- whop_sdk/types/shared_params/custom_cta.py +23 -0
- whop_sdk/types/shared_params/direction.py +9 -0
- whop_sdk/types/shared_params/entry_status.py +9 -0
- whop_sdk/types/shared_params/friendly_receipt_status.py +26 -0
- whop_sdk/types/shared_params/global_affiliate_status.py +9 -0
- whop_sdk/types/shared_params/industry_types.py +69 -0
- whop_sdk/types/shared_params/invoice_status.py +9 -0
- whop_sdk/types/shared_params/membership_status.py +11 -0
- whop_sdk/types/shared_params/plan_type.py +9 -0
- whop_sdk/types/shared_params/receipt_status.py +9 -0
- whop_sdk/types/shared_params/release_method.py +9 -0
- whop_sdk/types/shared_params/tax_type.py +9 -0
- whop_sdk/types/shared_params/visibility.py +9 -0
- whop_sdk/types/shared_params/visibility_filter.py +11 -0
- whop_sdk/types/shared_params/who_can_post.py +9 -0
- whop_sdk/types/shared_params/who_can_react.py +9 -0
- whop_sdk/types/shipment_create_params.py +18 -0
- whop_sdk/types/shipment_list_params.py +31 -0
- whop_sdk/types/shipment_list_response.py +48 -0
- whop_sdk/types/support_channel_create_params.py +15 -0
- whop_sdk/types/support_channel_list_params.py +40 -0
- whop_sdk/types/support_channel_list_response.py +39 -0
- whop_sdk/types/transfer_create_params.py +36 -0
- whop_sdk/types/transfer_list_params.py +42 -0
- whop_sdk/types/transfer_list_response.py +35 -0
- whop_sdk/types/unwrap_webhook_event.py +15 -0
- whop_sdk/types/user_check_access_response.py +15 -0
- whop_sdk/types/user_retrieve_response.py +25 -0
- whop_sdk-0.0.1.dist-info/METADATA +522 -0
- whop_sdk-0.0.1.dist-info/RECORD +212 -0
- whop_sdk-0.0.1.dist-info/WHEEL +4 -0
- whop_sdk-0.0.1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from .._types import Body, Query, Headers, NotGiven, not_given
|
|
8
|
+
from .._compat import cached_property
|
|
9
|
+
from .._resource import SyncAPIResource, AsyncAPIResource
|
|
10
|
+
from .._response import (
|
|
11
|
+
to_raw_response_wrapper,
|
|
12
|
+
to_streamed_response_wrapper,
|
|
13
|
+
async_to_raw_response_wrapper,
|
|
14
|
+
async_to_streamed_response_wrapper,
|
|
15
|
+
)
|
|
16
|
+
from .._base_client import make_request_options
|
|
17
|
+
from ..types.user_retrieve_response import UserRetrieveResponse
|
|
18
|
+
from ..types.user_check_access_response import UserCheckAccessResponse
|
|
19
|
+
|
|
20
|
+
__all__ = ["UsersResource", "AsyncUsersResource"]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class UsersResource(SyncAPIResource):
|
|
24
|
+
@cached_property
|
|
25
|
+
def with_raw_response(self) -> UsersResourceWithRawResponse:
|
|
26
|
+
"""
|
|
27
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
28
|
+
the raw response object instead of the parsed content.
|
|
29
|
+
|
|
30
|
+
For more information, see https://www.github.com/whopio/whopsdk-python#accessing-raw-response-data-eg-headers
|
|
31
|
+
"""
|
|
32
|
+
return UsersResourceWithRawResponse(self)
|
|
33
|
+
|
|
34
|
+
@cached_property
|
|
35
|
+
def with_streaming_response(self) -> UsersResourceWithStreamingResponse:
|
|
36
|
+
"""
|
|
37
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
38
|
+
|
|
39
|
+
For more information, see https://www.github.com/whopio/whopsdk-python#with_streaming_response
|
|
40
|
+
"""
|
|
41
|
+
return UsersResourceWithStreamingResponse(self)
|
|
42
|
+
|
|
43
|
+
def retrieve(
|
|
44
|
+
self,
|
|
45
|
+
id: str,
|
|
46
|
+
*,
|
|
47
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
48
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
49
|
+
extra_headers: Headers | None = None,
|
|
50
|
+
extra_query: Query | None = None,
|
|
51
|
+
extra_body: Body | None = None,
|
|
52
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
53
|
+
) -> UserRetrieveResponse:
|
|
54
|
+
"""
|
|
55
|
+
Retrieves a user by ID or username
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
extra_headers: Send extra headers
|
|
59
|
+
|
|
60
|
+
extra_query: Add additional query parameters to the request
|
|
61
|
+
|
|
62
|
+
extra_body: Add additional JSON properties to the request
|
|
63
|
+
|
|
64
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
65
|
+
"""
|
|
66
|
+
if not id:
|
|
67
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
68
|
+
return self._get(
|
|
69
|
+
f"/users/{id}",
|
|
70
|
+
options=make_request_options(
|
|
71
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
72
|
+
),
|
|
73
|
+
cast_to=UserRetrieveResponse,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
def check_access(
|
|
77
|
+
self,
|
|
78
|
+
resource_id: str,
|
|
79
|
+
*,
|
|
80
|
+
id: str,
|
|
81
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
82
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
83
|
+
extra_headers: Headers | None = None,
|
|
84
|
+
extra_query: Query | None = None,
|
|
85
|
+
extra_body: Body | None = None,
|
|
86
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
87
|
+
) -> UserCheckAccessResponse:
|
|
88
|
+
"""
|
|
89
|
+
Check if a user has access (and their access level) to a resource
|
|
90
|
+
|
|
91
|
+
Args:
|
|
92
|
+
extra_headers: Send extra headers
|
|
93
|
+
|
|
94
|
+
extra_query: Add additional query parameters to the request
|
|
95
|
+
|
|
96
|
+
extra_body: Add additional JSON properties to the request
|
|
97
|
+
|
|
98
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
99
|
+
"""
|
|
100
|
+
if not id:
|
|
101
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
102
|
+
if not resource_id:
|
|
103
|
+
raise ValueError(f"Expected a non-empty value for `resource_id` but received {resource_id!r}")
|
|
104
|
+
return self._get(
|
|
105
|
+
f"/users/{id}/access/{resource_id}",
|
|
106
|
+
options=make_request_options(
|
|
107
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
108
|
+
),
|
|
109
|
+
cast_to=UserCheckAccessResponse,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class AsyncUsersResource(AsyncAPIResource):
|
|
114
|
+
@cached_property
|
|
115
|
+
def with_raw_response(self) -> AsyncUsersResourceWithRawResponse:
|
|
116
|
+
"""
|
|
117
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
118
|
+
the raw response object instead of the parsed content.
|
|
119
|
+
|
|
120
|
+
For more information, see https://www.github.com/whopio/whopsdk-python#accessing-raw-response-data-eg-headers
|
|
121
|
+
"""
|
|
122
|
+
return AsyncUsersResourceWithRawResponse(self)
|
|
123
|
+
|
|
124
|
+
@cached_property
|
|
125
|
+
def with_streaming_response(self) -> AsyncUsersResourceWithStreamingResponse:
|
|
126
|
+
"""
|
|
127
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
128
|
+
|
|
129
|
+
For more information, see https://www.github.com/whopio/whopsdk-python#with_streaming_response
|
|
130
|
+
"""
|
|
131
|
+
return AsyncUsersResourceWithStreamingResponse(self)
|
|
132
|
+
|
|
133
|
+
async def retrieve(
|
|
134
|
+
self,
|
|
135
|
+
id: str,
|
|
136
|
+
*,
|
|
137
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
138
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
139
|
+
extra_headers: Headers | None = None,
|
|
140
|
+
extra_query: Query | None = None,
|
|
141
|
+
extra_body: Body | None = None,
|
|
142
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
143
|
+
) -> UserRetrieveResponse:
|
|
144
|
+
"""
|
|
145
|
+
Retrieves a user by ID or username
|
|
146
|
+
|
|
147
|
+
Args:
|
|
148
|
+
extra_headers: Send extra headers
|
|
149
|
+
|
|
150
|
+
extra_query: Add additional query parameters to the request
|
|
151
|
+
|
|
152
|
+
extra_body: Add additional JSON properties to the request
|
|
153
|
+
|
|
154
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
155
|
+
"""
|
|
156
|
+
if not id:
|
|
157
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
158
|
+
return await self._get(
|
|
159
|
+
f"/users/{id}",
|
|
160
|
+
options=make_request_options(
|
|
161
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
162
|
+
),
|
|
163
|
+
cast_to=UserRetrieveResponse,
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
async def check_access(
|
|
167
|
+
self,
|
|
168
|
+
resource_id: str,
|
|
169
|
+
*,
|
|
170
|
+
id: str,
|
|
171
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
172
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
173
|
+
extra_headers: Headers | None = None,
|
|
174
|
+
extra_query: Query | None = None,
|
|
175
|
+
extra_body: Body | None = None,
|
|
176
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
177
|
+
) -> UserCheckAccessResponse:
|
|
178
|
+
"""
|
|
179
|
+
Check if a user has access (and their access level) to a resource
|
|
180
|
+
|
|
181
|
+
Args:
|
|
182
|
+
extra_headers: Send extra headers
|
|
183
|
+
|
|
184
|
+
extra_query: Add additional query parameters to the request
|
|
185
|
+
|
|
186
|
+
extra_body: Add additional JSON properties to the request
|
|
187
|
+
|
|
188
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
189
|
+
"""
|
|
190
|
+
if not id:
|
|
191
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
192
|
+
if not resource_id:
|
|
193
|
+
raise ValueError(f"Expected a non-empty value for `resource_id` but received {resource_id!r}")
|
|
194
|
+
return await self._get(
|
|
195
|
+
f"/users/{id}/access/{resource_id}",
|
|
196
|
+
options=make_request_options(
|
|
197
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
198
|
+
),
|
|
199
|
+
cast_to=UserCheckAccessResponse,
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
class UsersResourceWithRawResponse:
|
|
204
|
+
def __init__(self, users: UsersResource) -> None:
|
|
205
|
+
self._users = users
|
|
206
|
+
|
|
207
|
+
self.retrieve = to_raw_response_wrapper(
|
|
208
|
+
users.retrieve,
|
|
209
|
+
)
|
|
210
|
+
self.check_access = to_raw_response_wrapper(
|
|
211
|
+
users.check_access,
|
|
212
|
+
)
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
class AsyncUsersResourceWithRawResponse:
|
|
216
|
+
def __init__(self, users: AsyncUsersResource) -> None:
|
|
217
|
+
self._users = users
|
|
218
|
+
|
|
219
|
+
self.retrieve = async_to_raw_response_wrapper(
|
|
220
|
+
users.retrieve,
|
|
221
|
+
)
|
|
222
|
+
self.check_access = async_to_raw_response_wrapper(
|
|
223
|
+
users.check_access,
|
|
224
|
+
)
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
class UsersResourceWithStreamingResponse:
|
|
228
|
+
def __init__(self, users: UsersResource) -> None:
|
|
229
|
+
self._users = users
|
|
230
|
+
|
|
231
|
+
self.retrieve = to_streamed_response_wrapper(
|
|
232
|
+
users.retrieve,
|
|
233
|
+
)
|
|
234
|
+
self.check_access = to_streamed_response_wrapper(
|
|
235
|
+
users.check_access,
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
class AsyncUsersResourceWithStreamingResponse:
|
|
240
|
+
def __init__(self, users: AsyncUsersResource) -> None:
|
|
241
|
+
self._users = users
|
|
242
|
+
|
|
243
|
+
self.retrieve = async_to_streamed_response_wrapper(
|
|
244
|
+
users.retrieve,
|
|
245
|
+
)
|
|
246
|
+
self.check_access = async_to_streamed_response_wrapper(
|
|
247
|
+
users.check_access,
|
|
248
|
+
)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
from typing import Mapping, cast
|
|
7
|
+
|
|
8
|
+
from .._models import construct_type
|
|
9
|
+
from .._resource import SyncAPIResource, AsyncAPIResource
|
|
10
|
+
from .._exceptions import WhopError
|
|
11
|
+
from ..types.unwrap_webhook_event import UnwrapWebhookEvent
|
|
12
|
+
|
|
13
|
+
__all__ = ["WebhooksResource", "AsyncWebhooksResource"]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class WebhooksResource(SyncAPIResource):
|
|
17
|
+
def unwrap(self, payload: str, *, headers: Mapping[str, str], key: str | bytes | None = None) -> UnwrapWebhookEvent:
|
|
18
|
+
try:
|
|
19
|
+
from standardwebhooks import Webhook
|
|
20
|
+
except ImportError as exc:
|
|
21
|
+
raise WhopError("You need to install `whop-sdk[webhooks]` to use this method") from exc
|
|
22
|
+
|
|
23
|
+
if key is None:
|
|
24
|
+
key = self._client.webhook_key
|
|
25
|
+
if key is None:
|
|
26
|
+
raise ValueError(
|
|
27
|
+
"Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument"
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
if not isinstance(headers, dict):
|
|
31
|
+
headers = dict(headers)
|
|
32
|
+
|
|
33
|
+
Webhook(key).verify(payload, headers)
|
|
34
|
+
|
|
35
|
+
return cast(
|
|
36
|
+
UnwrapWebhookEvent,
|
|
37
|
+
construct_type(
|
|
38
|
+
type_=UnwrapWebhookEvent,
|
|
39
|
+
value=json.loads(payload),
|
|
40
|
+
),
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class AsyncWebhooksResource(AsyncAPIResource):
|
|
45
|
+
def unwrap(self, payload: str, *, headers: Mapping[str, str], key: str | bytes | None = None) -> UnwrapWebhookEvent:
|
|
46
|
+
try:
|
|
47
|
+
from standardwebhooks import Webhook
|
|
48
|
+
except ImportError as exc:
|
|
49
|
+
raise WhopError("You need to install `whop-sdk[webhooks]` to use this method") from exc
|
|
50
|
+
|
|
51
|
+
if key is None:
|
|
52
|
+
key = self._client.webhook_key
|
|
53
|
+
if key is None:
|
|
54
|
+
raise ValueError(
|
|
55
|
+
"Cannot verify a webhook without a key on either the client's webhook_key or passed in as an argument"
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
if not isinstance(headers, dict):
|
|
59
|
+
headers = dict(headers)
|
|
60
|
+
|
|
61
|
+
Webhook(key).verify(payload, headers)
|
|
62
|
+
|
|
63
|
+
return cast(
|
|
64
|
+
UnwrapWebhookEvent,
|
|
65
|
+
construct_type(
|
|
66
|
+
type_=UnwrapWebhookEvent,
|
|
67
|
+
value=json.loads(payload),
|
|
68
|
+
),
|
|
69
|
+
)
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from .shared import (
|
|
6
|
+
App as App,
|
|
7
|
+
Plan as Plan,
|
|
8
|
+
Entry as Entry,
|
|
9
|
+
Company as Company,
|
|
10
|
+
Invoice as Invoice,
|
|
11
|
+
Message as Message,
|
|
12
|
+
Payment as Payment,
|
|
13
|
+
Product as Product,
|
|
14
|
+
TaxType as TaxType,
|
|
15
|
+
AppBuild as AppBuild,
|
|
16
|
+
Currency as Currency,
|
|
17
|
+
PageInfo as PageInfo,
|
|
18
|
+
PlanType as PlanType,
|
|
19
|
+
Reaction as Reaction,
|
|
20
|
+
Shipment as Shipment,
|
|
21
|
+
Transfer as Transfer,
|
|
22
|
+
CustomCta as CustomCta,
|
|
23
|
+
Direction as Direction,
|
|
24
|
+
ForumPost as ForumPost,
|
|
25
|
+
PromoType as PromoType,
|
|
26
|
+
Experience as Experience,
|
|
27
|
+
Membership as Membership,
|
|
28
|
+
Visibility as Visibility,
|
|
29
|
+
WhoCanPost as WhoCanPost,
|
|
30
|
+
AppStatuses as AppStatuses,
|
|
31
|
+
AppViewType as AppViewType,
|
|
32
|
+
ChatChannel as ChatChannel,
|
|
33
|
+
EntryStatus as EntryStatus,
|
|
34
|
+
WhoCanReact as WhoCanReact,
|
|
35
|
+
DmsPostTypes as DmsPostTypes,
|
|
36
|
+
BusinessTypes as BusinessTypes,
|
|
37
|
+
IndustryTypes as IndustryTypes,
|
|
38
|
+
InvoiceStatus as InvoiceStatus,
|
|
39
|
+
ReceiptStatus as ReceiptStatus,
|
|
40
|
+
ReleaseMethod as ReleaseMethod,
|
|
41
|
+
AccessPassType as AccessPassType,
|
|
42
|
+
ShipmentStatus as ShipmentStatus,
|
|
43
|
+
SupportChannel as SupportChannel,
|
|
44
|
+
InvoiceListItem as InvoiceListItem,
|
|
45
|
+
ProductListItem as ProductListItem,
|
|
46
|
+
ShipmentCarrier as ShipmentCarrier,
|
|
47
|
+
AppBuildStatuses as AppBuildStatuses,
|
|
48
|
+
CollectionMethod as CollectionMethod,
|
|
49
|
+
MembershipStatus as MembershipStatus,
|
|
50
|
+
VisibilityFilter as VisibilityFilter,
|
|
51
|
+
AppBuildPlatforms as AppBuildPlatforms,
|
|
52
|
+
ShipmentSubstatus as ShipmentSubstatus,
|
|
53
|
+
AuthorizedUserRoles as AuthorizedUserRoles,
|
|
54
|
+
CheckoutConfiguration as CheckoutConfiguration,
|
|
55
|
+
FriendlyReceiptStatus as FriendlyReceiptStatus,
|
|
56
|
+
GlobalAffiliateStatus as GlobalAffiliateStatus,
|
|
57
|
+
CourseLessonInteraction as CourseLessonInteraction,
|
|
58
|
+
CourseLessonInteractionListItem as CourseLessonInteractionListItem,
|
|
59
|
+
)
|
|
60
|
+
from .app_list_params import AppListParams as AppListParams
|
|
61
|
+
from .plan_list_params import PlanListParams as PlanListParams
|
|
62
|
+
from .app_create_params import AppCreateParams as AppCreateParams
|
|
63
|
+
from .app_list_response import AppListResponse as AppListResponse
|
|
64
|
+
from .app_update_params import AppUpdateParams as AppUpdateParams
|
|
65
|
+
from .entry_list_params import EntryListParams as EntryListParams
|
|
66
|
+
from .plan_create_params import PlanCreateParams as PlanCreateParams
|
|
67
|
+
from .plan_list_response import PlanListResponse as PlanListResponse
|
|
68
|
+
from .plan_update_params import PlanUpdateParams as PlanUpdateParams
|
|
69
|
+
from .entry_list_response import EntryListResponse as EntryListResponse
|
|
70
|
+
from .invoice_list_params import InvoiceListParams as InvoiceListParams
|
|
71
|
+
from .message_list_params import MessageListParams as MessageListParams
|
|
72
|
+
from .payment_list_params import PaymentListParams as PaymentListParams
|
|
73
|
+
from .product_list_params import ProductListParams as ProductListParams
|
|
74
|
+
from .plan_delete_response import PlanDeleteResponse as PlanDeleteResponse
|
|
75
|
+
from .reaction_list_params import ReactionListParams as ReactionListParams
|
|
76
|
+
from .shipment_list_params import ShipmentListParams as ShipmentListParams
|
|
77
|
+
from .transfer_list_params import TransferListParams as TransferListParams
|
|
78
|
+
from .unwrap_webhook_event import UnwrapWebhookEvent as UnwrapWebhookEvent
|
|
79
|
+
from .app_build_list_params import AppBuildListParams as AppBuildListParams
|
|
80
|
+
from .invoice_create_params import InvoiceCreateParams as InvoiceCreateParams
|
|
81
|
+
from .invoice_void_response import InvoiceVoidResponse as InvoiceVoidResponse
|
|
82
|
+
from .message_create_params import MessageCreateParams as MessageCreateParams
|
|
83
|
+
from .message_list_response import MessageListResponse as MessageListResponse
|
|
84
|
+
from .payment_list_response import PaymentListResponse as PaymentListResponse
|
|
85
|
+
from .payment_refund_params import PaymentRefundParams as PaymentRefundParams
|
|
86
|
+
from .product_create_params import ProductCreateParams as ProductCreateParams
|
|
87
|
+
from .product_update_params import ProductUpdateParams as ProductUpdateParams
|
|
88
|
+
from .entry_approve_response import EntryApproveResponse as EntryApproveResponse
|
|
89
|
+
from .experience_list_params import ExperienceListParams as ExperienceListParams
|
|
90
|
+
from .forum_post_list_params import ForumPostListParams as ForumPostListParams
|
|
91
|
+
from .membership_list_params import MembershipListParams as MembershipListParams
|
|
92
|
+
from .reaction_create_params import ReactionCreateParams as ReactionCreateParams
|
|
93
|
+
from .reaction_list_response import ReactionListResponse as ReactionListResponse
|
|
94
|
+
from .shipment_create_params import ShipmentCreateParams as ShipmentCreateParams
|
|
95
|
+
from .shipment_list_response import ShipmentListResponse as ShipmentListResponse
|
|
96
|
+
from .transfer_create_params import TransferCreateParams as TransferCreateParams
|
|
97
|
+
from .transfer_list_response import TransferListResponse as TransferListResponse
|
|
98
|
+
from .user_retrieve_response import UserRetrieveResponse as UserRetrieveResponse
|
|
99
|
+
from .app_build_create_params import AppBuildCreateParams as AppBuildCreateParams
|
|
100
|
+
from .app_build_list_response import AppBuildListResponse as AppBuildListResponse
|
|
101
|
+
from .invoice_create_response import InvoiceCreateResponse as InvoiceCreateResponse
|
|
102
|
+
from .membership_pause_params import MembershipPauseParams as MembershipPauseParams
|
|
103
|
+
from .product_delete_response import ProductDeleteResponse as ProductDeleteResponse
|
|
104
|
+
from .chat_channel_list_params import ChatChannelListParams as ChatChannelListParams
|
|
105
|
+
from .experience_attach_params import ExperienceAttachParams as ExperienceAttachParams
|
|
106
|
+
from .experience_create_params import ExperienceCreateParams as ExperienceCreateParams
|
|
107
|
+
from .experience_detach_params import ExperienceDetachParams as ExperienceDetachParams
|
|
108
|
+
from .experience_list_response import ExperienceListResponse as ExperienceListResponse
|
|
109
|
+
from .experience_update_params import ExperienceUpdateParams as ExperienceUpdateParams
|
|
110
|
+
from .forum_post_create_params import ForumPostCreateParams as ForumPostCreateParams
|
|
111
|
+
from .forum_post_list_response import ForumPostListResponse as ForumPostListResponse
|
|
112
|
+
from .membership_cancel_params import MembershipCancelParams as MembershipCancelParams
|
|
113
|
+
from .membership_list_response import MembershipListResponse as MembershipListResponse
|
|
114
|
+
from .membership_update_params import MembershipUpdateParams as MembershipUpdateParams
|
|
115
|
+
from .chat_channel_list_response import ChatChannelListResponse as ChatChannelListResponse
|
|
116
|
+
from .chat_channel_update_params import ChatChannelUpdateParams as ChatChannelUpdateParams
|
|
117
|
+
from .experience_delete_response import ExperienceDeleteResponse as ExperienceDeleteResponse
|
|
118
|
+
from .invoice_paid_webhook_event import InvoicePaidWebhookEvent as InvoicePaidWebhookEvent
|
|
119
|
+
from .user_check_access_response import UserCheckAccessResponse as UserCheckAccessResponse
|
|
120
|
+
from .authorized_user_list_params import AuthorizedUserListParams as AuthorizedUserListParams
|
|
121
|
+
from .support_channel_list_params import SupportChannelListParams as SupportChannelListParams
|
|
122
|
+
from .invoice_voided_webhook_event import InvoiceVoidedWebhookEvent as InvoiceVoidedWebhookEvent
|
|
123
|
+
from .authorized_user_list_response import AuthorizedUserListResponse as AuthorizedUserListResponse
|
|
124
|
+
from .invoice_created_webhook_event import InvoiceCreatedWebhookEvent as InvoiceCreatedWebhookEvent
|
|
125
|
+
from .support_channel_create_params import SupportChannelCreateParams as SupportChannelCreateParams
|
|
126
|
+
from .support_channel_list_response import SupportChannelListResponse as SupportChannelListResponse
|
|
127
|
+
from .invoice_past_due_webhook_event import InvoicePastDueWebhookEvent as InvoicePastDueWebhookEvent
|
|
128
|
+
from .ledger_account_retrieve_response import LedgerAccountRetrieveResponse as LedgerAccountRetrieveResponse
|
|
129
|
+
from .authorized_user_retrieve_response import AuthorizedUserRetrieveResponse as AuthorizedUserRetrieveResponse
|
|
130
|
+
from .checkout_configuration_list_params import CheckoutConfigurationListParams as CheckoutConfigurationListParams
|
|
131
|
+
from .checkout_configuration_create_params import CheckoutConfigurationCreateParams as CheckoutConfigurationCreateParams
|
|
132
|
+
from .checkout_configuration_list_response import CheckoutConfigurationListResponse as CheckoutConfigurationListResponse
|
|
133
|
+
from .course_lesson_interaction_list_params import (
|
|
134
|
+
CourseLessonInteractionListParams as CourseLessonInteractionListParams,
|
|
135
|
+
)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import List, Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from .shared.app_view_type import AppViewType
|
|
9
|
+
from .shared.app_build_platforms import AppBuildPlatforms
|
|
10
|
+
|
|
11
|
+
__all__ = ["AppBuildCreateParams", "Attachment"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AppBuildCreateParams(TypedDict, total=False):
|
|
15
|
+
attachment: Required[Attachment]
|
|
16
|
+
"""Attachment input for the app build file.
|
|
17
|
+
|
|
18
|
+
This should be an upload in .zip format. The zip should contain at least one
|
|
19
|
+
main_js_bundle.hbc file and optionally an assets folder next to it.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
checksum: Required[str]
|
|
23
|
+
"""Checksum of the app build file.
|
|
24
|
+
|
|
25
|
+
This is generated by the client and used to verify the integrity of the file
|
|
26
|
+
that is submitted when un-packaged later on a device.
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
platform: Required[AppBuildPlatforms]
|
|
30
|
+
"""The platform of the app build (ios, android, web)"""
|
|
31
|
+
|
|
32
|
+
app_id: Optional[str]
|
|
33
|
+
"""The ID of the app to create a build for.
|
|
34
|
+
|
|
35
|
+
By default the current app from the api key is used.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
supported_app_view_types: Optional[List[AppViewType]]
|
|
39
|
+
"""Supported app view types for the app build.
|
|
40
|
+
|
|
41
|
+
A build can specify multiple view types, but should only specify ones that its
|
|
42
|
+
code supports.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class Attachment(TypedDict, total=False):
|
|
47
|
+
id: Optional[str]
|
|
48
|
+
"""The ID of an existing attachment object.
|
|
49
|
+
|
|
50
|
+
Use this when updating a resource and keeping a subset of the attachments. Don't
|
|
51
|
+
use this unless you know what you're doing.
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
direct_upload_id: Optional[str]
|
|
55
|
+
"""This ID should be used the first time you upload an attachment.
|
|
56
|
+
|
|
57
|
+
It is the ID of the direct upload that was created when uploading the file to S3
|
|
58
|
+
via the mediaDirectUpload mutation.
|
|
59
|
+
"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
from .shared.app_build_statuses import AppBuildStatuses
|
|
9
|
+
from .shared.app_build_platforms import AppBuildPlatforms
|
|
10
|
+
|
|
11
|
+
__all__ = ["AppBuildListParams"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AppBuildListParams(TypedDict, total=False):
|
|
15
|
+
app_id: Required[str]
|
|
16
|
+
"""The ID of the app to filter app builds by"""
|
|
17
|
+
|
|
18
|
+
after: Optional[str]
|
|
19
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
20
|
+
|
|
21
|
+
before: Optional[str]
|
|
22
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
23
|
+
|
|
24
|
+
first: Optional[int]
|
|
25
|
+
"""Returns the first _n_ elements from the list."""
|
|
26
|
+
|
|
27
|
+
last: Optional[int]
|
|
28
|
+
"""Returns the last _n_ elements from the list."""
|
|
29
|
+
|
|
30
|
+
platform: Optional[AppBuildPlatforms]
|
|
31
|
+
"""The different platforms an app build can target."""
|
|
32
|
+
|
|
33
|
+
status: Optional[AppBuildStatuses]
|
|
34
|
+
"""The different statuses an AppBuild can be in."""
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import List, Optional
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
|
|
6
|
+
from .._models import BaseModel
|
|
7
|
+
from .shared.app_view_type import AppViewType
|
|
8
|
+
from .shared.app_build_statuses import AppBuildStatuses
|
|
9
|
+
from .shared.app_build_platforms import AppBuildPlatforms
|
|
10
|
+
|
|
11
|
+
__all__ = ["AppBuildListResponse"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AppBuildListResponse(BaseModel):
|
|
15
|
+
id: str
|
|
16
|
+
"""The ID of the app build. It will look like apbu_xxxxx."""
|
|
17
|
+
|
|
18
|
+
checksum: str
|
|
19
|
+
"""
|
|
20
|
+
This is generated by the client and used to verify the integrity of the file
|
|
21
|
+
that is submitted. It is a SHA256 hash of the app build file.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
created_at: datetime
|
|
25
|
+
"""When this app build was created."""
|
|
26
|
+
|
|
27
|
+
file_url: str
|
|
28
|
+
"""The URL to download the app build .zip file."""
|
|
29
|
+
|
|
30
|
+
is_production: bool
|
|
31
|
+
"""Whether this app build is currently being used in production."""
|
|
32
|
+
|
|
33
|
+
platform: AppBuildPlatforms
|
|
34
|
+
"""The platform of the app build (ios, android, web)"""
|
|
35
|
+
|
|
36
|
+
review_message: Optional[str] = None
|
|
37
|
+
"""The review message for the app build, if any.
|
|
38
|
+
|
|
39
|
+
This is populated when the build is rejected and there is a reason specified by
|
|
40
|
+
the reviewer.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
status: AppBuildStatuses
|
|
44
|
+
"""The status of the app build (draft, approved, rejected, pending, etc)"""
|
|
45
|
+
|
|
46
|
+
supported_app_view_types: List[AppViewType]
|
|
47
|
+
"""The supported app view types for the app build.
|
|
48
|
+
|
|
49
|
+
These are the views that the developer has specified that this build supports.
|
|
50
|
+
"""
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Required, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = ["AppCreateParams"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class AppCreateParams(TypedDict, total=False):
|
|
12
|
+
company_id: Required[str]
|
|
13
|
+
"""The ID of the company to create the app for"""
|
|
14
|
+
|
|
15
|
+
name: Required[str]
|
|
16
|
+
"""The name of the app to be created"""
|
|
17
|
+
|
|
18
|
+
base_url: Optional[str]
|
|
19
|
+
"""The base URL of the app to be created"""
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from typing_extensions import Literal, TypedDict
|
|
7
|
+
|
|
8
|
+
from .shared.direction import Direction
|
|
9
|
+
from .shared.app_view_type import AppViewType
|
|
10
|
+
|
|
11
|
+
__all__ = ["AppListParams"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AppListParams(TypedDict, total=False):
|
|
15
|
+
after: Optional[str]
|
|
16
|
+
"""Returns the elements in the list that come after the specified cursor."""
|
|
17
|
+
|
|
18
|
+
before: Optional[str]
|
|
19
|
+
"""Returns the elements in the list that come before the specified cursor."""
|
|
20
|
+
|
|
21
|
+
company_id: Optional[str]
|
|
22
|
+
"""The ID of the company to filter apps by"""
|
|
23
|
+
|
|
24
|
+
direction: Optional[Direction]
|
|
25
|
+
"""The direction of the sort."""
|
|
26
|
+
|
|
27
|
+
first: Optional[int]
|
|
28
|
+
"""Returns the first _n_ elements from the list."""
|
|
29
|
+
|
|
30
|
+
last: Optional[int]
|
|
31
|
+
"""Returns the last _n_ elements from the list."""
|
|
32
|
+
|
|
33
|
+
order: Optional[
|
|
34
|
+
Literal[
|
|
35
|
+
"discoverable_at",
|
|
36
|
+
"total_installs_last_30_days",
|
|
37
|
+
"time_spent",
|
|
38
|
+
"time_spent_last_24_hours",
|
|
39
|
+
"daily_active_users",
|
|
40
|
+
]
|
|
41
|
+
]
|
|
42
|
+
"""The order to fetch the apps in for discovery."""
|
|
43
|
+
|
|
44
|
+
query: Optional[str]
|
|
45
|
+
"""The query to search for apps by name."""
|
|
46
|
+
|
|
47
|
+
verified_apps_only: Optional[bool]
|
|
48
|
+
"""If true, you will only get apps that are verified by Whop.
|
|
49
|
+
|
|
50
|
+
Use this to populate a 'featured apps' section on the app store.
|
|
51
|
+
"""
|
|
52
|
+
|
|
53
|
+
view_type: Optional[AppViewType]
|
|
54
|
+
"""The different types of an app view"""
|