pingram-python 0.1.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.
Files changed (189) hide show
  1. pingram/__init__.py +395 -0
  2. pingram/api/__init__.py +21 -0
  3. pingram/api/account_api.py +2198 -0
  4. pingram/api/addresses_api.py +860 -0
  5. pingram/api/components_api.py +1681 -0
  6. pingram/api/default_api.py +320 -0
  7. pingram/api/domains_api.py +849 -0
  8. pingram/api/editor_api.py +320 -0
  9. pingram/api/environments_api.py +878 -0
  10. pingram/api/health_api.py +287 -0
  11. pingram/api/insights_api.py +321 -0
  12. pingram/api/keys_api.py +849 -0
  13. pingram/api/logs_api.py +1632 -0
  14. pingram/api/members_api.py +1780 -0
  15. pingram/api/sender_api.py +892 -0
  16. pingram/api/templates_api.py +1889 -0
  17. pingram/api/types_api.py +1411 -0
  18. pingram/api/user_api.py +2534 -0
  19. pingram/api/users_api.py +936 -0
  20. pingram/api_client.py +807 -0
  21. pingram/api_response.py +21 -0
  22. pingram/client_wrapper.py +357 -0
  23. pingram/configuration.py +623 -0
  24. pingram/exceptions.py +219 -0
  25. pingram/models/__init__.py +173 -0
  26. pingram/models/account_addresses_response.py +95 -0
  27. pingram/models/account_addresses_response_addresses_inner.py +104 -0
  28. pingram/models/account_get_response.py +143 -0
  29. pingram/models/account_get_response_pending_downgrade_usage_limit.py +99 -0
  30. pingram/models/address_response.py +91 -0
  31. pingram/models/auto_join_get_response.py +89 -0
  32. pingram/models/auto_join_post_response.py +89 -0
  33. pingram/models/auto_join_request_body.py +87 -0
  34. pingram/models/bee_token_v2.py +89 -0
  35. pingram/models/billing_post_request_body.py +91 -0
  36. pingram/models/billing_post_response_body.py +149 -0
  37. pingram/models/billing_post_response_body_pending_downgrade_usage_limit.py +99 -0
  38. pingram/models/channels_enum.py +42 -0
  39. pingram/models/create_account_request_body.py +87 -0
  40. pingram/models/create_account_response.py +89 -0
  41. pingram/models/create_address_request.py +91 -0
  42. pingram/models/create_key_request.py +98 -0
  43. pingram/models/create_key_response.py +104 -0
  44. pingram/models/delete_key_response.py +87 -0
  45. pingram/models/delete_user_response.py +87 -0
  46. pingram/models/email_auth_token_post_request.py +87 -0
  47. pingram/models/email_component_patch_request.py +93 -0
  48. pingram/models/email_component_post_request.py +95 -0
  49. pingram/models/email_component_response.py +120 -0
  50. pingram/models/email_component_response_referenced_by_inner.py +92 -0
  51. pingram/models/environment.py +96 -0
  52. pingram/models/environment_create_request.py +87 -0
  53. pingram/models/environment_patch_request.py +94 -0
  54. pingram/models/get_account_metadata_response.py +91 -0
  55. pingram/models/get_account_metadata_response_user_account_metadata.py +91 -0
  56. pingram/models/get_email_components_response_inner.py +120 -0
  57. pingram/models/get_environments_response_inner.py +96 -0
  58. pingram/models/get_inapp_notifications_response.py +95 -0
  59. pingram/models/get_inapp_notifications_response_notifications_inner.py +137 -0
  60. pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.py +106 -0
  61. pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.py +93 -0
  62. pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.py +87 -0
  63. pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.py +89 -0
  64. pingram/models/get_inapp_notifications_response_notifications_inner_template.py +136 -0
  65. pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.py +98 -0
  66. pingram/models/get_keys_response.py +95 -0
  67. pingram/models/get_keys_response_keys_inner.py +110 -0
  68. pingram/models/get_logs_response.py +97 -0
  69. pingram/models/get_logs_response_messages_inner.py +141 -0
  70. pingram/models/get_logs_response_messages_inner_attachments_inner.py +93 -0
  71. pingram/models/get_members_response_inner.py +95 -0
  72. pingram/models/get_metrics_response_inner.py +116 -0
  73. pingram/models/get_metrics_response_inner_messages_inner.py +89 -0
  74. pingram/models/get_notifications_response_inner.py +126 -0
  75. pingram/models/get_notifications_response_inner_deduplication.py +87 -0
  76. pingram/models/get_notifications_response_inner_options.py +122 -0
  77. pingram/models/get_notifications_response_inner_options_email.py +128 -0
  78. pingram/models/get_notifications_response_inner_options_email_daily.py +89 -0
  79. pingram/models/get_notifications_response_inner_options_email_monthly.py +101 -0
  80. pingram/models/get_notifications_response_inner_options_email_weekly.py +91 -0
  81. pingram/models/get_notifications_response_inner_templates_inner.py +90 -0
  82. pingram/models/get_notifications_response_inner_throttling.py +111 -0
  83. pingram/models/get_senders_response_inner.py +128 -0
  84. pingram/models/get_templates_response.py +136 -0
  85. pingram/models/get_users_response.py +99 -0
  86. pingram/models/get_users_response_users_inner.py +133 -0
  87. pingram/models/get_users_response_users_inner_email_suppression_status.py +96 -0
  88. pingram/models/get_users_response_users_inner_push_tokens_inner.py +104 -0
  89. pingram/models/get_users_response_users_inner_push_tokens_inner_device.py +97 -0
  90. pingram/models/get_users_response_users_inner_slack_token.py +140 -0
  91. pingram/models/get_users_response_users_inner_slack_token_authed_user.py +97 -0
  92. pingram/models/get_users_response_users_inner_slack_token_enterprise.py +89 -0
  93. pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.py +93 -0
  94. pingram/models/get_users_response_users_inner_slack_token_response_metadata.py +97 -0
  95. pingram/models/get_users_response_users_inner_web_push_tokens_inner.py +91 -0
  96. pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.py +93 -0
  97. pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.py +89 -0
  98. pingram/models/in_app_notification_patch_request.py +112 -0
  99. pingram/models/in_app_notification_unread_clear_request.py +89 -0
  100. pingram/models/inapp_unread_count_response.py +87 -0
  101. pingram/models/inbound_request_body.py +138 -0
  102. pingram/models/inbound_response_body.py +104 -0
  103. pingram/models/inbound_response_body_results_inner.py +103 -0
  104. pingram/models/ingishts_post_request.py +121 -0
  105. pingram/models/ingishts_post_request_label_options.py +87 -0
  106. pingram/models/ingishts_post_request_metric_data_queries_inner.py +103 -0
  107. pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.py +107 -0
  108. pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.py +99 -0
  109. pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.py +89 -0
  110. pingram/models/intercom_webhook.py +106 -0
  111. pingram/models/intercom_webhook_data.py +91 -0
  112. pingram/models/intercom_webhook_data_item.py +136 -0
  113. pingram/models/intercom_webhook_data_item_any_of.py +140 -0
  114. pingram/models/intercom_webhook_data_item_any_of_contacts.py +104 -0
  115. pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.py +91 -0
  116. pingram/models/intercom_webhook_data_item_any_of_source.py +101 -0
  117. pingram/models/intercom_webhook_data_item_any_of_source_author.py +93 -0
  118. pingram/models/invite_post_response.py +89 -0
  119. pingram/models/log_query_post_body.py +109 -0
  120. pingram/models/logs_bulk_request.py +87 -0
  121. pingram/models/logs_get_response.py +95 -0
  122. pingram/models/logs_get_response_logs_inner.py +627 -0
  123. pingram/models/logs_query_response.py +87 -0
  124. pingram/models/logs_query_result_response.py +101 -0
  125. pingram/models/logs_retention_response.py +87 -0
  126. pingram/models/logs_tail_response.py +95 -0
  127. pingram/models/member_invite_request.py +89 -0
  128. pingram/models/member_update_request.py +87 -0
  129. pingram/models/message_response.py +87 -0
  130. pingram/models/notification.py +126 -0
  131. pingram/models/notification_create_request.py +97 -0
  132. pingram/models/notification_patch_request.py +112 -0
  133. pingram/models/post_email_test_request.py +99 -0
  134. pingram/models/post_email_test_response.py +89 -0
  135. pingram/models/post_senders_request_body.py +87 -0
  136. pingram/models/post_user_request.py +121 -0
  137. pingram/models/sender_post_body.py +166 -0
  138. pingram/models/sender_post_body_email.py +95 -0
  139. pingram/models/sender_post_body_inapp.py +91 -0
  140. pingram/models/sender_post_body_mobile_push.py +89 -0
  141. pingram/models/sender_post_body_options.py +103 -0
  142. pingram/models/sender_post_body_options_apn.py +99 -0
  143. pingram/models/sender_post_body_options_email.py +107 -0
  144. pingram/models/sender_post_body_options_email_attachments_inner.py +134 -0
  145. pingram/models/sender_post_body_options_email_attachments_inner_any_of.py +89 -0
  146. pingram/models/sender_post_body_options_email_attachments_inner_any_of1.py +91 -0
  147. pingram/models/sender_post_body_options_fcm.py +91 -0
  148. pingram/models/sender_post_body_options_fcm_android.py +103 -0
  149. pingram/models/sender_post_body_slack.py +123 -0
  150. pingram/models/sender_post_body_slack_metadata.py +99 -0
  151. pingram/models/sender_post_body_slack_metadata_entities_inner.py +99 -0
  152. pingram/models/sender_post_body_slack_metadata_entities_inner_external_ref.py +89 -0
  153. pingram/models/sender_post_body_sms.py +93 -0
  154. pingram/models/sender_post_body_sms_auto_reply.py +87 -0
  155. pingram/models/sender_post_body_to.py +133 -0
  156. pingram/models/sender_post_body_user.py +133 -0
  157. pingram/models/sender_post_body_web_push.py +93 -0
  158. pingram/models/sender_post_response.py +89 -0
  159. pingram/models/set_default_template_request.py +97 -0
  160. pingram/models/slack_interactivity_response.py +87 -0
  161. pingram/models/slack_oauth_request.py +89 -0
  162. pingram/models/success_response.py +87 -0
  163. pingram/models/supabase_configure_request.py +93 -0
  164. pingram/models/supabase_configure_response.py +89 -0
  165. pingram/models/supabase_o_auth_request.py +91 -0
  166. pingram/models/supabase_o_auth_response.py +89 -0
  167. pingram/models/supabase_projects_response.py +95 -0
  168. pingram/models/supabase_projects_response_projects_inner.py +95 -0
  169. pingram/models/supabase_status_response.py +93 -0
  170. pingram/models/template.py +98 -0
  171. pingram/models/template_patch_request.py +134 -0
  172. pingram/models/template_patch_request_any_of.py +97 -0
  173. pingram/models/template_patch_request_any_of1.py +103 -0
  174. pingram/models/template_patch_request_any_of1_batch.py +91 -0
  175. pingram/models/template_patch_request_any_of1_instant.py +91 -0
  176. pingram/models/template_post_request.py +131 -0
  177. pingram/models/template_post_request_batch.py +91 -0
  178. pingram/models/template_post_request_instant.py +91 -0
  179. pingram/models/update_address_request.py +91 -0
  180. pingram/models/user.py +133 -0
  181. pingram/models/user_suppression_delete_response.py +91 -0
  182. pingram/models/webhook_response.py +104 -0
  183. pingram/py.typed +0 -0
  184. pingram/rest.py +199 -0
  185. pingram_python-0.1.0.dist-info/METADATA +69 -0
  186. pingram_python-0.1.0.dist-info/RECORD +189 -0
  187. pingram_python-0.1.0.dist-info/WHEEL +5 -0
  188. pingram_python-0.1.0.dist-info/licenses/LICENSE +21 -0
  189. pingram_python-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,2198 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ NotificationAPI
5
+
6
+ Internal API for notification delivery and management
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ import warnings
15
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
+ from typing import Any, Dict, List, Optional, Tuple, Union
17
+ from typing_extensions import Annotated
18
+
19
+ from pingram.models.account_get_response import AccountGetResponse
20
+ from pingram.models.billing_post_request_body import BillingPostRequestBody
21
+ from pingram.models.billing_post_response_body import BillingPostResponseBody
22
+ from pingram.models.create_account_request_body import CreateAccountRequestBody
23
+ from pingram.models.create_account_response import CreateAccountResponse
24
+ from pingram.models.supabase_configure_request import SupabaseConfigureRequest
25
+ from pingram.models.supabase_configure_response import SupabaseConfigureResponse
26
+ from pingram.models.supabase_o_auth_request import SupabaseOAuthRequest
27
+ from pingram.models.supabase_o_auth_response import SupabaseOAuthResponse
28
+ from pingram.models.supabase_projects_response import SupabaseProjectsResponse
29
+ from pingram.models.supabase_status_response import SupabaseStatusResponse
30
+
31
+ from pingram.api_client import ApiClient, RequestSerialized
32
+ from pingram.api_response import ApiResponse
33
+ from pingram.rest import RESTResponseType
34
+
35
+
36
+ class AccountApi:
37
+ """NOTE: This class is auto generated by OpenAPI Generator
38
+ Ref: https://openapi-generator.tech
39
+
40
+ Do not edit the class manually.
41
+ """
42
+
43
+ def __init__(self, api_client=None) -> None:
44
+ if api_client is None:
45
+ api_client = ApiClient.get_default()
46
+ self.api_client = api_client
47
+
48
+
49
+ @validate_call
50
+ async def account_configure_supabase_smtp(
51
+ self,
52
+ supabase_configure_request: SupabaseConfigureRequest,
53
+ _request_timeout: Union[
54
+ None,
55
+ Annotated[StrictFloat, Field(gt=0)],
56
+ Tuple[
57
+ Annotated[StrictFloat, Field(gt=0)],
58
+ Annotated[StrictFloat, Field(gt=0)]
59
+ ]
60
+ ] = None,
61
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
62
+ _content_type: Optional[StrictStr] = None,
63
+ _headers: Optional[Dict[StrictStr, Any]] = None,
64
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
65
+ ) -> SupabaseConfigureResponse:
66
+ """Configure SMTP settings for a Supabase project
67
+
68
+
69
+ :param supabase_configure_request: (required)
70
+ :type supabase_configure_request: SupabaseConfigureRequest
71
+ :param _request_timeout: timeout setting for this request. If one
72
+ number provided, it will be total request
73
+ timeout. It can also be a pair (tuple) of
74
+ (connection, read) timeouts.
75
+ :type _request_timeout: int, tuple(int, int), optional
76
+ :param _request_auth: set to override the auth_settings for an a single
77
+ request; this effectively ignores the
78
+ authentication in the spec for a single request.
79
+ :type _request_auth: dict, optional
80
+ :param _content_type: force content-type for the request.
81
+ :type _content_type: str, Optional
82
+ :param _headers: set to override the headers for a single
83
+ request; this effectively ignores the headers
84
+ in the spec for a single request.
85
+ :type _headers: dict, optional
86
+ :param _host_index: set to override the host_index for a single
87
+ request; this effectively ignores the host_index
88
+ in the spec for a single request.
89
+ :type _host_index: int, optional
90
+ :return: Returns the result object.
91
+ """ # noqa: E501
92
+
93
+ _param = self._account_configure_supabase_smtp_serialize(
94
+ supabase_configure_request=supabase_configure_request,
95
+ _request_auth=_request_auth,
96
+ _content_type=_content_type,
97
+ _headers=_headers,
98
+ _host_index=_host_index
99
+ )
100
+
101
+ _response_types_map: Dict[str, Optional[str]] = {
102
+ '200': "SupabaseConfigureResponse",
103
+ '400': None,
104
+ '401': None,
105
+ '500': None,
106
+ }
107
+ response_data = await self.api_client.call_api(
108
+ *_param,
109
+ _request_timeout=_request_timeout
110
+ )
111
+ await response_data.read()
112
+ return self.api_client.response_deserialize(
113
+ response_data=response_data,
114
+ response_types_map=_response_types_map,
115
+ ).data
116
+
117
+
118
+ @validate_call
119
+ async def account_configure_supabase_smtp_with_http_info(
120
+ self,
121
+ supabase_configure_request: SupabaseConfigureRequest,
122
+ _request_timeout: Union[
123
+ None,
124
+ Annotated[StrictFloat, Field(gt=0)],
125
+ Tuple[
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Annotated[StrictFloat, Field(gt=0)]
128
+ ]
129
+ ] = None,
130
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
131
+ _content_type: Optional[StrictStr] = None,
132
+ _headers: Optional[Dict[StrictStr, Any]] = None,
133
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
134
+ ) -> ApiResponse[SupabaseConfigureResponse]:
135
+ """Configure SMTP settings for a Supabase project
136
+
137
+
138
+ :param supabase_configure_request: (required)
139
+ :type supabase_configure_request: SupabaseConfigureRequest
140
+ :param _request_timeout: timeout setting for this request. If one
141
+ number provided, it will be total request
142
+ timeout. It can also be a pair (tuple) of
143
+ (connection, read) timeouts.
144
+ :type _request_timeout: int, tuple(int, int), optional
145
+ :param _request_auth: set to override the auth_settings for an a single
146
+ request; this effectively ignores the
147
+ authentication in the spec for a single request.
148
+ :type _request_auth: dict, optional
149
+ :param _content_type: force content-type for the request.
150
+ :type _content_type: str, Optional
151
+ :param _headers: set to override the headers for a single
152
+ request; this effectively ignores the headers
153
+ in the spec for a single request.
154
+ :type _headers: dict, optional
155
+ :param _host_index: set to override the host_index for a single
156
+ request; this effectively ignores the host_index
157
+ in the spec for a single request.
158
+ :type _host_index: int, optional
159
+ :return: Returns the result object.
160
+ """ # noqa: E501
161
+
162
+ _param = self._account_configure_supabase_smtp_serialize(
163
+ supabase_configure_request=supabase_configure_request,
164
+ _request_auth=_request_auth,
165
+ _content_type=_content_type,
166
+ _headers=_headers,
167
+ _host_index=_host_index
168
+ )
169
+
170
+ _response_types_map: Dict[str, Optional[str]] = {
171
+ '200': "SupabaseConfigureResponse",
172
+ '400': None,
173
+ '401': None,
174
+ '500': None,
175
+ }
176
+ response_data = await self.api_client.call_api(
177
+ *_param,
178
+ _request_timeout=_request_timeout
179
+ )
180
+ await response_data.read()
181
+ return self.api_client.response_deserialize(
182
+ response_data=response_data,
183
+ response_types_map=_response_types_map,
184
+ )
185
+
186
+
187
+ @validate_call
188
+ async def account_configure_supabase_smtp_without_preload_content(
189
+ self,
190
+ supabase_configure_request: SupabaseConfigureRequest,
191
+ _request_timeout: Union[
192
+ None,
193
+ Annotated[StrictFloat, Field(gt=0)],
194
+ Tuple[
195
+ Annotated[StrictFloat, Field(gt=0)],
196
+ Annotated[StrictFloat, Field(gt=0)]
197
+ ]
198
+ ] = None,
199
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
200
+ _content_type: Optional[StrictStr] = None,
201
+ _headers: Optional[Dict[StrictStr, Any]] = None,
202
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
203
+ ) -> RESTResponseType:
204
+ """Configure SMTP settings for a Supabase project
205
+
206
+
207
+ :param supabase_configure_request: (required)
208
+ :type supabase_configure_request: SupabaseConfigureRequest
209
+ :param _request_timeout: timeout setting for this request. If one
210
+ number provided, it will be total request
211
+ timeout. It can also be a pair (tuple) of
212
+ (connection, read) timeouts.
213
+ :type _request_timeout: int, tuple(int, int), optional
214
+ :param _request_auth: set to override the auth_settings for an a single
215
+ request; this effectively ignores the
216
+ authentication in the spec for a single request.
217
+ :type _request_auth: dict, optional
218
+ :param _content_type: force content-type for the request.
219
+ :type _content_type: str, Optional
220
+ :param _headers: set to override the headers for a single
221
+ request; this effectively ignores the headers
222
+ in the spec for a single request.
223
+ :type _headers: dict, optional
224
+ :param _host_index: set to override the host_index for a single
225
+ request; this effectively ignores the host_index
226
+ in the spec for a single request.
227
+ :type _host_index: int, optional
228
+ :return: Returns the result object.
229
+ """ # noqa: E501
230
+
231
+ _param = self._account_configure_supabase_smtp_serialize(
232
+ supabase_configure_request=supabase_configure_request,
233
+ _request_auth=_request_auth,
234
+ _content_type=_content_type,
235
+ _headers=_headers,
236
+ _host_index=_host_index
237
+ )
238
+
239
+ _response_types_map: Dict[str, Optional[str]] = {
240
+ '200': "SupabaseConfigureResponse",
241
+ '400': None,
242
+ '401': None,
243
+ '500': None,
244
+ }
245
+ response_data = await self.api_client.call_api(
246
+ *_param,
247
+ _request_timeout=_request_timeout
248
+ )
249
+ return response_data.response
250
+
251
+
252
+ def _account_configure_supabase_smtp_serialize(
253
+ self,
254
+ supabase_configure_request,
255
+ _request_auth,
256
+ _content_type,
257
+ _headers,
258
+ _host_index,
259
+ ) -> RequestSerialized:
260
+
261
+ _host = None
262
+
263
+ _collection_formats: Dict[str, str] = {
264
+ }
265
+
266
+ _path_params: Dict[str, str] = {}
267
+ _query_params: List[Tuple[str, str]] = []
268
+ _header_params: Dict[str, Optional[str]] = _headers or {}
269
+ _form_params: List[Tuple[str, str]] = []
270
+ _files: Dict[
271
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
272
+ ] = {}
273
+ _body_params: Optional[bytes] = None
274
+
275
+ # process the path parameters
276
+ # process the query parameters
277
+ # process the header parameters
278
+ # process the form parameters
279
+ # process the body parameter
280
+ if supabase_configure_request is not None:
281
+ _body_params = supabase_configure_request
282
+
283
+
284
+ # set the HTTP header `Accept`
285
+ if 'Accept' not in _header_params:
286
+ _header_params['Accept'] = self.api_client.select_header_accept(
287
+ [
288
+ 'application/json'
289
+ ]
290
+ )
291
+
292
+ # set the HTTP header `Content-Type`
293
+ if _content_type:
294
+ _header_params['Content-Type'] = _content_type
295
+ else:
296
+ _default_content_type = (
297
+ self.api_client.select_header_content_type(
298
+ [
299
+ 'application/json'
300
+ ]
301
+ )
302
+ )
303
+ if _default_content_type is not None:
304
+ _header_params['Content-Type'] = _default_content_type
305
+
306
+ # authentication setting
307
+ _auth_settings: List[str] = [
308
+ 'endUserHashed',
309
+ 'endUser',
310
+ 'apiKey',
311
+ 'clientCredentials'
312
+ ]
313
+
314
+ return self.api_client.param_serialize(
315
+ method='POST',
316
+ resource_path='/account/supabase/configure',
317
+ path_params=_path_params,
318
+ query_params=_query_params,
319
+ header_params=_header_params,
320
+ body=_body_params,
321
+ post_params=_form_params,
322
+ files=_files,
323
+ auth_settings=_auth_settings,
324
+ collection_formats=_collection_formats,
325
+ _host=_host,
326
+ _request_auth=_request_auth
327
+ )
328
+
329
+
330
+
331
+
332
+ @validate_call
333
+ async def account_get_account_details(
334
+ self,
335
+ _request_timeout: Union[
336
+ None,
337
+ Annotated[StrictFloat, Field(gt=0)],
338
+ Tuple[
339
+ Annotated[StrictFloat, Field(gt=0)],
340
+ Annotated[StrictFloat, Field(gt=0)]
341
+ ]
342
+ ] = None,
343
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
344
+ _content_type: Optional[StrictStr] = None,
345
+ _headers: Optional[Dict[StrictStr, Any]] = None,
346
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
347
+ ) -> AccountGetResponse:
348
+ """Get account information for the authenticated user
349
+
350
+
351
+ :param _request_timeout: timeout setting for this request. If one
352
+ number provided, it will be total request
353
+ timeout. It can also be a pair (tuple) of
354
+ (connection, read) timeouts.
355
+ :type _request_timeout: int, tuple(int, int), optional
356
+ :param _request_auth: set to override the auth_settings for an a single
357
+ request; this effectively ignores the
358
+ authentication in the spec for a single request.
359
+ :type _request_auth: dict, optional
360
+ :param _content_type: force content-type for the request.
361
+ :type _content_type: str, Optional
362
+ :param _headers: set to override the headers for a single
363
+ request; this effectively ignores the headers
364
+ in the spec for a single request.
365
+ :type _headers: dict, optional
366
+ :param _host_index: set to override the host_index for a single
367
+ request; this effectively ignores the host_index
368
+ in the spec for a single request.
369
+ :type _host_index: int, optional
370
+ :return: Returns the result object.
371
+ """ # noqa: E501
372
+
373
+ _param = self._account_get_account_details_serialize(
374
+ _request_auth=_request_auth,
375
+ _content_type=_content_type,
376
+ _headers=_headers,
377
+ _host_index=_host_index
378
+ )
379
+
380
+ _response_types_map: Dict[str, Optional[str]] = {
381
+ '200': "AccountGetResponse",
382
+ '400': None,
383
+ '401': None,
384
+ '500': None,
385
+ }
386
+ response_data = await self.api_client.call_api(
387
+ *_param,
388
+ _request_timeout=_request_timeout
389
+ )
390
+ await response_data.read()
391
+ return self.api_client.response_deserialize(
392
+ response_data=response_data,
393
+ response_types_map=_response_types_map,
394
+ ).data
395
+
396
+
397
+ @validate_call
398
+ async def account_get_account_details_with_http_info(
399
+ self,
400
+ _request_timeout: Union[
401
+ None,
402
+ Annotated[StrictFloat, Field(gt=0)],
403
+ Tuple[
404
+ Annotated[StrictFloat, Field(gt=0)],
405
+ Annotated[StrictFloat, Field(gt=0)]
406
+ ]
407
+ ] = None,
408
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
409
+ _content_type: Optional[StrictStr] = None,
410
+ _headers: Optional[Dict[StrictStr, Any]] = None,
411
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
412
+ ) -> ApiResponse[AccountGetResponse]:
413
+ """Get account information for the authenticated user
414
+
415
+
416
+ :param _request_timeout: timeout setting for this request. If one
417
+ number provided, it will be total request
418
+ timeout. It can also be a pair (tuple) of
419
+ (connection, read) timeouts.
420
+ :type _request_timeout: int, tuple(int, int), optional
421
+ :param _request_auth: set to override the auth_settings for an a single
422
+ request; this effectively ignores the
423
+ authentication in the spec for a single request.
424
+ :type _request_auth: dict, optional
425
+ :param _content_type: force content-type for the request.
426
+ :type _content_type: str, Optional
427
+ :param _headers: set to override the headers for a single
428
+ request; this effectively ignores the headers
429
+ in the spec for a single request.
430
+ :type _headers: dict, optional
431
+ :param _host_index: set to override the host_index for a single
432
+ request; this effectively ignores the host_index
433
+ in the spec for a single request.
434
+ :type _host_index: int, optional
435
+ :return: Returns the result object.
436
+ """ # noqa: E501
437
+
438
+ _param = self._account_get_account_details_serialize(
439
+ _request_auth=_request_auth,
440
+ _content_type=_content_type,
441
+ _headers=_headers,
442
+ _host_index=_host_index
443
+ )
444
+
445
+ _response_types_map: Dict[str, Optional[str]] = {
446
+ '200': "AccountGetResponse",
447
+ '400': None,
448
+ '401': None,
449
+ '500': None,
450
+ }
451
+ response_data = await self.api_client.call_api(
452
+ *_param,
453
+ _request_timeout=_request_timeout
454
+ )
455
+ await response_data.read()
456
+ return self.api_client.response_deserialize(
457
+ response_data=response_data,
458
+ response_types_map=_response_types_map,
459
+ )
460
+
461
+
462
+ @validate_call
463
+ async def account_get_account_details_without_preload_content(
464
+ self,
465
+ _request_timeout: Union[
466
+ None,
467
+ Annotated[StrictFloat, Field(gt=0)],
468
+ Tuple[
469
+ Annotated[StrictFloat, Field(gt=0)],
470
+ Annotated[StrictFloat, Field(gt=0)]
471
+ ]
472
+ ] = None,
473
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
474
+ _content_type: Optional[StrictStr] = None,
475
+ _headers: Optional[Dict[StrictStr, Any]] = None,
476
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
477
+ ) -> RESTResponseType:
478
+ """Get account information for the authenticated user
479
+
480
+
481
+ :param _request_timeout: timeout setting for this request. If one
482
+ number provided, it will be total request
483
+ timeout. It can also be a pair (tuple) of
484
+ (connection, read) timeouts.
485
+ :type _request_timeout: int, tuple(int, int), optional
486
+ :param _request_auth: set to override the auth_settings for an a single
487
+ request; this effectively ignores the
488
+ authentication in the spec for a single request.
489
+ :type _request_auth: dict, optional
490
+ :param _content_type: force content-type for the request.
491
+ :type _content_type: str, Optional
492
+ :param _headers: set to override the headers for a single
493
+ request; this effectively ignores the headers
494
+ in the spec for a single request.
495
+ :type _headers: dict, optional
496
+ :param _host_index: set to override the host_index for a single
497
+ request; this effectively ignores the host_index
498
+ in the spec for a single request.
499
+ :type _host_index: int, optional
500
+ :return: Returns the result object.
501
+ """ # noqa: E501
502
+
503
+ _param = self._account_get_account_details_serialize(
504
+ _request_auth=_request_auth,
505
+ _content_type=_content_type,
506
+ _headers=_headers,
507
+ _host_index=_host_index
508
+ )
509
+
510
+ _response_types_map: Dict[str, Optional[str]] = {
511
+ '200': "AccountGetResponse",
512
+ '400': None,
513
+ '401': None,
514
+ '500': None,
515
+ }
516
+ response_data = await self.api_client.call_api(
517
+ *_param,
518
+ _request_timeout=_request_timeout
519
+ )
520
+ return response_data.response
521
+
522
+
523
+ def _account_get_account_details_serialize(
524
+ self,
525
+ _request_auth,
526
+ _content_type,
527
+ _headers,
528
+ _host_index,
529
+ ) -> RequestSerialized:
530
+
531
+ _host = None
532
+
533
+ _collection_formats: Dict[str, str] = {
534
+ }
535
+
536
+ _path_params: Dict[str, str] = {}
537
+ _query_params: List[Tuple[str, str]] = []
538
+ _header_params: Dict[str, Optional[str]] = _headers or {}
539
+ _form_params: List[Tuple[str, str]] = []
540
+ _files: Dict[
541
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
542
+ ] = {}
543
+ _body_params: Optional[bytes] = None
544
+
545
+ # process the path parameters
546
+ # process the query parameters
547
+ # process the header parameters
548
+ # process the form parameters
549
+ # process the body parameter
550
+
551
+
552
+ # set the HTTP header `Accept`
553
+ if 'Accept' not in _header_params:
554
+ _header_params['Accept'] = self.api_client.select_header_accept(
555
+ [
556
+ 'application/json'
557
+ ]
558
+ )
559
+
560
+
561
+ # authentication setting
562
+ _auth_settings: List[str] = [
563
+ 'endUserHashed',
564
+ 'endUser',
565
+ 'apiKey',
566
+ 'clientCredentials'
567
+ ]
568
+
569
+ return self.api_client.param_serialize(
570
+ method='GET',
571
+ resource_path='/account',
572
+ path_params=_path_params,
573
+ query_params=_query_params,
574
+ header_params=_header_params,
575
+ body=_body_params,
576
+ post_params=_form_params,
577
+ files=_files,
578
+ auth_settings=_auth_settings,
579
+ collection_formats=_collection_formats,
580
+ _host=_host,
581
+ _request_auth=_request_auth
582
+ )
583
+
584
+
585
+
586
+
587
+ @validate_call
588
+ async def account_get_supabase_status(
589
+ self,
590
+ _request_timeout: Union[
591
+ None,
592
+ Annotated[StrictFloat, Field(gt=0)],
593
+ Tuple[
594
+ Annotated[StrictFloat, Field(gt=0)],
595
+ Annotated[StrictFloat, Field(gt=0)]
596
+ ]
597
+ ] = None,
598
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
599
+ _content_type: Optional[StrictStr] = None,
600
+ _headers: Optional[Dict[StrictStr, Any]] = None,
601
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
602
+ ) -> SupabaseStatusResponse:
603
+ """Get Supabase integration status for the account
604
+
605
+
606
+ :param _request_timeout: timeout setting for this request. If one
607
+ number provided, it will be total request
608
+ timeout. It can also be a pair (tuple) of
609
+ (connection, read) timeouts.
610
+ :type _request_timeout: int, tuple(int, int), optional
611
+ :param _request_auth: set to override the auth_settings for an a single
612
+ request; this effectively ignores the
613
+ authentication in the spec for a single request.
614
+ :type _request_auth: dict, optional
615
+ :param _content_type: force content-type for the request.
616
+ :type _content_type: str, Optional
617
+ :param _headers: set to override the headers for a single
618
+ request; this effectively ignores the headers
619
+ in the spec for a single request.
620
+ :type _headers: dict, optional
621
+ :param _host_index: set to override the host_index for a single
622
+ request; this effectively ignores the host_index
623
+ in the spec for a single request.
624
+ :type _host_index: int, optional
625
+ :return: Returns the result object.
626
+ """ # noqa: E501
627
+
628
+ _param = self._account_get_supabase_status_serialize(
629
+ _request_auth=_request_auth,
630
+ _content_type=_content_type,
631
+ _headers=_headers,
632
+ _host_index=_host_index
633
+ )
634
+
635
+ _response_types_map: Dict[str, Optional[str]] = {
636
+ '200': "SupabaseStatusResponse",
637
+ '400': None,
638
+ '401': None,
639
+ '500': None,
640
+ }
641
+ response_data = await self.api_client.call_api(
642
+ *_param,
643
+ _request_timeout=_request_timeout
644
+ )
645
+ await response_data.read()
646
+ return self.api_client.response_deserialize(
647
+ response_data=response_data,
648
+ response_types_map=_response_types_map,
649
+ ).data
650
+
651
+
652
+ @validate_call
653
+ async def account_get_supabase_status_with_http_info(
654
+ self,
655
+ _request_timeout: Union[
656
+ None,
657
+ Annotated[StrictFloat, Field(gt=0)],
658
+ Tuple[
659
+ Annotated[StrictFloat, Field(gt=0)],
660
+ Annotated[StrictFloat, Field(gt=0)]
661
+ ]
662
+ ] = None,
663
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
664
+ _content_type: Optional[StrictStr] = None,
665
+ _headers: Optional[Dict[StrictStr, Any]] = None,
666
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
667
+ ) -> ApiResponse[SupabaseStatusResponse]:
668
+ """Get Supabase integration status for the account
669
+
670
+
671
+ :param _request_timeout: timeout setting for this request. If one
672
+ number provided, it will be total request
673
+ timeout. It can also be a pair (tuple) of
674
+ (connection, read) timeouts.
675
+ :type _request_timeout: int, tuple(int, int), optional
676
+ :param _request_auth: set to override the auth_settings for an a single
677
+ request; this effectively ignores the
678
+ authentication in the spec for a single request.
679
+ :type _request_auth: dict, optional
680
+ :param _content_type: force content-type for the request.
681
+ :type _content_type: str, Optional
682
+ :param _headers: set to override the headers for a single
683
+ request; this effectively ignores the headers
684
+ in the spec for a single request.
685
+ :type _headers: dict, optional
686
+ :param _host_index: set to override the host_index for a single
687
+ request; this effectively ignores the host_index
688
+ in the spec for a single request.
689
+ :type _host_index: int, optional
690
+ :return: Returns the result object.
691
+ """ # noqa: E501
692
+
693
+ _param = self._account_get_supabase_status_serialize(
694
+ _request_auth=_request_auth,
695
+ _content_type=_content_type,
696
+ _headers=_headers,
697
+ _host_index=_host_index
698
+ )
699
+
700
+ _response_types_map: Dict[str, Optional[str]] = {
701
+ '200': "SupabaseStatusResponse",
702
+ '400': None,
703
+ '401': None,
704
+ '500': None,
705
+ }
706
+ response_data = await self.api_client.call_api(
707
+ *_param,
708
+ _request_timeout=_request_timeout
709
+ )
710
+ await response_data.read()
711
+ return self.api_client.response_deserialize(
712
+ response_data=response_data,
713
+ response_types_map=_response_types_map,
714
+ )
715
+
716
+
717
+ @validate_call
718
+ async def account_get_supabase_status_without_preload_content(
719
+ self,
720
+ _request_timeout: Union[
721
+ None,
722
+ Annotated[StrictFloat, Field(gt=0)],
723
+ Tuple[
724
+ Annotated[StrictFloat, Field(gt=0)],
725
+ Annotated[StrictFloat, Field(gt=0)]
726
+ ]
727
+ ] = None,
728
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
729
+ _content_type: Optional[StrictStr] = None,
730
+ _headers: Optional[Dict[StrictStr, Any]] = None,
731
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
732
+ ) -> RESTResponseType:
733
+ """Get Supabase integration status for the account
734
+
735
+
736
+ :param _request_timeout: timeout setting for this request. If one
737
+ number provided, it will be total request
738
+ timeout. It can also be a pair (tuple) of
739
+ (connection, read) timeouts.
740
+ :type _request_timeout: int, tuple(int, int), optional
741
+ :param _request_auth: set to override the auth_settings for an a single
742
+ request; this effectively ignores the
743
+ authentication in the spec for a single request.
744
+ :type _request_auth: dict, optional
745
+ :param _content_type: force content-type for the request.
746
+ :type _content_type: str, Optional
747
+ :param _headers: set to override the headers for a single
748
+ request; this effectively ignores the headers
749
+ in the spec for a single request.
750
+ :type _headers: dict, optional
751
+ :param _host_index: set to override the host_index for a single
752
+ request; this effectively ignores the host_index
753
+ in the spec for a single request.
754
+ :type _host_index: int, optional
755
+ :return: Returns the result object.
756
+ """ # noqa: E501
757
+
758
+ _param = self._account_get_supabase_status_serialize(
759
+ _request_auth=_request_auth,
760
+ _content_type=_content_type,
761
+ _headers=_headers,
762
+ _host_index=_host_index
763
+ )
764
+
765
+ _response_types_map: Dict[str, Optional[str]] = {
766
+ '200': "SupabaseStatusResponse",
767
+ '400': None,
768
+ '401': None,
769
+ '500': None,
770
+ }
771
+ response_data = await self.api_client.call_api(
772
+ *_param,
773
+ _request_timeout=_request_timeout
774
+ )
775
+ return response_data.response
776
+
777
+
778
+ def _account_get_supabase_status_serialize(
779
+ self,
780
+ _request_auth,
781
+ _content_type,
782
+ _headers,
783
+ _host_index,
784
+ ) -> RequestSerialized:
785
+
786
+ _host = None
787
+
788
+ _collection_formats: Dict[str, str] = {
789
+ }
790
+
791
+ _path_params: Dict[str, str] = {}
792
+ _query_params: List[Tuple[str, str]] = []
793
+ _header_params: Dict[str, Optional[str]] = _headers or {}
794
+ _form_params: List[Tuple[str, str]] = []
795
+ _files: Dict[
796
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
797
+ ] = {}
798
+ _body_params: Optional[bytes] = None
799
+
800
+ # process the path parameters
801
+ # process the query parameters
802
+ # process the header parameters
803
+ # process the form parameters
804
+ # process the body parameter
805
+
806
+
807
+ # set the HTTP header `Accept`
808
+ if 'Accept' not in _header_params:
809
+ _header_params['Accept'] = self.api_client.select_header_accept(
810
+ [
811
+ 'application/json'
812
+ ]
813
+ )
814
+
815
+
816
+ # authentication setting
817
+ _auth_settings: List[str] = [
818
+ 'endUserHashed',
819
+ 'endUser',
820
+ 'apiKey',
821
+ 'clientCredentials'
822
+ ]
823
+
824
+ return self.api_client.param_serialize(
825
+ method='GET',
826
+ resource_path='/account/supabase/status',
827
+ path_params=_path_params,
828
+ query_params=_query_params,
829
+ header_params=_header_params,
830
+ body=_body_params,
831
+ post_params=_form_params,
832
+ files=_files,
833
+ auth_settings=_auth_settings,
834
+ collection_formats=_collection_formats,
835
+ _host=_host,
836
+ _request_auth=_request_auth
837
+ )
838
+
839
+
840
+
841
+
842
+ @validate_call
843
+ async def account_list_supabase_projects(
844
+ self,
845
+ _request_timeout: Union[
846
+ None,
847
+ Annotated[StrictFloat, Field(gt=0)],
848
+ Tuple[
849
+ Annotated[StrictFloat, Field(gt=0)],
850
+ Annotated[StrictFloat, Field(gt=0)]
851
+ ]
852
+ ] = None,
853
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
854
+ _content_type: Optional[StrictStr] = None,
855
+ _headers: Optional[Dict[StrictStr, Any]] = None,
856
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
857
+ ) -> SupabaseProjectsResponse:
858
+ """List Supabase projects for the connected account
859
+
860
+
861
+ :param _request_timeout: timeout setting for this request. If one
862
+ number provided, it will be total request
863
+ timeout. It can also be a pair (tuple) of
864
+ (connection, read) timeouts.
865
+ :type _request_timeout: int, tuple(int, int), optional
866
+ :param _request_auth: set to override the auth_settings for an a single
867
+ request; this effectively ignores the
868
+ authentication in the spec for a single request.
869
+ :type _request_auth: dict, optional
870
+ :param _content_type: force content-type for the request.
871
+ :type _content_type: str, Optional
872
+ :param _headers: set to override the headers for a single
873
+ request; this effectively ignores the headers
874
+ in the spec for a single request.
875
+ :type _headers: dict, optional
876
+ :param _host_index: set to override the host_index for a single
877
+ request; this effectively ignores the host_index
878
+ in the spec for a single request.
879
+ :type _host_index: int, optional
880
+ :return: Returns the result object.
881
+ """ # noqa: E501
882
+
883
+ _param = self._account_list_supabase_projects_serialize(
884
+ _request_auth=_request_auth,
885
+ _content_type=_content_type,
886
+ _headers=_headers,
887
+ _host_index=_host_index
888
+ )
889
+
890
+ _response_types_map: Dict[str, Optional[str]] = {
891
+ '200': "SupabaseProjectsResponse",
892
+ '400': None,
893
+ '401': None,
894
+ '500': None,
895
+ }
896
+ response_data = await self.api_client.call_api(
897
+ *_param,
898
+ _request_timeout=_request_timeout
899
+ )
900
+ await response_data.read()
901
+ return self.api_client.response_deserialize(
902
+ response_data=response_data,
903
+ response_types_map=_response_types_map,
904
+ ).data
905
+
906
+
907
+ @validate_call
908
+ async def account_list_supabase_projects_with_http_info(
909
+ self,
910
+ _request_timeout: Union[
911
+ None,
912
+ Annotated[StrictFloat, Field(gt=0)],
913
+ Tuple[
914
+ Annotated[StrictFloat, Field(gt=0)],
915
+ Annotated[StrictFloat, Field(gt=0)]
916
+ ]
917
+ ] = None,
918
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
919
+ _content_type: Optional[StrictStr] = None,
920
+ _headers: Optional[Dict[StrictStr, Any]] = None,
921
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
922
+ ) -> ApiResponse[SupabaseProjectsResponse]:
923
+ """List Supabase projects for the connected account
924
+
925
+
926
+ :param _request_timeout: timeout setting for this request. If one
927
+ number provided, it will be total request
928
+ timeout. It can also be a pair (tuple) of
929
+ (connection, read) timeouts.
930
+ :type _request_timeout: int, tuple(int, int), optional
931
+ :param _request_auth: set to override the auth_settings for an a single
932
+ request; this effectively ignores the
933
+ authentication in the spec for a single request.
934
+ :type _request_auth: dict, optional
935
+ :param _content_type: force content-type for the request.
936
+ :type _content_type: str, Optional
937
+ :param _headers: set to override the headers for a single
938
+ request; this effectively ignores the headers
939
+ in the spec for a single request.
940
+ :type _headers: dict, optional
941
+ :param _host_index: set to override the host_index for a single
942
+ request; this effectively ignores the host_index
943
+ in the spec for a single request.
944
+ :type _host_index: int, optional
945
+ :return: Returns the result object.
946
+ """ # noqa: E501
947
+
948
+ _param = self._account_list_supabase_projects_serialize(
949
+ _request_auth=_request_auth,
950
+ _content_type=_content_type,
951
+ _headers=_headers,
952
+ _host_index=_host_index
953
+ )
954
+
955
+ _response_types_map: Dict[str, Optional[str]] = {
956
+ '200': "SupabaseProjectsResponse",
957
+ '400': None,
958
+ '401': None,
959
+ '500': None,
960
+ }
961
+ response_data = await self.api_client.call_api(
962
+ *_param,
963
+ _request_timeout=_request_timeout
964
+ )
965
+ await response_data.read()
966
+ return self.api_client.response_deserialize(
967
+ response_data=response_data,
968
+ response_types_map=_response_types_map,
969
+ )
970
+
971
+
972
+ @validate_call
973
+ async def account_list_supabase_projects_without_preload_content(
974
+ self,
975
+ _request_timeout: Union[
976
+ None,
977
+ Annotated[StrictFloat, Field(gt=0)],
978
+ Tuple[
979
+ Annotated[StrictFloat, Field(gt=0)],
980
+ Annotated[StrictFloat, Field(gt=0)]
981
+ ]
982
+ ] = None,
983
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
984
+ _content_type: Optional[StrictStr] = None,
985
+ _headers: Optional[Dict[StrictStr, Any]] = None,
986
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
987
+ ) -> RESTResponseType:
988
+ """List Supabase projects for the connected account
989
+
990
+
991
+ :param _request_timeout: timeout setting for this request. If one
992
+ number provided, it will be total request
993
+ timeout. It can also be a pair (tuple) of
994
+ (connection, read) timeouts.
995
+ :type _request_timeout: int, tuple(int, int), optional
996
+ :param _request_auth: set to override the auth_settings for an a single
997
+ request; this effectively ignores the
998
+ authentication in the spec for a single request.
999
+ :type _request_auth: dict, optional
1000
+ :param _content_type: force content-type for the request.
1001
+ :type _content_type: str, Optional
1002
+ :param _headers: set to override the headers for a single
1003
+ request; this effectively ignores the headers
1004
+ in the spec for a single request.
1005
+ :type _headers: dict, optional
1006
+ :param _host_index: set to override the host_index for a single
1007
+ request; this effectively ignores the host_index
1008
+ in the spec for a single request.
1009
+ :type _host_index: int, optional
1010
+ :return: Returns the result object.
1011
+ """ # noqa: E501
1012
+
1013
+ _param = self._account_list_supabase_projects_serialize(
1014
+ _request_auth=_request_auth,
1015
+ _content_type=_content_type,
1016
+ _headers=_headers,
1017
+ _host_index=_host_index
1018
+ )
1019
+
1020
+ _response_types_map: Dict[str, Optional[str]] = {
1021
+ '200': "SupabaseProjectsResponse",
1022
+ '400': None,
1023
+ '401': None,
1024
+ '500': None,
1025
+ }
1026
+ response_data = await self.api_client.call_api(
1027
+ *_param,
1028
+ _request_timeout=_request_timeout
1029
+ )
1030
+ return response_data.response
1031
+
1032
+
1033
+ def _account_list_supabase_projects_serialize(
1034
+ self,
1035
+ _request_auth,
1036
+ _content_type,
1037
+ _headers,
1038
+ _host_index,
1039
+ ) -> RequestSerialized:
1040
+
1041
+ _host = None
1042
+
1043
+ _collection_formats: Dict[str, str] = {
1044
+ }
1045
+
1046
+ _path_params: Dict[str, str] = {}
1047
+ _query_params: List[Tuple[str, str]] = []
1048
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1049
+ _form_params: List[Tuple[str, str]] = []
1050
+ _files: Dict[
1051
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1052
+ ] = {}
1053
+ _body_params: Optional[bytes] = None
1054
+
1055
+ # process the path parameters
1056
+ # process the query parameters
1057
+ # process the header parameters
1058
+ # process the form parameters
1059
+ # process the body parameter
1060
+
1061
+
1062
+ # set the HTTP header `Accept`
1063
+ if 'Accept' not in _header_params:
1064
+ _header_params['Accept'] = self.api_client.select_header_accept(
1065
+ [
1066
+ 'application/json'
1067
+ ]
1068
+ )
1069
+
1070
+
1071
+ # authentication setting
1072
+ _auth_settings: List[str] = [
1073
+ 'endUserHashed',
1074
+ 'endUser',
1075
+ 'apiKey',
1076
+ 'clientCredentials'
1077
+ ]
1078
+
1079
+ return self.api_client.param_serialize(
1080
+ method='GET',
1081
+ resource_path='/account/supabase/projects',
1082
+ path_params=_path_params,
1083
+ query_params=_query_params,
1084
+ header_params=_header_params,
1085
+ body=_body_params,
1086
+ post_params=_form_params,
1087
+ files=_files,
1088
+ auth_settings=_auth_settings,
1089
+ collection_formats=_collection_formats,
1090
+ _host=_host,
1091
+ _request_auth=_request_auth
1092
+ )
1093
+
1094
+
1095
+
1096
+
1097
+ @validate_call
1098
+ async def account_prepare_checkout_session(
1099
+ self,
1100
+ billing_post_request_body: BillingPostRequestBody,
1101
+ _request_timeout: Union[
1102
+ None,
1103
+ Annotated[StrictFloat, Field(gt=0)],
1104
+ Tuple[
1105
+ Annotated[StrictFloat, Field(gt=0)],
1106
+ Annotated[StrictFloat, Field(gt=0)]
1107
+ ]
1108
+ ] = None,
1109
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1110
+ _content_type: Optional[StrictStr] = None,
1111
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1112
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1113
+ ) -> BillingPostResponseBody:
1114
+ """Get or create Stripe customer and optionally create checkout session
1115
+
1116
+
1117
+ :param billing_post_request_body: (required)
1118
+ :type billing_post_request_body: BillingPostRequestBody
1119
+ :param _request_timeout: timeout setting for this request. If one
1120
+ number provided, it will be total request
1121
+ timeout. It can also be a pair (tuple) of
1122
+ (connection, read) timeouts.
1123
+ :type _request_timeout: int, tuple(int, int), optional
1124
+ :param _request_auth: set to override the auth_settings for an a single
1125
+ request; this effectively ignores the
1126
+ authentication in the spec for a single request.
1127
+ :type _request_auth: dict, optional
1128
+ :param _content_type: force content-type for the request.
1129
+ :type _content_type: str, Optional
1130
+ :param _headers: set to override the headers for a single
1131
+ request; this effectively ignores the headers
1132
+ in the spec for a single request.
1133
+ :type _headers: dict, optional
1134
+ :param _host_index: set to override the host_index for a single
1135
+ request; this effectively ignores the host_index
1136
+ in the spec for a single request.
1137
+ :type _host_index: int, optional
1138
+ :return: Returns the result object.
1139
+ """ # noqa: E501
1140
+
1141
+ _param = self._account_prepare_checkout_session_serialize(
1142
+ billing_post_request_body=billing_post_request_body,
1143
+ _request_auth=_request_auth,
1144
+ _content_type=_content_type,
1145
+ _headers=_headers,
1146
+ _host_index=_host_index
1147
+ )
1148
+
1149
+ _response_types_map: Dict[str, Optional[str]] = {
1150
+ '200': "BillingPostResponseBody",
1151
+ '400': None,
1152
+ '401': None,
1153
+ '500': None,
1154
+ }
1155
+ response_data = await self.api_client.call_api(
1156
+ *_param,
1157
+ _request_timeout=_request_timeout
1158
+ )
1159
+ await response_data.read()
1160
+ return self.api_client.response_deserialize(
1161
+ response_data=response_data,
1162
+ response_types_map=_response_types_map,
1163
+ ).data
1164
+
1165
+
1166
+ @validate_call
1167
+ async def account_prepare_checkout_session_with_http_info(
1168
+ self,
1169
+ billing_post_request_body: BillingPostRequestBody,
1170
+ _request_timeout: Union[
1171
+ None,
1172
+ Annotated[StrictFloat, Field(gt=0)],
1173
+ Tuple[
1174
+ Annotated[StrictFloat, Field(gt=0)],
1175
+ Annotated[StrictFloat, Field(gt=0)]
1176
+ ]
1177
+ ] = None,
1178
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1179
+ _content_type: Optional[StrictStr] = None,
1180
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1181
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1182
+ ) -> ApiResponse[BillingPostResponseBody]:
1183
+ """Get or create Stripe customer and optionally create checkout session
1184
+
1185
+
1186
+ :param billing_post_request_body: (required)
1187
+ :type billing_post_request_body: BillingPostRequestBody
1188
+ :param _request_timeout: timeout setting for this request. If one
1189
+ number provided, it will be total request
1190
+ timeout. It can also be a pair (tuple) of
1191
+ (connection, read) timeouts.
1192
+ :type _request_timeout: int, tuple(int, int), optional
1193
+ :param _request_auth: set to override the auth_settings for an a single
1194
+ request; this effectively ignores the
1195
+ authentication in the spec for a single request.
1196
+ :type _request_auth: dict, optional
1197
+ :param _content_type: force content-type for the request.
1198
+ :type _content_type: str, Optional
1199
+ :param _headers: set to override the headers for a single
1200
+ request; this effectively ignores the headers
1201
+ in the spec for a single request.
1202
+ :type _headers: dict, optional
1203
+ :param _host_index: set to override the host_index for a single
1204
+ request; this effectively ignores the host_index
1205
+ in the spec for a single request.
1206
+ :type _host_index: int, optional
1207
+ :return: Returns the result object.
1208
+ """ # noqa: E501
1209
+
1210
+ _param = self._account_prepare_checkout_session_serialize(
1211
+ billing_post_request_body=billing_post_request_body,
1212
+ _request_auth=_request_auth,
1213
+ _content_type=_content_type,
1214
+ _headers=_headers,
1215
+ _host_index=_host_index
1216
+ )
1217
+
1218
+ _response_types_map: Dict[str, Optional[str]] = {
1219
+ '200': "BillingPostResponseBody",
1220
+ '400': None,
1221
+ '401': None,
1222
+ '500': None,
1223
+ }
1224
+ response_data = await self.api_client.call_api(
1225
+ *_param,
1226
+ _request_timeout=_request_timeout
1227
+ )
1228
+ await response_data.read()
1229
+ return self.api_client.response_deserialize(
1230
+ response_data=response_data,
1231
+ response_types_map=_response_types_map,
1232
+ )
1233
+
1234
+
1235
+ @validate_call
1236
+ async def account_prepare_checkout_session_without_preload_content(
1237
+ self,
1238
+ billing_post_request_body: BillingPostRequestBody,
1239
+ _request_timeout: Union[
1240
+ None,
1241
+ Annotated[StrictFloat, Field(gt=0)],
1242
+ Tuple[
1243
+ Annotated[StrictFloat, Field(gt=0)],
1244
+ Annotated[StrictFloat, Field(gt=0)]
1245
+ ]
1246
+ ] = None,
1247
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1248
+ _content_type: Optional[StrictStr] = None,
1249
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1250
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1251
+ ) -> RESTResponseType:
1252
+ """Get or create Stripe customer and optionally create checkout session
1253
+
1254
+
1255
+ :param billing_post_request_body: (required)
1256
+ :type billing_post_request_body: BillingPostRequestBody
1257
+ :param _request_timeout: timeout setting for this request. If one
1258
+ number provided, it will be total request
1259
+ timeout. It can also be a pair (tuple) of
1260
+ (connection, read) timeouts.
1261
+ :type _request_timeout: int, tuple(int, int), optional
1262
+ :param _request_auth: set to override the auth_settings for an a single
1263
+ request; this effectively ignores the
1264
+ authentication in the spec for a single request.
1265
+ :type _request_auth: dict, optional
1266
+ :param _content_type: force content-type for the request.
1267
+ :type _content_type: str, Optional
1268
+ :param _headers: set to override the headers for a single
1269
+ request; this effectively ignores the headers
1270
+ in the spec for a single request.
1271
+ :type _headers: dict, optional
1272
+ :param _host_index: set to override the host_index for a single
1273
+ request; this effectively ignores the host_index
1274
+ in the spec for a single request.
1275
+ :type _host_index: int, optional
1276
+ :return: Returns the result object.
1277
+ """ # noqa: E501
1278
+
1279
+ _param = self._account_prepare_checkout_session_serialize(
1280
+ billing_post_request_body=billing_post_request_body,
1281
+ _request_auth=_request_auth,
1282
+ _content_type=_content_type,
1283
+ _headers=_headers,
1284
+ _host_index=_host_index
1285
+ )
1286
+
1287
+ _response_types_map: Dict[str, Optional[str]] = {
1288
+ '200': "BillingPostResponseBody",
1289
+ '400': None,
1290
+ '401': None,
1291
+ '500': None,
1292
+ }
1293
+ response_data = await self.api_client.call_api(
1294
+ *_param,
1295
+ _request_timeout=_request_timeout
1296
+ )
1297
+ return response_data.response
1298
+
1299
+
1300
+ def _account_prepare_checkout_session_serialize(
1301
+ self,
1302
+ billing_post_request_body,
1303
+ _request_auth,
1304
+ _content_type,
1305
+ _headers,
1306
+ _host_index,
1307
+ ) -> RequestSerialized:
1308
+
1309
+ _host = None
1310
+
1311
+ _collection_formats: Dict[str, str] = {
1312
+ }
1313
+
1314
+ _path_params: Dict[str, str] = {}
1315
+ _query_params: List[Tuple[str, str]] = []
1316
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1317
+ _form_params: List[Tuple[str, str]] = []
1318
+ _files: Dict[
1319
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1320
+ ] = {}
1321
+ _body_params: Optional[bytes] = None
1322
+
1323
+ # process the path parameters
1324
+ # process the query parameters
1325
+ # process the header parameters
1326
+ # process the form parameters
1327
+ # process the body parameter
1328
+ if billing_post_request_body is not None:
1329
+ _body_params = billing_post_request_body
1330
+
1331
+
1332
+ # set the HTTP header `Accept`
1333
+ if 'Accept' not in _header_params:
1334
+ _header_params['Accept'] = self.api_client.select_header_accept(
1335
+ [
1336
+ 'application/json'
1337
+ ]
1338
+ )
1339
+
1340
+ # set the HTTP header `Content-Type`
1341
+ if _content_type:
1342
+ _header_params['Content-Type'] = _content_type
1343
+ else:
1344
+ _default_content_type = (
1345
+ self.api_client.select_header_content_type(
1346
+ [
1347
+ 'application/json'
1348
+ ]
1349
+ )
1350
+ )
1351
+ if _default_content_type is not None:
1352
+ _header_params['Content-Type'] = _default_content_type
1353
+
1354
+ # authentication setting
1355
+ _auth_settings: List[str] = [
1356
+ 'endUserHashed',
1357
+ 'endUser',
1358
+ 'apiKey',
1359
+ 'clientCredentials'
1360
+ ]
1361
+
1362
+ return self.api_client.param_serialize(
1363
+ method='POST',
1364
+ resource_path='/billing',
1365
+ path_params=_path_params,
1366
+ query_params=_query_params,
1367
+ header_params=_header_params,
1368
+ body=_body_params,
1369
+ post_params=_form_params,
1370
+ files=_files,
1371
+ auth_settings=_auth_settings,
1372
+ collection_formats=_collection_formats,
1373
+ _host=_host,
1374
+ _request_auth=_request_auth
1375
+ )
1376
+
1377
+
1378
+
1379
+
1380
+ @validate_call
1381
+ async def account_revoke_supabase(
1382
+ self,
1383
+ _request_timeout: Union[
1384
+ None,
1385
+ Annotated[StrictFloat, Field(gt=0)],
1386
+ Tuple[
1387
+ Annotated[StrictFloat, Field(gt=0)],
1388
+ Annotated[StrictFloat, Field(gt=0)]
1389
+ ]
1390
+ ] = None,
1391
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1392
+ _content_type: Optional[StrictStr] = None,
1393
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1394
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1395
+ ) -> SupabaseConfigureResponse:
1396
+ """Revoke Supabase integration (removes stored tokens and project info)
1397
+
1398
+
1399
+ :param _request_timeout: timeout setting for this request. If one
1400
+ number provided, it will be total request
1401
+ timeout. It can also be a pair (tuple) of
1402
+ (connection, read) timeouts.
1403
+ :type _request_timeout: int, tuple(int, int), optional
1404
+ :param _request_auth: set to override the auth_settings for an a single
1405
+ request; this effectively ignores the
1406
+ authentication in the spec for a single request.
1407
+ :type _request_auth: dict, optional
1408
+ :param _content_type: force content-type for the request.
1409
+ :type _content_type: str, Optional
1410
+ :param _headers: set to override the headers for a single
1411
+ request; this effectively ignores the headers
1412
+ in the spec for a single request.
1413
+ :type _headers: dict, optional
1414
+ :param _host_index: set to override the host_index for a single
1415
+ request; this effectively ignores the host_index
1416
+ in the spec for a single request.
1417
+ :type _host_index: int, optional
1418
+ :return: Returns the result object.
1419
+ """ # noqa: E501
1420
+
1421
+ _param = self._account_revoke_supabase_serialize(
1422
+ _request_auth=_request_auth,
1423
+ _content_type=_content_type,
1424
+ _headers=_headers,
1425
+ _host_index=_host_index
1426
+ )
1427
+
1428
+ _response_types_map: Dict[str, Optional[str]] = {
1429
+ '200': "SupabaseConfigureResponse",
1430
+ '400': None,
1431
+ '401': None,
1432
+ '500': None,
1433
+ }
1434
+ response_data = await self.api_client.call_api(
1435
+ *_param,
1436
+ _request_timeout=_request_timeout
1437
+ )
1438
+ await response_data.read()
1439
+ return self.api_client.response_deserialize(
1440
+ response_data=response_data,
1441
+ response_types_map=_response_types_map,
1442
+ ).data
1443
+
1444
+
1445
+ @validate_call
1446
+ async def account_revoke_supabase_with_http_info(
1447
+ self,
1448
+ _request_timeout: Union[
1449
+ None,
1450
+ Annotated[StrictFloat, Field(gt=0)],
1451
+ Tuple[
1452
+ Annotated[StrictFloat, Field(gt=0)],
1453
+ Annotated[StrictFloat, Field(gt=0)]
1454
+ ]
1455
+ ] = None,
1456
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1457
+ _content_type: Optional[StrictStr] = None,
1458
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1459
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1460
+ ) -> ApiResponse[SupabaseConfigureResponse]:
1461
+ """Revoke Supabase integration (removes stored tokens and project info)
1462
+
1463
+
1464
+ :param _request_timeout: timeout setting for this request. If one
1465
+ number provided, it will be total request
1466
+ timeout. It can also be a pair (tuple) of
1467
+ (connection, read) timeouts.
1468
+ :type _request_timeout: int, tuple(int, int), optional
1469
+ :param _request_auth: set to override the auth_settings for an a single
1470
+ request; this effectively ignores the
1471
+ authentication in the spec for a single request.
1472
+ :type _request_auth: dict, optional
1473
+ :param _content_type: force content-type for the request.
1474
+ :type _content_type: str, Optional
1475
+ :param _headers: set to override the headers for a single
1476
+ request; this effectively ignores the headers
1477
+ in the spec for a single request.
1478
+ :type _headers: dict, optional
1479
+ :param _host_index: set to override the host_index for a single
1480
+ request; this effectively ignores the host_index
1481
+ in the spec for a single request.
1482
+ :type _host_index: int, optional
1483
+ :return: Returns the result object.
1484
+ """ # noqa: E501
1485
+
1486
+ _param = self._account_revoke_supabase_serialize(
1487
+ _request_auth=_request_auth,
1488
+ _content_type=_content_type,
1489
+ _headers=_headers,
1490
+ _host_index=_host_index
1491
+ )
1492
+
1493
+ _response_types_map: Dict[str, Optional[str]] = {
1494
+ '200': "SupabaseConfigureResponse",
1495
+ '400': None,
1496
+ '401': None,
1497
+ '500': None,
1498
+ }
1499
+ response_data = await self.api_client.call_api(
1500
+ *_param,
1501
+ _request_timeout=_request_timeout
1502
+ )
1503
+ await response_data.read()
1504
+ return self.api_client.response_deserialize(
1505
+ response_data=response_data,
1506
+ response_types_map=_response_types_map,
1507
+ )
1508
+
1509
+
1510
+ @validate_call
1511
+ async def account_revoke_supabase_without_preload_content(
1512
+ self,
1513
+ _request_timeout: Union[
1514
+ None,
1515
+ Annotated[StrictFloat, Field(gt=0)],
1516
+ Tuple[
1517
+ Annotated[StrictFloat, Field(gt=0)],
1518
+ Annotated[StrictFloat, Field(gt=0)]
1519
+ ]
1520
+ ] = None,
1521
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1522
+ _content_type: Optional[StrictStr] = None,
1523
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1524
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1525
+ ) -> RESTResponseType:
1526
+ """Revoke Supabase integration (removes stored tokens and project info)
1527
+
1528
+
1529
+ :param _request_timeout: timeout setting for this request. If one
1530
+ number provided, it will be total request
1531
+ timeout. It can also be a pair (tuple) of
1532
+ (connection, read) timeouts.
1533
+ :type _request_timeout: int, tuple(int, int), optional
1534
+ :param _request_auth: set to override the auth_settings for an a single
1535
+ request; this effectively ignores the
1536
+ authentication in the spec for a single request.
1537
+ :type _request_auth: dict, optional
1538
+ :param _content_type: force content-type for the request.
1539
+ :type _content_type: str, Optional
1540
+ :param _headers: set to override the headers for a single
1541
+ request; this effectively ignores the headers
1542
+ in the spec for a single request.
1543
+ :type _headers: dict, optional
1544
+ :param _host_index: set to override the host_index for a single
1545
+ request; this effectively ignores the host_index
1546
+ in the spec for a single request.
1547
+ :type _host_index: int, optional
1548
+ :return: Returns the result object.
1549
+ """ # noqa: E501
1550
+
1551
+ _param = self._account_revoke_supabase_serialize(
1552
+ _request_auth=_request_auth,
1553
+ _content_type=_content_type,
1554
+ _headers=_headers,
1555
+ _host_index=_host_index
1556
+ )
1557
+
1558
+ _response_types_map: Dict[str, Optional[str]] = {
1559
+ '200': "SupabaseConfigureResponse",
1560
+ '400': None,
1561
+ '401': None,
1562
+ '500': None,
1563
+ }
1564
+ response_data = await self.api_client.call_api(
1565
+ *_param,
1566
+ _request_timeout=_request_timeout
1567
+ )
1568
+ return response_data.response
1569
+
1570
+
1571
+ def _account_revoke_supabase_serialize(
1572
+ self,
1573
+ _request_auth,
1574
+ _content_type,
1575
+ _headers,
1576
+ _host_index,
1577
+ ) -> RequestSerialized:
1578
+
1579
+ _host = None
1580
+
1581
+ _collection_formats: Dict[str, str] = {
1582
+ }
1583
+
1584
+ _path_params: Dict[str, str] = {}
1585
+ _query_params: List[Tuple[str, str]] = []
1586
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1587
+ _form_params: List[Tuple[str, str]] = []
1588
+ _files: Dict[
1589
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1590
+ ] = {}
1591
+ _body_params: Optional[bytes] = None
1592
+
1593
+ # process the path parameters
1594
+ # process the query parameters
1595
+ # process the header parameters
1596
+ # process the form parameters
1597
+ # process the body parameter
1598
+
1599
+
1600
+ # set the HTTP header `Accept`
1601
+ if 'Accept' not in _header_params:
1602
+ _header_params['Accept'] = self.api_client.select_header_accept(
1603
+ [
1604
+ 'application/json'
1605
+ ]
1606
+ )
1607
+
1608
+
1609
+ # authentication setting
1610
+ _auth_settings: List[str] = [
1611
+ 'endUserHashed',
1612
+ 'endUser',
1613
+ 'apiKey',
1614
+ 'clientCredentials'
1615
+ ]
1616
+
1617
+ return self.api_client.param_serialize(
1618
+ method='DELETE',
1619
+ resource_path='/account/supabase',
1620
+ path_params=_path_params,
1621
+ query_params=_query_params,
1622
+ header_params=_header_params,
1623
+ body=_body_params,
1624
+ post_params=_form_params,
1625
+ files=_files,
1626
+ auth_settings=_auth_settings,
1627
+ collection_formats=_collection_formats,
1628
+ _host=_host,
1629
+ _request_auth=_request_auth
1630
+ )
1631
+
1632
+
1633
+
1634
+
1635
+ @validate_call
1636
+ async def account_supabase_o_auth(
1637
+ self,
1638
+ supabase_o_auth_request: SupabaseOAuthRequest,
1639
+ _request_timeout: Union[
1640
+ None,
1641
+ Annotated[StrictFloat, Field(gt=0)],
1642
+ Tuple[
1643
+ Annotated[StrictFloat, Field(gt=0)],
1644
+ Annotated[StrictFloat, Field(gt=0)]
1645
+ ]
1646
+ ] = None,
1647
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1648
+ _content_type: Optional[StrictStr] = None,
1649
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1650
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1651
+ ) -> SupabaseOAuthResponse:
1652
+ """Exchange Supabase OAuth authorization code for tokens
1653
+
1654
+
1655
+ :param supabase_o_auth_request: (required)
1656
+ :type supabase_o_auth_request: SupabaseOAuthRequest
1657
+ :param _request_timeout: timeout setting for this request. If one
1658
+ number provided, it will be total request
1659
+ timeout. It can also be a pair (tuple) of
1660
+ (connection, read) timeouts.
1661
+ :type _request_timeout: int, tuple(int, int), optional
1662
+ :param _request_auth: set to override the auth_settings for an a single
1663
+ request; this effectively ignores the
1664
+ authentication in the spec for a single request.
1665
+ :type _request_auth: dict, optional
1666
+ :param _content_type: force content-type for the request.
1667
+ :type _content_type: str, Optional
1668
+ :param _headers: set to override the headers for a single
1669
+ request; this effectively ignores the headers
1670
+ in the spec for a single request.
1671
+ :type _headers: dict, optional
1672
+ :param _host_index: set to override the host_index for a single
1673
+ request; this effectively ignores the host_index
1674
+ in the spec for a single request.
1675
+ :type _host_index: int, optional
1676
+ :return: Returns the result object.
1677
+ """ # noqa: E501
1678
+
1679
+ _param = self._account_supabase_o_auth_serialize(
1680
+ supabase_o_auth_request=supabase_o_auth_request,
1681
+ _request_auth=_request_auth,
1682
+ _content_type=_content_type,
1683
+ _headers=_headers,
1684
+ _host_index=_host_index
1685
+ )
1686
+
1687
+ _response_types_map: Dict[str, Optional[str]] = {
1688
+ '200': "SupabaseOAuthResponse",
1689
+ '400': None,
1690
+ '401': None,
1691
+ '500': None,
1692
+ }
1693
+ response_data = await self.api_client.call_api(
1694
+ *_param,
1695
+ _request_timeout=_request_timeout
1696
+ )
1697
+ await response_data.read()
1698
+ return self.api_client.response_deserialize(
1699
+ response_data=response_data,
1700
+ response_types_map=_response_types_map,
1701
+ ).data
1702
+
1703
+
1704
+ @validate_call
1705
+ async def account_supabase_o_auth_with_http_info(
1706
+ self,
1707
+ supabase_o_auth_request: SupabaseOAuthRequest,
1708
+ _request_timeout: Union[
1709
+ None,
1710
+ Annotated[StrictFloat, Field(gt=0)],
1711
+ Tuple[
1712
+ Annotated[StrictFloat, Field(gt=0)],
1713
+ Annotated[StrictFloat, Field(gt=0)]
1714
+ ]
1715
+ ] = None,
1716
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1717
+ _content_type: Optional[StrictStr] = None,
1718
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1719
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1720
+ ) -> ApiResponse[SupabaseOAuthResponse]:
1721
+ """Exchange Supabase OAuth authorization code for tokens
1722
+
1723
+
1724
+ :param supabase_o_auth_request: (required)
1725
+ :type supabase_o_auth_request: SupabaseOAuthRequest
1726
+ :param _request_timeout: timeout setting for this request. If one
1727
+ number provided, it will be total request
1728
+ timeout. It can also be a pair (tuple) of
1729
+ (connection, read) timeouts.
1730
+ :type _request_timeout: int, tuple(int, int), optional
1731
+ :param _request_auth: set to override the auth_settings for an a single
1732
+ request; this effectively ignores the
1733
+ authentication in the spec for a single request.
1734
+ :type _request_auth: dict, optional
1735
+ :param _content_type: force content-type for the request.
1736
+ :type _content_type: str, Optional
1737
+ :param _headers: set to override the headers for a single
1738
+ request; this effectively ignores the headers
1739
+ in the spec for a single request.
1740
+ :type _headers: dict, optional
1741
+ :param _host_index: set to override the host_index for a single
1742
+ request; this effectively ignores the host_index
1743
+ in the spec for a single request.
1744
+ :type _host_index: int, optional
1745
+ :return: Returns the result object.
1746
+ """ # noqa: E501
1747
+
1748
+ _param = self._account_supabase_o_auth_serialize(
1749
+ supabase_o_auth_request=supabase_o_auth_request,
1750
+ _request_auth=_request_auth,
1751
+ _content_type=_content_type,
1752
+ _headers=_headers,
1753
+ _host_index=_host_index
1754
+ )
1755
+
1756
+ _response_types_map: Dict[str, Optional[str]] = {
1757
+ '200': "SupabaseOAuthResponse",
1758
+ '400': None,
1759
+ '401': None,
1760
+ '500': None,
1761
+ }
1762
+ response_data = await self.api_client.call_api(
1763
+ *_param,
1764
+ _request_timeout=_request_timeout
1765
+ )
1766
+ await response_data.read()
1767
+ return self.api_client.response_deserialize(
1768
+ response_data=response_data,
1769
+ response_types_map=_response_types_map,
1770
+ )
1771
+
1772
+
1773
+ @validate_call
1774
+ async def account_supabase_o_auth_without_preload_content(
1775
+ self,
1776
+ supabase_o_auth_request: SupabaseOAuthRequest,
1777
+ _request_timeout: Union[
1778
+ None,
1779
+ Annotated[StrictFloat, Field(gt=0)],
1780
+ Tuple[
1781
+ Annotated[StrictFloat, Field(gt=0)],
1782
+ Annotated[StrictFloat, Field(gt=0)]
1783
+ ]
1784
+ ] = None,
1785
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1786
+ _content_type: Optional[StrictStr] = None,
1787
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1788
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1789
+ ) -> RESTResponseType:
1790
+ """Exchange Supabase OAuth authorization code for tokens
1791
+
1792
+
1793
+ :param supabase_o_auth_request: (required)
1794
+ :type supabase_o_auth_request: SupabaseOAuthRequest
1795
+ :param _request_timeout: timeout setting for this request. If one
1796
+ number provided, it will be total request
1797
+ timeout. It can also be a pair (tuple) of
1798
+ (connection, read) timeouts.
1799
+ :type _request_timeout: int, tuple(int, int), optional
1800
+ :param _request_auth: set to override the auth_settings for an a single
1801
+ request; this effectively ignores the
1802
+ authentication in the spec for a single request.
1803
+ :type _request_auth: dict, optional
1804
+ :param _content_type: force content-type for the request.
1805
+ :type _content_type: str, Optional
1806
+ :param _headers: set to override the headers for a single
1807
+ request; this effectively ignores the headers
1808
+ in the spec for a single request.
1809
+ :type _headers: dict, optional
1810
+ :param _host_index: set to override the host_index for a single
1811
+ request; this effectively ignores the host_index
1812
+ in the spec for a single request.
1813
+ :type _host_index: int, optional
1814
+ :return: Returns the result object.
1815
+ """ # noqa: E501
1816
+
1817
+ _param = self._account_supabase_o_auth_serialize(
1818
+ supabase_o_auth_request=supabase_o_auth_request,
1819
+ _request_auth=_request_auth,
1820
+ _content_type=_content_type,
1821
+ _headers=_headers,
1822
+ _host_index=_host_index
1823
+ )
1824
+
1825
+ _response_types_map: Dict[str, Optional[str]] = {
1826
+ '200': "SupabaseOAuthResponse",
1827
+ '400': None,
1828
+ '401': None,
1829
+ '500': None,
1830
+ }
1831
+ response_data = await self.api_client.call_api(
1832
+ *_param,
1833
+ _request_timeout=_request_timeout
1834
+ )
1835
+ return response_data.response
1836
+
1837
+
1838
+ def _account_supabase_o_auth_serialize(
1839
+ self,
1840
+ supabase_o_auth_request,
1841
+ _request_auth,
1842
+ _content_type,
1843
+ _headers,
1844
+ _host_index,
1845
+ ) -> RequestSerialized:
1846
+
1847
+ _host = None
1848
+
1849
+ _collection_formats: Dict[str, str] = {
1850
+ }
1851
+
1852
+ _path_params: Dict[str, str] = {}
1853
+ _query_params: List[Tuple[str, str]] = []
1854
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1855
+ _form_params: List[Tuple[str, str]] = []
1856
+ _files: Dict[
1857
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1858
+ ] = {}
1859
+ _body_params: Optional[bytes] = None
1860
+
1861
+ # process the path parameters
1862
+ # process the query parameters
1863
+ # process the header parameters
1864
+ # process the form parameters
1865
+ # process the body parameter
1866
+ if supabase_o_auth_request is not None:
1867
+ _body_params = supabase_o_auth_request
1868
+
1869
+
1870
+ # set the HTTP header `Accept`
1871
+ if 'Accept' not in _header_params:
1872
+ _header_params['Accept'] = self.api_client.select_header_accept(
1873
+ [
1874
+ 'application/json'
1875
+ ]
1876
+ )
1877
+
1878
+ # set the HTTP header `Content-Type`
1879
+ if _content_type:
1880
+ _header_params['Content-Type'] = _content_type
1881
+ else:
1882
+ _default_content_type = (
1883
+ self.api_client.select_header_content_type(
1884
+ [
1885
+ 'application/json'
1886
+ ]
1887
+ )
1888
+ )
1889
+ if _default_content_type is not None:
1890
+ _header_params['Content-Type'] = _default_content_type
1891
+
1892
+ # authentication setting
1893
+ _auth_settings: List[str] = [
1894
+ 'endUserHashed',
1895
+ 'endUser',
1896
+ 'apiKey',
1897
+ 'clientCredentials'
1898
+ ]
1899
+
1900
+ return self.api_client.param_serialize(
1901
+ method='POST',
1902
+ resource_path='/account/supabase/oauth',
1903
+ path_params=_path_params,
1904
+ query_params=_query_params,
1905
+ header_params=_header_params,
1906
+ body=_body_params,
1907
+ post_params=_form_params,
1908
+ files=_files,
1909
+ auth_settings=_auth_settings,
1910
+ collection_formats=_collection_formats,
1911
+ _host=_host,
1912
+ _request_auth=_request_auth
1913
+ )
1914
+
1915
+
1916
+
1917
+
1918
+ @validate_call
1919
+ async def account_update_account(
1920
+ self,
1921
+ create_account_request_body: CreateAccountRequestBody,
1922
+ _request_timeout: Union[
1923
+ None,
1924
+ Annotated[StrictFloat, Field(gt=0)],
1925
+ Tuple[
1926
+ Annotated[StrictFloat, Field(gt=0)],
1927
+ Annotated[StrictFloat, Field(gt=0)]
1928
+ ]
1929
+ ] = None,
1930
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1931
+ _content_type: Optional[StrictStr] = None,
1932
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1933
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1934
+ ) -> CreateAccountResponse:
1935
+ """Create or update an account name
1936
+
1937
+
1938
+ :param create_account_request_body: (required)
1939
+ :type create_account_request_body: CreateAccountRequestBody
1940
+ :param _request_timeout: timeout setting for this request. If one
1941
+ number provided, it will be total request
1942
+ timeout. It can also be a pair (tuple) of
1943
+ (connection, read) timeouts.
1944
+ :type _request_timeout: int, tuple(int, int), optional
1945
+ :param _request_auth: set to override the auth_settings for an a single
1946
+ request; this effectively ignores the
1947
+ authentication in the spec for a single request.
1948
+ :type _request_auth: dict, optional
1949
+ :param _content_type: force content-type for the request.
1950
+ :type _content_type: str, Optional
1951
+ :param _headers: set to override the headers for a single
1952
+ request; this effectively ignores the headers
1953
+ in the spec for a single request.
1954
+ :type _headers: dict, optional
1955
+ :param _host_index: set to override the host_index for a single
1956
+ request; this effectively ignores the host_index
1957
+ in the spec for a single request.
1958
+ :type _host_index: int, optional
1959
+ :return: Returns the result object.
1960
+ """ # noqa: E501
1961
+
1962
+ _param = self._account_update_account_serialize(
1963
+ create_account_request_body=create_account_request_body,
1964
+ _request_auth=_request_auth,
1965
+ _content_type=_content_type,
1966
+ _headers=_headers,
1967
+ _host_index=_host_index
1968
+ )
1969
+
1970
+ _response_types_map: Dict[str, Optional[str]] = {
1971
+ '200': "CreateAccountResponse",
1972
+ '400': None,
1973
+ '401': None,
1974
+ '500': None,
1975
+ }
1976
+ response_data = await self.api_client.call_api(
1977
+ *_param,
1978
+ _request_timeout=_request_timeout
1979
+ )
1980
+ await response_data.read()
1981
+ return self.api_client.response_deserialize(
1982
+ response_data=response_data,
1983
+ response_types_map=_response_types_map,
1984
+ ).data
1985
+
1986
+
1987
+ @validate_call
1988
+ async def account_update_account_with_http_info(
1989
+ self,
1990
+ create_account_request_body: CreateAccountRequestBody,
1991
+ _request_timeout: Union[
1992
+ None,
1993
+ Annotated[StrictFloat, Field(gt=0)],
1994
+ Tuple[
1995
+ Annotated[StrictFloat, Field(gt=0)],
1996
+ Annotated[StrictFloat, Field(gt=0)]
1997
+ ]
1998
+ ] = None,
1999
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2000
+ _content_type: Optional[StrictStr] = None,
2001
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2002
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2003
+ ) -> ApiResponse[CreateAccountResponse]:
2004
+ """Create or update an account name
2005
+
2006
+
2007
+ :param create_account_request_body: (required)
2008
+ :type create_account_request_body: CreateAccountRequestBody
2009
+ :param _request_timeout: timeout setting for this request. If one
2010
+ number provided, it will be total request
2011
+ timeout. It can also be a pair (tuple) of
2012
+ (connection, read) timeouts.
2013
+ :type _request_timeout: int, tuple(int, int), optional
2014
+ :param _request_auth: set to override the auth_settings for an a single
2015
+ request; this effectively ignores the
2016
+ authentication in the spec for a single request.
2017
+ :type _request_auth: dict, optional
2018
+ :param _content_type: force content-type for the request.
2019
+ :type _content_type: str, Optional
2020
+ :param _headers: set to override the headers for a single
2021
+ request; this effectively ignores the headers
2022
+ in the spec for a single request.
2023
+ :type _headers: dict, optional
2024
+ :param _host_index: set to override the host_index for a single
2025
+ request; this effectively ignores the host_index
2026
+ in the spec for a single request.
2027
+ :type _host_index: int, optional
2028
+ :return: Returns the result object.
2029
+ """ # noqa: E501
2030
+
2031
+ _param = self._account_update_account_serialize(
2032
+ create_account_request_body=create_account_request_body,
2033
+ _request_auth=_request_auth,
2034
+ _content_type=_content_type,
2035
+ _headers=_headers,
2036
+ _host_index=_host_index
2037
+ )
2038
+
2039
+ _response_types_map: Dict[str, Optional[str]] = {
2040
+ '200': "CreateAccountResponse",
2041
+ '400': None,
2042
+ '401': None,
2043
+ '500': None,
2044
+ }
2045
+ response_data = await self.api_client.call_api(
2046
+ *_param,
2047
+ _request_timeout=_request_timeout
2048
+ )
2049
+ await response_data.read()
2050
+ return self.api_client.response_deserialize(
2051
+ response_data=response_data,
2052
+ response_types_map=_response_types_map,
2053
+ )
2054
+
2055
+
2056
+ @validate_call
2057
+ async def account_update_account_without_preload_content(
2058
+ self,
2059
+ create_account_request_body: CreateAccountRequestBody,
2060
+ _request_timeout: Union[
2061
+ None,
2062
+ Annotated[StrictFloat, Field(gt=0)],
2063
+ Tuple[
2064
+ Annotated[StrictFloat, Field(gt=0)],
2065
+ Annotated[StrictFloat, Field(gt=0)]
2066
+ ]
2067
+ ] = None,
2068
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2069
+ _content_type: Optional[StrictStr] = None,
2070
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2071
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2072
+ ) -> RESTResponseType:
2073
+ """Create or update an account name
2074
+
2075
+
2076
+ :param create_account_request_body: (required)
2077
+ :type create_account_request_body: CreateAccountRequestBody
2078
+ :param _request_timeout: timeout setting for this request. If one
2079
+ number provided, it will be total request
2080
+ timeout. It can also be a pair (tuple) of
2081
+ (connection, read) timeouts.
2082
+ :type _request_timeout: int, tuple(int, int), optional
2083
+ :param _request_auth: set to override the auth_settings for an a single
2084
+ request; this effectively ignores the
2085
+ authentication in the spec for a single request.
2086
+ :type _request_auth: dict, optional
2087
+ :param _content_type: force content-type for the request.
2088
+ :type _content_type: str, Optional
2089
+ :param _headers: set to override the headers for a single
2090
+ request; this effectively ignores the headers
2091
+ in the spec for a single request.
2092
+ :type _headers: dict, optional
2093
+ :param _host_index: set to override the host_index for a single
2094
+ request; this effectively ignores the host_index
2095
+ in the spec for a single request.
2096
+ :type _host_index: int, optional
2097
+ :return: Returns the result object.
2098
+ """ # noqa: E501
2099
+
2100
+ _param = self._account_update_account_serialize(
2101
+ create_account_request_body=create_account_request_body,
2102
+ _request_auth=_request_auth,
2103
+ _content_type=_content_type,
2104
+ _headers=_headers,
2105
+ _host_index=_host_index
2106
+ )
2107
+
2108
+ _response_types_map: Dict[str, Optional[str]] = {
2109
+ '200': "CreateAccountResponse",
2110
+ '400': None,
2111
+ '401': None,
2112
+ '500': None,
2113
+ }
2114
+ response_data = await self.api_client.call_api(
2115
+ *_param,
2116
+ _request_timeout=_request_timeout
2117
+ )
2118
+ return response_data.response
2119
+
2120
+
2121
+ def _account_update_account_serialize(
2122
+ self,
2123
+ create_account_request_body,
2124
+ _request_auth,
2125
+ _content_type,
2126
+ _headers,
2127
+ _host_index,
2128
+ ) -> RequestSerialized:
2129
+
2130
+ _host = None
2131
+
2132
+ _collection_formats: Dict[str, str] = {
2133
+ }
2134
+
2135
+ _path_params: Dict[str, str] = {}
2136
+ _query_params: List[Tuple[str, str]] = []
2137
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2138
+ _form_params: List[Tuple[str, str]] = []
2139
+ _files: Dict[
2140
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2141
+ ] = {}
2142
+ _body_params: Optional[bytes] = None
2143
+
2144
+ # process the path parameters
2145
+ # process the query parameters
2146
+ # process the header parameters
2147
+ # process the form parameters
2148
+ # process the body parameter
2149
+ if create_account_request_body is not None:
2150
+ _body_params = create_account_request_body
2151
+
2152
+
2153
+ # set the HTTP header `Accept`
2154
+ if 'Accept' not in _header_params:
2155
+ _header_params['Accept'] = self.api_client.select_header_accept(
2156
+ [
2157
+ 'application/json'
2158
+ ]
2159
+ )
2160
+
2161
+ # set the HTTP header `Content-Type`
2162
+ if _content_type:
2163
+ _header_params['Content-Type'] = _content_type
2164
+ else:
2165
+ _default_content_type = (
2166
+ self.api_client.select_header_content_type(
2167
+ [
2168
+ 'application/json'
2169
+ ]
2170
+ )
2171
+ )
2172
+ if _default_content_type is not None:
2173
+ _header_params['Content-Type'] = _default_content_type
2174
+
2175
+ # authentication setting
2176
+ _auth_settings: List[str] = [
2177
+ 'endUserHashed',
2178
+ 'endUser',
2179
+ 'apiKey',
2180
+ 'clientCredentials'
2181
+ ]
2182
+
2183
+ return self.api_client.param_serialize(
2184
+ method='POST',
2185
+ resource_path='/account',
2186
+ path_params=_path_params,
2187
+ query_params=_query_params,
2188
+ header_params=_header_params,
2189
+ body=_body_params,
2190
+ post_params=_form_params,
2191
+ files=_files,
2192
+ auth_settings=_auth_settings,
2193
+ collection_formats=_collection_formats,
2194
+ _host=_host,
2195
+ _request_auth=_request_auth
2196
+ )
2197
+
2198
+