bitwarden_api_api/apis/
organization_integration_configuration_api.rs1use 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 OrganizationIntegrationConfigurationApi: Send + Sync {
29 async fn create<'a>(
31 &self,
32 organization_id: uuid::Uuid,
33 integration_id: uuid::Uuid,
34 organization_integration_configuration_request_model: Option<
35 models::OrganizationIntegrationConfigurationRequestModel,
36 >,
37 ) -> Result<models::OrganizationIntegrationConfigurationResponseModel, Error>;
38
39 async fn delete<'a>(
42 &self,
43 organization_id: uuid::Uuid,
44 integration_id: uuid::Uuid,
45 configuration_id: uuid::Uuid,
46 ) -> Result<(), Error>;
47
48 async fn get<'a>(
50 &self,
51 organization_id: uuid::Uuid,
52 integration_id: uuid::Uuid,
53 ) -> Result<Vec<models::OrganizationIntegrationConfigurationResponseModel>, Error>;
54
55 async fn update<'a>(
58 &self,
59 organization_id: uuid::Uuid,
60 integration_id: uuid::Uuid,
61 configuration_id: uuid::Uuid,
62 organization_integration_configuration_request_model: Option<
63 models::OrganizationIntegrationConfigurationRequestModel,
64 >,
65 ) -> Result<models::OrganizationIntegrationConfigurationResponseModel, Error>;
66}
67
68pub struct OrganizationIntegrationConfigurationApiClient {
69 configuration: Arc<configuration::Configuration>,
70}
71
72impl OrganizationIntegrationConfigurationApiClient {
73 pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
74 Self { configuration }
75 }
76}
77
78#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
79#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
80impl OrganizationIntegrationConfigurationApi for OrganizationIntegrationConfigurationApiClient {
81 async fn create<'a>(
82 &self,
83 organization_id: uuid::Uuid,
84 integration_id: uuid::Uuid,
85 organization_integration_configuration_request_model: Option<
86 models::OrganizationIntegrationConfigurationRequestModel,
87 >,
88 ) -> Result<models::OrganizationIntegrationConfigurationResponseModel, Error> {
89 let local_var_configuration = &self.configuration;
90
91 let local_var_client = &local_var_configuration.client;
92
93 let local_var_uri_str = format!(
94 "{}/organizations/{organizationId}/integrations/{integrationId}/configurations",
95 local_var_configuration.base_path,
96 organizationId = organization_id,
97 integrationId = integration_id
98 );
99 let mut local_var_req_builder =
100 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
101
102 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
103 local_var_req_builder =
104 local_var_req_builder.json(&organization_integration_configuration_request_model);
105
106 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
107 }
108
109 async fn delete<'a>(
110 &self,
111 organization_id: uuid::Uuid,
112 integration_id: uuid::Uuid,
113 configuration_id: uuid::Uuid,
114 ) -> Result<(), Error> {
115 let local_var_configuration = &self.configuration;
116
117 let local_var_client = &local_var_configuration.client;
118
119 let local_var_uri_str = format!(
120 "{}/organizations/{organizationId}/integrations/{integrationId}/configurations/{configurationId}",
121 local_var_configuration.base_path,
122 organizationId = organization_id,
123 integrationId = integration_id,
124 configurationId = configuration_id
125 );
126 let mut local_var_req_builder =
127 local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
128
129 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
130
131 bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
132 }
133
134 async fn get<'a>(
135 &self,
136 organization_id: uuid::Uuid,
137 integration_id: uuid::Uuid,
138 ) -> Result<Vec<models::OrganizationIntegrationConfigurationResponseModel>, Error> {
139 let local_var_configuration = &self.configuration;
140
141 let local_var_client = &local_var_configuration.client;
142
143 let local_var_uri_str = format!(
144 "{}/organizations/{organizationId}/integrations/{integrationId}/configurations",
145 local_var_configuration.base_path,
146 organizationId = organization_id,
147 integrationId = integration_id
148 );
149 let mut local_var_req_builder =
150 local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
151
152 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
153
154 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
155 }
156
157 async fn update<'a>(
158 &self,
159 organization_id: uuid::Uuid,
160 integration_id: uuid::Uuid,
161 configuration_id: uuid::Uuid,
162 organization_integration_configuration_request_model: Option<
163 models::OrganizationIntegrationConfigurationRequestModel,
164 >,
165 ) -> Result<models::OrganizationIntegrationConfigurationResponseModel, Error> {
166 let local_var_configuration = &self.configuration;
167
168 let local_var_client = &local_var_configuration.client;
169
170 let local_var_uri_str = format!(
171 "{}/organizations/{organizationId}/integrations/{integrationId}/configurations/{configurationId}",
172 local_var_configuration.base_path,
173 organizationId = organization_id,
174 integrationId = integration_id,
175 configurationId = configuration_id
176 );
177 let mut local_var_req_builder =
178 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
179
180 local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
181 local_var_req_builder =
182 local_var_req_builder.json(&organization_integration_configuration_request_model);
183
184 bitwarden_api_base::process_with_json_response(local_var_req_builder).await
185 }
186}