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 OrganizationsApi: Send + Sync {
29 async fn api_key<'a>(
31 &self,
32 id: &'a str,
33 organization_api_key_request_model: Option<models::OrganizationApiKeyRequestModel>,
34 ) -> Result<models::ApiKeyResponseModel, Error>;
35
36 async fn api_key_information<'a>(
38 &self,
39 id: uuid::Uuid,
40 r#type: models::OrganizationApiKeyType,
41 ) -> Result<models::OrganizationApiKeyInformationListResponseModel, Error>;
42
43 async fn create_without_payment<'a>(
45 &self,
46 organization_no_payment_create_request: Option<models::OrganizationNoPaymentCreateRequest>,
47 ) -> Result<models::OrganizationResponseModel, Error>;
48
49 async fn delete<'a>(
51 &self,
52 id: &'a str,
53 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
54 ) -> Result<(), Error>;
55
56 async fn get<'a>(&self, id: &'a str) -> Result<models::OrganizationResponseModel, Error>;
58
59 async fn get_auto_enroll_status<'a>(
61 &self,
62 identifier: &'a str,
63 ) -> Result<models::OrganizationAutoEnrollStatusResponseModel, Error>;
64
65 async fn get_license<'a>(
67 &self,
68 id: uuid::Uuid,
69 installation_id: Option<uuid::Uuid>,
70 ) -> Result<models::OrganizationLicense, Error>;
71
72 async fn get_public_key<'a>(
74 &self,
75 id: &'a str,
76 ) -> Result<models::OrganizationPublicKeyResponseModel, Error>;
77
78 async fn get_sso<'a>(
80 &self,
81 id: uuid::Uuid,
82 ) -> Result<models::OrganizationSsoResponseModel, Error>;
83
84 async fn get_subscription<'a>(
86 &self,
87 id: uuid::Uuid,
88 ) -> Result<models::OrganizationSubscriptionResponseModel, Error>;
89
90 async fn get_user(
92 &self,
93 ) -> Result<models::ProfileOrganizationResponseModelListResponseModel, Error>;
94
95 async fn leave<'a>(&self, id: uuid::Uuid) -> Result<(), Error>;
97
98 async fn post<'a>(
100 &self,
101 organization_create_request_model: Option<models::OrganizationCreateRequestModel>,
102 ) -> Result<models::OrganizationResponseModel, Error>;
103
104 async fn post_cancel<'a>(
106 &self,
107 id: uuid::Uuid,
108 subscription_cancellation_request_model: Option<
109 models::SubscriptionCancellationRequestModel,
110 >,
111 ) -> Result<(), Error>;
112
113 async fn post_delete_recover_token<'a>(
115 &self,
116 id: uuid::Uuid,
117 organization_verify_delete_recover_request_model: Option<
118 models::OrganizationVerifyDeleteRecoverRequestModel,
119 >,
120 ) -> Result<(), Error>;
121
122 async fn post_keys<'a>(
124 &self,
125 id: uuid::Uuid,
126 organization_keys_request_model: Option<models::OrganizationKeysRequestModel>,
127 ) -> Result<models::OrganizationKeysResponseModel, Error>;
128
129 async fn post_reinstate<'a>(&self, id: uuid::Uuid) -> Result<(), Error>;
131
132 async fn post_seat<'a>(
134 &self,
135 id: uuid::Uuid,
136 organization_seat_request_model: Option<models::OrganizationSeatRequestModel>,
137 ) -> Result<models::PaymentResponseModel, Error>;
138
139 async fn post_sm_subscription<'a>(
141 &self,
142 id: uuid::Uuid,
143 secrets_manager_subscription_update_request_model: Option<
144 models::SecretsManagerSubscriptionUpdateRequestModel,
145 >,
146 ) -> Result<models::ProfileOrganizationResponseModel, Error>;
147
148 async fn post_sso<'a>(
150 &self,
151 id: uuid::Uuid,
152 organization_sso_request_model: Option<models::OrganizationSsoRequestModel>,
153 ) -> Result<models::OrganizationSsoResponseModel, Error>;
154
155 async fn post_storage<'a>(
157 &self,
158 id: &'a str,
159 storage_request_model: Option<models::StorageRequestModel>,
160 ) -> Result<models::PaymentResponseModel, Error>;
161
162 async fn post_subscribe_secrets_manager<'a>(
164 &self,
165 id: uuid::Uuid,
166 secrets_manager_subscribe_request_model: Option<
167 models::SecretsManagerSubscribeRequestModel,
168 >,
169 ) -> Result<models::ProfileOrganizationResponseModel, Error>;
170
171 async fn post_subscription<'a>(
173 &self,
174 id: uuid::Uuid,
175 organization_subscription_update_request_model: Option<
176 models::OrganizationSubscriptionUpdateRequestModel,
177 >,
178 ) -> Result<models::ProfileOrganizationResponseModel, Error>;
179
180 async fn post_upgrade<'a>(
182 &self,
183 id: uuid::Uuid,
184 organization_upgrade_request_model: Option<models::OrganizationUpgradeRequestModel>,
185 ) -> Result<models::PaymentResponseModel, Error>;
186
187 async fn put<'a>(
189 &self,
190 organization_id: uuid::Uuid,
191 organization_update_request_model: Option<models::OrganizationUpdateRequestModel>,
192 ) -> Result<(), Error>;
193
194 async fn put_collection_management<'a>(
196 &self,
197 id: uuid::Uuid,
198 organization_collection_management_update_request_model: Option<
199 models::OrganizationCollectionManagementUpdateRequestModel,
200 >,
201 ) -> Result<models::OrganizationResponseModel, Error>;
202
203 async fn rotate_api_key<'a>(
205 &self,
206 id: &'a str,
207 organization_api_key_request_model: Option<models::OrganizationApiKeyRequestModel>,
208 ) -> Result<models::ApiKeyResponseModel, Error>;
209}
210
211pub struct OrganizationsApiClient {
212 configuration: Arc<configuration::Configuration>,
213}
214
215impl OrganizationsApiClient {
216 pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
217 Self { configuration }
218 }
219}
220
221#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
222#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
223impl OrganizationsApi for OrganizationsApiClient {
224 async fn api_key<'a>(
225 &self,
226 id: &'a str,
227 organization_api_key_request_model: Option<models::OrganizationApiKeyRequestModel>,
228 ) -> Result<models::ApiKeyResponseModel, Error> {
229 let local_var_configuration = &self.configuration;
230
231 let local_var_client = &local_var_configuration.client;
232
233 let local_var_uri_str = format!(
234 "{}/organizations/{id}/api-key",
235 local_var_configuration.base_path,
236 id = crate::apis::urlencode(id)
237 );
238 let mut local_var_req_builder =
239 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
240
241 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
242 local_var_req_builder = local_var_req_builder.json(&organization_api_key_request_model);
243
244 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
245 }
246
247 async fn api_key_information<'a>(
248 &self,
249 id: uuid::Uuid,
250 r#type: models::OrganizationApiKeyType,
251 ) -> Result<models::OrganizationApiKeyInformationListResponseModel, Error> {
252 let local_var_configuration = &self.configuration;
253
254 let local_var_client = &local_var_configuration.client;
255
256 let local_var_uri_str = format!("{}/organizations/{id}/api-key-information/{type}", local_var_configuration.base_path, id=id, type=r#type.to_string());
257 let mut local_var_req_builder =
258 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
259
260 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
261
262 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
263 }
264
265 async fn create_without_payment<'a>(
266 &self,
267 organization_no_payment_create_request: Option<models::OrganizationNoPaymentCreateRequest>,
268 ) -> Result<models::OrganizationResponseModel, 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 "{}/organizations/create-without-payment",
275 local_var_configuration.base_path
276 );
277 let mut local_var_req_builder =
278 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
279
280 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
281 local_var_req_builder = local_var_req_builder.json(&organization_no_payment_create_request);
282
283 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
284 }
285
286 async fn delete<'a>(
287 &self,
288 id: &'a str,
289 secret_verification_request_model: Option<models::SecretVerificationRequestModel>,
290 ) -> Result<(), 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 "{}/organizations/{id}",
297 local_var_configuration.base_path,
298 id = crate::apis::urlencode(id)
299 );
300 let mut local_var_req_builder =
301 local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
302
303 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
304 local_var_req_builder = local_var_req_builder.json(&secret_verification_request_model);
305
306 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
307 }
308
309 async fn get<'a>(&self, id: &'a str) -> Result<models::OrganizationResponseModel, Error> {
310 let local_var_configuration = &self.configuration;
311
312 let local_var_client = &local_var_configuration.client;
313
314 let local_var_uri_str = format!(
315 "{}/organizations/{id}",
316 local_var_configuration.base_path,
317 id = crate::apis::urlencode(id)
318 );
319 let mut local_var_req_builder =
320 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
321
322 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
323
324 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
325 }
326
327 async fn get_auto_enroll_status<'a>(
328 &self,
329 identifier: &'a str,
330 ) -> Result<models::OrganizationAutoEnrollStatusResponseModel, Error> {
331 let local_var_configuration = &self.configuration;
332
333 let local_var_client = &local_var_configuration.client;
334
335 let local_var_uri_str = format!(
336 "{}/organizations/{identifier}/auto-enroll-status",
337 local_var_configuration.base_path,
338 identifier = crate::apis::urlencode(identifier)
339 );
340 let mut local_var_req_builder =
341 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
342
343 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
344
345 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
346 }
347
348 async fn get_license<'a>(
349 &self,
350 id: uuid::Uuid,
351 installation_id: Option<uuid::Uuid>,
352 ) -> Result<models::OrganizationLicense, Error> {
353 let local_var_configuration = &self.configuration;
354
355 let local_var_client = &local_var_configuration.client;
356
357 let local_var_uri_str = format!(
358 "{}/organizations/{id}/license",
359 local_var_configuration.base_path,
360 id = id
361 );
362 let mut local_var_req_builder =
363 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
364
365 if let Some(ref param_value) = installation_id {
366 local_var_req_builder =
367 local_var_req_builder.query(&[("installationId", ¶m_value.to_string())]);
368 }
369 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
370
371 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
372 }
373
374 async fn get_public_key<'a>(
375 &self,
376 id: &'a str,
377 ) -> Result<models::OrganizationPublicKeyResponseModel, Error> {
378 let local_var_configuration = &self.configuration;
379
380 let local_var_client = &local_var_configuration.client;
381
382 let local_var_uri_str = format!(
383 "{}/organizations/{id}/public-key",
384 local_var_configuration.base_path,
385 id = crate::apis::urlencode(id)
386 );
387 let mut local_var_req_builder =
388 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
389
390 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
391
392 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
393 }
394
395 async fn get_sso<'a>(
396 &self,
397 id: uuid::Uuid,
398 ) -> Result<models::OrganizationSsoResponseModel, Error> {
399 let local_var_configuration = &self.configuration;
400
401 let local_var_client = &local_var_configuration.client;
402
403 let local_var_uri_str = format!(
404 "{}/organizations/{id}/sso",
405 local_var_configuration.base_path,
406 id = id
407 );
408 let mut local_var_req_builder =
409 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
410
411 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
412
413 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
414 }
415
416 async fn get_subscription<'a>(
417 &self,
418 id: uuid::Uuid,
419 ) -> Result<models::OrganizationSubscriptionResponseModel, Error> {
420 let local_var_configuration = &self.configuration;
421
422 let local_var_client = &local_var_configuration.client;
423
424 let local_var_uri_str = format!(
425 "{}/organizations/{id}/subscription",
426 local_var_configuration.base_path,
427 id = id
428 );
429 let mut local_var_req_builder =
430 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
431
432 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
433
434 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
435 }
436
437 async fn get_user(
438 &self,
439 ) -> Result<models::ProfileOrganizationResponseModelListResponseModel, Error> {
440 let local_var_configuration = &self.configuration;
441
442 let local_var_client = &local_var_configuration.client;
443
444 let local_var_uri_str = format!("{}/organizations", local_var_configuration.base_path);
445 let mut local_var_req_builder =
446 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
447
448 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
449
450 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
451 }
452
453 async fn leave<'a>(&self, id: uuid::Uuid) -> Result<(), Error> {
454 let local_var_configuration = &self.configuration;
455
456 let local_var_client = &local_var_configuration.client;
457
458 let local_var_uri_str = format!(
459 "{}/organizations/{id}/leave",
460 local_var_configuration.base_path,
461 id = id
462 );
463 let mut local_var_req_builder =
464 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
465
466 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
467
468 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
469 }
470
471 async fn post<'a>(
472 &self,
473 organization_create_request_model: Option<models::OrganizationCreateRequestModel>,
474 ) -> Result<models::OrganizationResponseModel, Error> {
475 let local_var_configuration = &self.configuration;
476
477 let local_var_client = &local_var_configuration.client;
478
479 let local_var_uri_str = format!("{}/organizations", local_var_configuration.base_path);
480 let mut local_var_req_builder =
481 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
482
483 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
484 local_var_req_builder = local_var_req_builder.json(&organization_create_request_model);
485
486 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
487 }
488
489 async fn post_cancel<'a>(
490 &self,
491 id: uuid::Uuid,
492 subscription_cancellation_request_model: Option<
493 models::SubscriptionCancellationRequestModel,
494 >,
495 ) -> Result<(), Error> {
496 let local_var_configuration = &self.configuration;
497
498 let local_var_client = &local_var_configuration.client;
499
500 let local_var_uri_str = format!(
501 "{}/organizations/{id}/cancel",
502 local_var_configuration.base_path,
503 id = id
504 );
505 let mut local_var_req_builder =
506 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
507
508 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
509 local_var_req_builder =
510 local_var_req_builder.json(&subscription_cancellation_request_model);
511
512 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
513 }
514
515 async fn post_delete_recover_token<'a>(
516 &self,
517 id: uuid::Uuid,
518 organization_verify_delete_recover_request_model: Option<
519 models::OrganizationVerifyDeleteRecoverRequestModel,
520 >,
521 ) -> Result<(), Error> {
522 let local_var_configuration = &self.configuration;
523
524 let local_var_client = &local_var_configuration.client;
525
526 let local_var_uri_str = format!(
527 "{}/organizations/{id}/delete-recover-token",
528 local_var_configuration.base_path,
529 id = id
530 );
531 let mut local_var_req_builder =
532 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
533
534 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
535 local_var_req_builder =
536 local_var_req_builder.json(&organization_verify_delete_recover_request_model);
537
538 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
539 }
540
541 async fn post_keys<'a>(
542 &self,
543 id: uuid::Uuid,
544 organization_keys_request_model: Option<models::OrganizationKeysRequestModel>,
545 ) -> Result<models::OrganizationKeysResponseModel, Error> {
546 let local_var_configuration = &self.configuration;
547
548 let local_var_client = &local_var_configuration.client;
549
550 let local_var_uri_str = format!(
551 "{}/organizations/{id}/keys",
552 local_var_configuration.base_path,
553 id = id
554 );
555 let mut local_var_req_builder =
556 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
557
558 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
559 local_var_req_builder = local_var_req_builder.json(&organization_keys_request_model);
560
561 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
562 }
563
564 async fn post_reinstate<'a>(&self, id: uuid::Uuid) -> Result<(), Error> {
565 let local_var_configuration = &self.configuration;
566
567 let local_var_client = &local_var_configuration.client;
568
569 let local_var_uri_str = format!(
570 "{}/organizations/{id}/reinstate",
571 local_var_configuration.base_path,
572 id = id
573 );
574 let mut local_var_req_builder =
575 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
576
577 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
578
579 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
580 }
581
582 async fn post_seat<'a>(
583 &self,
584 id: uuid::Uuid,
585 organization_seat_request_model: Option<models::OrganizationSeatRequestModel>,
586 ) -> Result<models::PaymentResponseModel, Error> {
587 let local_var_configuration = &self.configuration;
588
589 let local_var_client = &local_var_configuration.client;
590
591 let local_var_uri_str = format!(
592 "{}/organizations/{id}/seat",
593 local_var_configuration.base_path,
594 id = id
595 );
596 let mut local_var_req_builder =
597 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
598
599 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
600 local_var_req_builder = local_var_req_builder.json(&organization_seat_request_model);
601
602 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
603 }
604
605 async fn post_sm_subscription<'a>(
606 &self,
607 id: uuid::Uuid,
608 secrets_manager_subscription_update_request_model: Option<
609 models::SecretsManagerSubscriptionUpdateRequestModel,
610 >,
611 ) -> Result<models::ProfileOrganizationResponseModel, Error> {
612 let local_var_configuration = &self.configuration;
613
614 let local_var_client = &local_var_configuration.client;
615
616 let local_var_uri_str = format!(
617 "{}/organizations/{id}/sm-subscription",
618 local_var_configuration.base_path,
619 id = id
620 );
621 let mut local_var_req_builder =
622 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
623
624 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
625 local_var_req_builder =
626 local_var_req_builder.json(&secrets_manager_subscription_update_request_model);
627
628 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
629 }
630
631 async fn post_sso<'a>(
632 &self,
633 id: uuid::Uuid,
634 organization_sso_request_model: Option<models::OrganizationSsoRequestModel>,
635 ) -> Result<models::OrganizationSsoResponseModel, Error> {
636 let local_var_configuration = &self.configuration;
637
638 let local_var_client = &local_var_configuration.client;
639
640 let local_var_uri_str = format!(
641 "{}/organizations/{id}/sso",
642 local_var_configuration.base_path,
643 id = id
644 );
645 let mut local_var_req_builder =
646 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
647
648 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
649 local_var_req_builder = local_var_req_builder.json(&organization_sso_request_model);
650
651 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
652 }
653
654 async fn post_storage<'a>(
655 &self,
656 id: &'a str,
657 storage_request_model: Option<models::StorageRequestModel>,
658 ) -> Result<models::PaymentResponseModel, Error> {
659 let local_var_configuration = &self.configuration;
660
661 let local_var_client = &local_var_configuration.client;
662
663 let local_var_uri_str = format!(
664 "{}/organizations/{id}/storage",
665 local_var_configuration.base_path,
666 id = crate::apis::urlencode(id)
667 );
668 let mut local_var_req_builder =
669 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
670
671 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
672 local_var_req_builder = local_var_req_builder.json(&storage_request_model);
673
674 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
675 }
676
677 async fn post_subscribe_secrets_manager<'a>(
678 &self,
679 id: uuid::Uuid,
680 secrets_manager_subscribe_request_model: Option<
681 models::SecretsManagerSubscribeRequestModel,
682 >,
683 ) -> Result<models::ProfileOrganizationResponseModel, Error> {
684 let local_var_configuration = &self.configuration;
685
686 let local_var_client = &local_var_configuration.client;
687
688 let local_var_uri_str = format!(
689 "{}/organizations/{id}/subscribe-secrets-manager",
690 local_var_configuration.base_path,
691 id = id
692 );
693 let mut local_var_req_builder =
694 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
695
696 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
697 local_var_req_builder =
698 local_var_req_builder.json(&secrets_manager_subscribe_request_model);
699
700 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
701 }
702
703 async fn post_subscription<'a>(
704 &self,
705 id: uuid::Uuid,
706 organization_subscription_update_request_model: Option<
707 models::OrganizationSubscriptionUpdateRequestModel,
708 >,
709 ) -> Result<models::ProfileOrganizationResponseModel, Error> {
710 let local_var_configuration = &self.configuration;
711
712 let local_var_client = &local_var_configuration.client;
713
714 let local_var_uri_str = format!(
715 "{}/organizations/{id}/subscription",
716 local_var_configuration.base_path,
717 id = id
718 );
719 let mut local_var_req_builder =
720 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
721
722 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
723 local_var_req_builder =
724 local_var_req_builder.json(&organization_subscription_update_request_model);
725
726 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
727 }
728
729 async fn post_upgrade<'a>(
730 &self,
731 id: uuid::Uuid,
732 organization_upgrade_request_model: Option<models::OrganizationUpgradeRequestModel>,
733 ) -> Result<models::PaymentResponseModel, Error> {
734 let local_var_configuration = &self.configuration;
735
736 let local_var_client = &local_var_configuration.client;
737
738 let local_var_uri_str = format!(
739 "{}/organizations/{id}/upgrade",
740 local_var_configuration.base_path,
741 id = id
742 );
743 let mut local_var_req_builder =
744 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
745
746 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
747 local_var_req_builder = local_var_req_builder.json(&organization_upgrade_request_model);
748
749 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
750 }
751
752 async fn put<'a>(
753 &self,
754 organization_id: uuid::Uuid,
755 organization_update_request_model: Option<models::OrganizationUpdateRequestModel>,
756 ) -> Result<(), Error> {
757 let local_var_configuration = &self.configuration;
758
759 let local_var_client = &local_var_configuration.client;
760
761 let local_var_uri_str = format!(
762 "{}/organizations/{organizationId}",
763 local_var_configuration.base_path,
764 organizationId = organization_id
765 );
766 let mut local_var_req_builder =
767 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
768
769 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
770 local_var_req_builder = local_var_req_builder.json(&organization_update_request_model);
771
772 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
773 }
774
775 async fn put_collection_management<'a>(
776 &self,
777 id: uuid::Uuid,
778 organization_collection_management_update_request_model: Option<
779 models::OrganizationCollectionManagementUpdateRequestModel,
780 >,
781 ) -> Result<models::OrganizationResponseModel, Error> {
782 let local_var_configuration = &self.configuration;
783
784 let local_var_client = &local_var_configuration.client;
785
786 let local_var_uri_str = format!(
787 "{}/organizations/{id}/collection-management",
788 local_var_configuration.base_path,
789 id = id
790 );
791 let mut local_var_req_builder =
792 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
793
794 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
795 local_var_req_builder =
796 local_var_req_builder.json(&organization_collection_management_update_request_model);
797
798 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
799 }
800
801 async fn rotate_api_key<'a>(
802 &self,
803 id: &'a str,
804 organization_api_key_request_model: Option<models::OrganizationApiKeyRequestModel>,
805 ) -> Result<models::ApiKeyResponseModel, Error> {
806 let local_var_configuration = &self.configuration;
807
808 let local_var_client = &local_var_configuration.client;
809
810 let local_var_uri_str = format!(
811 "{}/organizations/{id}/rotate-api-key",
812 local_var_configuration.base_path,
813 id = crate::apis::urlencode(id)
814 );
815 let mut local_var_req_builder =
816 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
817
818 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
819 local_var_req_builder = local_var_req_builder.json(&organization_api_key_request_model);
820
821 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
822 }
823}