1use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum ProvidersIdDeleteError {
21 UnknownValue(serde_json::Value),
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum ProvidersIdDeletePostError {
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum ProvidersIdDeleteRecoverTokenPostError {
35 UnknownValue(serde_json::Value),
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum ProvidersIdGetError {
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum ProvidersIdPostError {
49 UnknownValue(serde_json::Value),
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum ProvidersIdPutError {
56 UnknownValue(serde_json::Value),
57}
58
59#[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 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 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 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 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 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 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 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}