bitwarden_api_api/apis/
providers_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17/// struct for typed errors of method [`providers_id_delete`]
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum ProvidersIdDeleteError {
21    UnknownValue(serde_json::Value),
22}
23
24/// struct for typed errors of method [`providers_id_delete_post`]
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum ProvidersIdDeletePostError {
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method [`providers_id_delete_recover_token_post`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum ProvidersIdDeleteRecoverTokenPostError {
35    UnknownValue(serde_json::Value),
36}
37
38/// struct for typed errors of method [`providers_id_get`]
39#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum ProvidersIdGetError {
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`providers_id_post`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum ProvidersIdPostError {
49    UnknownValue(serde_json::Value),
50}
51
52/// struct for typed errors of method [`providers_id_put`]
53#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum ProvidersIdPutError {
56    UnknownValue(serde_json::Value),
57}
58
59/// struct for typed errors of method [`providers_id_setup_post`]
60#[derive(Debug, Clone, Serialize, Deserialize)]
61#[serde(untagged)]
62pub enum ProvidersIdSetupPostError {
63    UnknownValue(serde_json::Value),
64}
65
66pub async fn providers_id_delete(
67    configuration: &configuration::Configuration,
68    id: uuid::Uuid,
69) -> Result<(), Error<ProvidersIdDeleteError>> {
70    // add a prefix to parameters to efficiently prevent name collisions
71    let p_id = id;
72
73    let uri_str = format!(
74        "{}/providers/{id}",
75        configuration.base_path,
76        id = crate::apis::urlencode(p_id.to_string())
77    );
78    let mut req_builder = configuration
79        .client
80        .request(reqwest::Method::DELETE, &uri_str);
81
82    if let Some(ref user_agent) = configuration.user_agent {
83        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
84    }
85    if let Some(ref token) = configuration.oauth_access_token {
86        req_builder = req_builder.bearer_auth(token.to_owned());
87    };
88
89    let req = req_builder.build()?;
90    let resp = configuration.client.execute(req).await?;
91
92    let status = resp.status();
93
94    if !status.is_client_error() && !status.is_server_error() {
95        Ok(())
96    } else {
97        let content = resp.text().await?;
98        let entity: Option<ProvidersIdDeleteError> = serde_json::from_str(&content).ok();
99        Err(Error::ResponseError(ResponseContent {
100            status,
101            content,
102            entity,
103        }))
104    }
105}
106
107pub async fn providers_id_delete_post(
108    configuration: &configuration::Configuration,
109    id: uuid::Uuid,
110) -> Result<(), Error<ProvidersIdDeletePostError>> {
111    // add a prefix to parameters to efficiently prevent name collisions
112    let p_id = id;
113
114    let uri_str = format!(
115        "{}/providers/{id}/delete",
116        configuration.base_path,
117        id = crate::apis::urlencode(p_id.to_string())
118    );
119    let mut req_builder = configuration
120        .client
121        .request(reqwest::Method::POST, &uri_str);
122
123    if let Some(ref user_agent) = configuration.user_agent {
124        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
125    }
126    if let Some(ref token) = configuration.oauth_access_token {
127        req_builder = req_builder.bearer_auth(token.to_owned());
128    };
129
130    let req = req_builder.build()?;
131    let resp = configuration.client.execute(req).await?;
132
133    let status = resp.status();
134
135    if !status.is_client_error() && !status.is_server_error() {
136        Ok(())
137    } else {
138        let content = resp.text().await?;
139        let entity: Option<ProvidersIdDeletePostError> = serde_json::from_str(&content).ok();
140        Err(Error::ResponseError(ResponseContent {
141            status,
142            content,
143            entity,
144        }))
145    }
146}
147
148pub async fn providers_id_delete_recover_token_post(
149    configuration: &configuration::Configuration,
150    id: uuid::Uuid,
151    provider_verify_delete_recover_request_model: Option<
152        models::ProviderVerifyDeleteRecoverRequestModel,
153    >,
154) -> Result<(), Error<ProvidersIdDeleteRecoverTokenPostError>> {
155    // add a prefix to parameters to efficiently prevent name collisions
156    let p_id = id;
157    let p_provider_verify_delete_recover_request_model =
158        provider_verify_delete_recover_request_model;
159
160    let uri_str = format!(
161        "{}/providers/{id}/delete-recover-token",
162        configuration.base_path,
163        id = crate::apis::urlencode(p_id.to_string())
164    );
165    let mut req_builder = configuration
166        .client
167        .request(reqwest::Method::POST, &uri_str);
168
169    if let Some(ref user_agent) = configuration.user_agent {
170        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
171    }
172    if let Some(ref token) = configuration.oauth_access_token {
173        req_builder = req_builder.bearer_auth(token.to_owned());
174    };
175    req_builder = req_builder.json(&p_provider_verify_delete_recover_request_model);
176
177    let req = req_builder.build()?;
178    let resp = configuration.client.execute(req).await?;
179
180    let status = resp.status();
181
182    if !status.is_client_error() && !status.is_server_error() {
183        Ok(())
184    } else {
185        let content = resp.text().await?;
186        let entity: Option<ProvidersIdDeleteRecoverTokenPostError> =
187            serde_json::from_str(&content).ok();
188        Err(Error::ResponseError(ResponseContent {
189            status,
190            content,
191            entity,
192        }))
193    }
194}
195
196pub async fn providers_id_get(
197    configuration: &configuration::Configuration,
198    id: uuid::Uuid,
199) -> Result<models::ProviderResponseModel, Error<ProvidersIdGetError>> {
200    // add a prefix to parameters to efficiently prevent name collisions
201    let p_id = id;
202
203    let uri_str = format!(
204        "{}/providers/{id}",
205        configuration.base_path,
206        id = crate::apis::urlencode(p_id.to_string())
207    );
208    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
209
210    if let Some(ref user_agent) = configuration.user_agent {
211        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
212    }
213    if let Some(ref token) = configuration.oauth_access_token {
214        req_builder = req_builder.bearer_auth(token.to_owned());
215    };
216
217    let req = req_builder.build()?;
218    let resp = configuration.client.execute(req).await?;
219
220    let status = resp.status();
221    let content_type = resp
222        .headers()
223        .get("content-type")
224        .and_then(|v| v.to_str().ok())
225        .unwrap_or("application/octet-stream");
226    let content_type = super::ContentType::from(content_type);
227
228    if !status.is_client_error() && !status.is_server_error() {
229        let content = resp.text().await?;
230        match content_type {
231            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
232            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProviderResponseModel`"))),
233            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProviderResponseModel`")))),
234        }
235    } else {
236        let content = resp.text().await?;
237        let entity: Option<ProvidersIdGetError> = serde_json::from_str(&content).ok();
238        Err(Error::ResponseError(ResponseContent {
239            status,
240            content,
241            entity,
242        }))
243    }
244}
245
246pub async fn providers_id_post(
247    configuration: &configuration::Configuration,
248    id: uuid::Uuid,
249    provider_update_request_model: Option<models::ProviderUpdateRequestModel>,
250) -> Result<models::ProviderResponseModel, Error<ProvidersIdPostError>> {
251    // add a prefix to parameters to efficiently prevent name collisions
252    let p_id = id;
253    let p_provider_update_request_model = provider_update_request_model;
254
255    let uri_str = format!(
256        "{}/providers/{id}",
257        configuration.base_path,
258        id = crate::apis::urlencode(p_id.to_string())
259    );
260    let mut req_builder = configuration
261        .client
262        .request(reqwest::Method::POST, &uri_str);
263
264    if let Some(ref user_agent) = configuration.user_agent {
265        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
266    }
267    if let Some(ref token) = configuration.oauth_access_token {
268        req_builder = req_builder.bearer_auth(token.to_owned());
269    };
270    req_builder = req_builder.json(&p_provider_update_request_model);
271
272    let req = req_builder.build()?;
273    let resp = configuration.client.execute(req).await?;
274
275    let status = resp.status();
276    let content_type = resp
277        .headers()
278        .get("content-type")
279        .and_then(|v| v.to_str().ok())
280        .unwrap_or("application/octet-stream");
281    let content_type = super::ContentType::from(content_type);
282
283    if !status.is_client_error() && !status.is_server_error() {
284        let content = resp.text().await?;
285        match content_type {
286            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
287            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProviderResponseModel`"))),
288            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProviderResponseModel`")))),
289        }
290    } else {
291        let content = resp.text().await?;
292        let entity: Option<ProvidersIdPostError> = serde_json::from_str(&content).ok();
293        Err(Error::ResponseError(ResponseContent {
294            status,
295            content,
296            entity,
297        }))
298    }
299}
300
301pub async fn providers_id_put(
302    configuration: &configuration::Configuration,
303    id: uuid::Uuid,
304    provider_update_request_model: Option<models::ProviderUpdateRequestModel>,
305) -> Result<models::ProviderResponseModel, Error<ProvidersIdPutError>> {
306    // add a prefix to parameters to efficiently prevent name collisions
307    let p_id = id;
308    let p_provider_update_request_model = provider_update_request_model;
309
310    let uri_str = format!(
311        "{}/providers/{id}",
312        configuration.base_path,
313        id = crate::apis::urlencode(p_id.to_string())
314    );
315    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
316
317    if let Some(ref user_agent) = configuration.user_agent {
318        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
319    }
320    if let Some(ref token) = configuration.oauth_access_token {
321        req_builder = req_builder.bearer_auth(token.to_owned());
322    };
323    req_builder = req_builder.json(&p_provider_update_request_model);
324
325    let req = req_builder.build()?;
326    let resp = configuration.client.execute(req).await?;
327
328    let status = resp.status();
329    let content_type = resp
330        .headers()
331        .get("content-type")
332        .and_then(|v| v.to_str().ok())
333        .unwrap_or("application/octet-stream");
334    let content_type = super::ContentType::from(content_type);
335
336    if !status.is_client_error() && !status.is_server_error() {
337        let content = resp.text().await?;
338        match content_type {
339            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
340            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProviderResponseModel`"))),
341            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProviderResponseModel`")))),
342        }
343    } else {
344        let content = resp.text().await?;
345        let entity: Option<ProvidersIdPutError> = serde_json::from_str(&content).ok();
346        Err(Error::ResponseError(ResponseContent {
347            status,
348            content,
349            entity,
350        }))
351    }
352}
353
354pub async fn providers_id_setup_post(
355    configuration: &configuration::Configuration,
356    id: uuid::Uuid,
357    provider_setup_request_model: Option<models::ProviderSetupRequestModel>,
358) -> Result<models::ProviderResponseModel, Error<ProvidersIdSetupPostError>> {
359    // add a prefix to parameters to efficiently prevent name collisions
360    let p_id = id;
361    let p_provider_setup_request_model = provider_setup_request_model;
362
363    let uri_str = format!(
364        "{}/providers/{id}/setup",
365        configuration.base_path,
366        id = crate::apis::urlencode(p_id.to_string())
367    );
368    let mut req_builder = configuration
369        .client
370        .request(reqwest::Method::POST, &uri_str);
371
372    if let Some(ref user_agent) = configuration.user_agent {
373        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
374    }
375    if let Some(ref token) = configuration.oauth_access_token {
376        req_builder = req_builder.bearer_auth(token.to_owned());
377    };
378    req_builder = req_builder.json(&p_provider_setup_request_model);
379
380    let req = req_builder.build()?;
381    let resp = configuration.client.execute(req).await?;
382
383    let status = resp.status();
384    let content_type = resp
385        .headers()
386        .get("content-type")
387        .and_then(|v| v.to_str().ok())
388        .unwrap_or("application/octet-stream");
389    let content_type = super::ContentType::from(content_type);
390
391    if !status.is_client_error() && !status.is_server_error() {
392        let content = resp.text().await?;
393        match content_type {
394            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
395            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProviderResponseModel`"))),
396            ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProviderResponseModel`")))),
397        }
398    } else {
399        let content = resp.text().await?;
400        let entity: Option<ProvidersIdSetupPostError> = serde_json::from_str(&content).ok();
401        Err(Error::ResponseError(ResponseContent {
402            status,
403            content,
404            entity,
405        }))
406    }
407}