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