1use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21 apis::{AuthRequired, ContentType, ResponseContent},
22 models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait ProviderUsersApi: Send + Sync {
29 async fn accept<'a>(
31 &self,
32 provider_id: uuid::Uuid,
33 id: uuid::Uuid,
34 provider_user_accept_request_model: Option<models::ProviderUserAcceptRequestModel>,
35 ) -> Result<(), Error>;
36
37 async fn bulk_confirm<'a>(
39 &self,
40 provider_id: uuid::Uuid,
41 provider_user_bulk_confirm_request_model: Option<
42 models::ProviderUserBulkConfirmRequestModel,
43 >,
44 ) -> Result<models::ProviderUserBulkResponseModelListResponseModel, Error>;
45
46 async fn bulk_delete<'a>(
48 &self,
49 provider_id: uuid::Uuid,
50 provider_user_bulk_request_model: Option<models::ProviderUserBulkRequestModel>,
51 ) -> Result<models::ProviderUserBulkResponseModelListResponseModel, Error>;
52
53 async fn bulk_reinvite<'a>(
55 &self,
56 provider_id: uuid::Uuid,
57 provider_user_bulk_request_model: Option<models::ProviderUserBulkRequestModel>,
58 ) -> Result<models::ProviderUserBulkResponseModelListResponseModel, Error>;
59
60 async fn confirm<'a>(
62 &self,
63 provider_id: uuid::Uuid,
64 id: uuid::Uuid,
65 provider_user_confirm_request_model: Option<models::ProviderUserConfirmRequestModel>,
66 ) -> Result<(), Error>;
67
68 async fn delete<'a>(&self, provider_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), Error>;
70
71 async fn get<'a>(
73 &self,
74 provider_id: uuid::Uuid,
75 id: uuid::Uuid,
76 ) -> Result<models::ProviderUserResponseModel, Error>;
77
78 async fn get_all<'a>(
80 &self,
81 provider_id: uuid::Uuid,
82 ) -> Result<models::ProviderUserUserDetailsResponseModelListResponseModel, Error>;
83
84 async fn invite<'a>(
86 &self,
87 provider_id: uuid::Uuid,
88 provider_user_invite_request_model: Option<models::ProviderUserInviteRequestModel>,
89 ) -> Result<(), Error>;
90
91 async fn put<'a>(
93 &self,
94 provider_id: uuid::Uuid,
95 id: uuid::Uuid,
96 provider_user_update_request_model: Option<models::ProviderUserUpdateRequestModel>,
97 ) -> Result<(), Error>;
98
99 async fn reinvite<'a>(&self, provider_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), Error>;
101
102 async fn user_public_keys<'a>(
104 &self,
105 provider_id: uuid::Uuid,
106 provider_user_bulk_request_model: Option<models::ProviderUserBulkRequestModel>,
107 ) -> Result<models::ProviderUserPublicKeyResponseModelListResponseModel, Error>;
108}
109
110pub struct ProviderUsersApiClient {
111 configuration: Arc<configuration::Configuration>,
112}
113
114impl ProviderUsersApiClient {
115 pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
116 Self { configuration }
117 }
118}
119
120#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
121#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
122impl ProviderUsersApi for ProviderUsersApiClient {
123 async fn accept<'a>(
124 &self,
125 provider_id: uuid::Uuid,
126 id: uuid::Uuid,
127 provider_user_accept_request_model: Option<models::ProviderUserAcceptRequestModel>,
128 ) -> Result<(), Error> {
129 let local_var_configuration = &self.configuration;
130
131 let local_var_client = &local_var_configuration.client;
132
133 let local_var_uri_str = format!(
134 "{}/providers/{providerId}/users/{id}/accept",
135 local_var_configuration.base_path,
136 providerId = provider_id,
137 id = id
138 );
139 let mut local_var_req_builder =
140 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
141
142 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
143 local_var_req_builder = local_var_req_builder.json(&provider_user_accept_request_model);
144
145 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
146 }
147
148 async fn bulk_confirm<'a>(
149 &self,
150 provider_id: uuid::Uuid,
151 provider_user_bulk_confirm_request_model: Option<
152 models::ProviderUserBulkConfirmRequestModel,
153 >,
154 ) -> Result<models::ProviderUserBulkResponseModelListResponseModel, Error> {
155 let local_var_configuration = &self.configuration;
156
157 let local_var_client = &local_var_configuration.client;
158
159 let local_var_uri_str = format!(
160 "{}/providers/{providerId}/users/confirm",
161 local_var_configuration.base_path,
162 providerId = provider_id
163 );
164 let mut local_var_req_builder =
165 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
166
167 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
168 local_var_req_builder =
169 local_var_req_builder.json(&provider_user_bulk_confirm_request_model);
170
171 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
172 }
173
174 async fn bulk_delete<'a>(
175 &self,
176 provider_id: uuid::Uuid,
177 provider_user_bulk_request_model: Option<models::ProviderUserBulkRequestModel>,
178 ) -> Result<models::ProviderUserBulkResponseModelListResponseModel, Error> {
179 let local_var_configuration = &self.configuration;
180
181 let local_var_client = &local_var_configuration.client;
182
183 let local_var_uri_str = format!(
184 "{}/providers/{providerId}/users",
185 local_var_configuration.base_path,
186 providerId = provider_id
187 );
188 let mut local_var_req_builder =
189 local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
190
191 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
192 local_var_req_builder = local_var_req_builder.json(&provider_user_bulk_request_model);
193
194 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
195 }
196
197 async fn bulk_reinvite<'a>(
198 &self,
199 provider_id: uuid::Uuid,
200 provider_user_bulk_request_model: Option<models::ProviderUserBulkRequestModel>,
201 ) -> Result<models::ProviderUserBulkResponseModelListResponseModel, Error> {
202 let local_var_configuration = &self.configuration;
203
204 let local_var_client = &local_var_configuration.client;
205
206 let local_var_uri_str = format!(
207 "{}/providers/{providerId}/users/reinvite",
208 local_var_configuration.base_path,
209 providerId = provider_id
210 );
211 let mut local_var_req_builder =
212 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
213
214 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
215 local_var_req_builder = local_var_req_builder.json(&provider_user_bulk_request_model);
216
217 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
218 }
219
220 async fn confirm<'a>(
221 &self,
222 provider_id: uuid::Uuid,
223 id: uuid::Uuid,
224 provider_user_confirm_request_model: Option<models::ProviderUserConfirmRequestModel>,
225 ) -> Result<(), Error> {
226 let local_var_configuration = &self.configuration;
227
228 let local_var_client = &local_var_configuration.client;
229
230 let local_var_uri_str = format!(
231 "{}/providers/{providerId}/users/{id}/confirm",
232 local_var_configuration.base_path,
233 providerId = provider_id,
234 id = id
235 );
236 let mut local_var_req_builder =
237 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
238
239 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
240 local_var_req_builder = local_var_req_builder.json(&provider_user_confirm_request_model);
241
242 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
243 }
244
245 async fn delete<'a>(&self, provider_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), Error> {
246 let local_var_configuration = &self.configuration;
247
248 let local_var_client = &local_var_configuration.client;
249
250 let local_var_uri_str = format!(
251 "{}/providers/{providerId}/users/{id}",
252 local_var_configuration.base_path,
253 providerId = provider_id,
254 id = id
255 );
256 let mut local_var_req_builder =
257 local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
258
259 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
260
261 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
262 }
263
264 async fn get<'a>(
265 &self,
266 provider_id: uuid::Uuid,
267 id: uuid::Uuid,
268 ) -> Result<models::ProviderUserResponseModel, Error> {
269 let local_var_configuration = &self.configuration;
270
271 let local_var_client = &local_var_configuration.client;
272
273 let local_var_uri_str = format!(
274 "{}/providers/{providerId}/users/{id}",
275 local_var_configuration.base_path,
276 providerId = provider_id,
277 id = id
278 );
279 let mut local_var_req_builder =
280 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
281
282 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
283
284 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
285 }
286
287 async fn get_all<'a>(
288 &self,
289 provider_id: uuid::Uuid,
290 ) -> Result<models::ProviderUserUserDetailsResponseModelListResponseModel, Error> {
291 let local_var_configuration = &self.configuration;
292
293 let local_var_client = &local_var_configuration.client;
294
295 let local_var_uri_str = format!(
296 "{}/providers/{providerId}/users",
297 local_var_configuration.base_path,
298 providerId = provider_id
299 );
300 let mut local_var_req_builder =
301 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
302
303 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
304
305 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
306 }
307
308 async fn invite<'a>(
309 &self,
310 provider_id: uuid::Uuid,
311 provider_user_invite_request_model: Option<models::ProviderUserInviteRequestModel>,
312 ) -> Result<(), Error> {
313 let local_var_configuration = &self.configuration;
314
315 let local_var_client = &local_var_configuration.client;
316
317 let local_var_uri_str = format!(
318 "{}/providers/{providerId}/users/invite",
319 local_var_configuration.base_path,
320 providerId = provider_id
321 );
322 let mut local_var_req_builder =
323 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
324
325 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
326 local_var_req_builder = local_var_req_builder.json(&provider_user_invite_request_model);
327
328 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
329 }
330
331 async fn put<'a>(
332 &self,
333 provider_id: uuid::Uuid,
334 id: uuid::Uuid,
335 provider_user_update_request_model: Option<models::ProviderUserUpdateRequestModel>,
336 ) -> Result<(), Error> {
337 let local_var_configuration = &self.configuration;
338
339 let local_var_client = &local_var_configuration.client;
340
341 let local_var_uri_str = format!(
342 "{}/providers/{providerId}/users/{id}",
343 local_var_configuration.base_path,
344 providerId = provider_id,
345 id = id
346 );
347 let mut local_var_req_builder =
348 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
349
350 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
351 local_var_req_builder = local_var_req_builder.json(&provider_user_update_request_model);
352
353 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
354 }
355
356 async fn reinvite<'a>(&self, provider_id: uuid::Uuid, id: uuid::Uuid) -> Result<(), Error> {
357 let local_var_configuration = &self.configuration;
358
359 let local_var_client = &local_var_configuration.client;
360
361 let local_var_uri_str = format!(
362 "{}/providers/{providerId}/users/{id}/reinvite",
363 local_var_configuration.base_path,
364 providerId = provider_id,
365 id = id
366 );
367 let mut local_var_req_builder =
368 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
369
370 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
371
372 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
373 }
374
375 async fn user_public_keys<'a>(
376 &self,
377 provider_id: uuid::Uuid,
378 provider_user_bulk_request_model: Option<models::ProviderUserBulkRequestModel>,
379 ) -> Result<models::ProviderUserPublicKeyResponseModelListResponseModel, Error> {
380 let local_var_configuration = &self.configuration;
381
382 let local_var_client = &local_var_configuration.client;
383
384 let local_var_uri_str = format!(
385 "{}/providers/{providerId}/users/public-keys",
386 local_var_configuration.base_path,
387 providerId = provider_id
388 );
389 let mut local_var_req_builder =
390 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
391
392 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
393 local_var_req_builder = local_var_req_builder.json(&provider_user_bulk_request_model);
394
395 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
396 }
397}