bitwarden_api_api/apis/
organization_sponsorships_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 [`organization_sponsorship_redeem_post`]
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum OrganizationSponsorshipRedeemPostError {
21    UnknownValue(serde_json::Value),
22}
23
24/// struct for typed errors of method [`organization_sponsorship_sponsored_sponsored_org_id_delete`]
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum OrganizationSponsorshipSponsoredSponsoredOrgIdDeleteError {
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method
32/// [`organization_sponsorship_sponsored_sponsored_org_id_remove_post`]
33#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum OrganizationSponsorshipSponsoredSponsoredOrgIdRemovePostError {
36    UnknownValue(serde_json::Value),
37}
38
39/// struct for typed errors of method
40/// [`organization_sponsorship_sponsoring_org_id_families_for_enterprise_post`]
41#[derive(Debug, Clone, Serialize, Deserialize)]
42#[serde(untagged)]
43pub enum OrganizationSponsorshipSponsoringOrgIdFamiliesForEnterprisePostError {
44    UnknownValue(serde_json::Value),
45}
46
47/// struct for typed errors of method
48/// [`organization_sponsorship_sponsoring_org_id_families_for_enterprise_resend_post`]
49#[derive(Debug, Clone, Serialize, Deserialize)]
50#[serde(untagged)]
51pub enum OrganizationSponsorshipSponsoringOrgIdFamiliesForEnterpriseResendPostError {
52    UnknownValue(serde_json::Value),
53}
54
55/// struct for typed errors of method
56/// [`organization_sponsorship_sponsoring_org_id_sponsored_friendly_name_revoke_delete`]
57#[derive(Debug, Clone, Serialize, Deserialize)]
58#[serde(untagged)]
59pub enum OrganizationSponsorshipSponsoringOrgIdSponsoredFriendlyNameRevokeDeleteError {
60    UnknownValue(serde_json::Value),
61}
62
63/// struct for typed errors of method [`organization_sponsorship_sponsoring_org_id_sponsored_get`]
64#[derive(Debug, Clone, Serialize, Deserialize)]
65#[serde(untagged)]
66pub enum OrganizationSponsorshipSponsoringOrgIdSponsoredGetError {
67    UnknownValue(serde_json::Value),
68}
69
70/// struct for typed errors of method [`organization_sponsorship_sponsoring_org_id_sync_status_get`]
71#[derive(Debug, Clone, Serialize, Deserialize)]
72#[serde(untagged)]
73pub enum OrganizationSponsorshipSponsoringOrgIdSyncStatusGetError {
74    UnknownValue(serde_json::Value),
75}
76
77/// struct for typed errors of method [`organization_sponsorship_sponsoring_organization_id_delete`]
78#[derive(Debug, Clone, Serialize, Deserialize)]
79#[serde(untagged)]
80pub enum OrganizationSponsorshipSponsoringOrganizationIdDeleteError {
81    UnknownValue(serde_json::Value),
82}
83
84/// struct for typed errors of method
85/// [`organization_sponsorship_sponsoring_organization_id_delete_post`]
86#[derive(Debug, Clone, Serialize, Deserialize)]
87#[serde(untagged)]
88pub enum OrganizationSponsorshipSponsoringOrganizationIdDeletePostError {
89    UnknownValue(serde_json::Value),
90}
91
92/// struct for typed errors of method [`organization_sponsorship_sync_post`]
93#[derive(Debug, Clone, Serialize, Deserialize)]
94#[serde(untagged)]
95pub enum OrganizationSponsorshipSyncPostError {
96    UnknownValue(serde_json::Value),
97}
98
99/// struct for typed errors of method [`organization_sponsorship_validate_token_post`]
100#[derive(Debug, Clone, Serialize, Deserialize)]
101#[serde(untagged)]
102pub enum OrganizationSponsorshipValidateTokenPostError {
103    UnknownValue(serde_json::Value),
104}
105
106pub async fn organization_sponsorship_redeem_post(
107    configuration: &configuration::Configuration,
108    sponsorship_token: Option<&str>,
109    organization_sponsorship_redeem_request_model: Option<
110        models::OrganizationSponsorshipRedeemRequestModel,
111    >,
112) -> Result<(), Error<OrganizationSponsorshipRedeemPostError>> {
113    // add a prefix to parameters to efficiently prevent name collisions
114    let p_sponsorship_token = sponsorship_token;
115    let p_organization_sponsorship_redeem_request_model =
116        organization_sponsorship_redeem_request_model;
117
118    let uri_str = format!(
119        "{}/organization/sponsorship/redeem",
120        configuration.base_path
121    );
122    let mut req_builder = configuration
123        .client
124        .request(reqwest::Method::POST, &uri_str);
125
126    if let Some(ref param_value) = p_sponsorship_token {
127        req_builder = req_builder.query(&[("sponsorshipToken", &param_value.to_string())]);
128    }
129    if let Some(ref user_agent) = configuration.user_agent {
130        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
131    }
132    if let Some(ref token) = configuration.oauth_access_token {
133        req_builder = req_builder.bearer_auth(token.to_owned());
134    };
135    req_builder = req_builder.json(&p_organization_sponsorship_redeem_request_model);
136
137    let req = req_builder.build()?;
138    let resp = configuration.client.execute(req).await?;
139
140    let status = resp.status();
141
142    if !status.is_client_error() && !status.is_server_error() {
143        Ok(())
144    } else {
145        let content = resp.text().await?;
146        let entity: Option<OrganizationSponsorshipRedeemPostError> =
147            serde_json::from_str(&content).ok();
148        Err(Error::ResponseError(ResponseContent {
149            status,
150            content,
151            entity,
152        }))
153    }
154}
155
156pub async fn organization_sponsorship_sponsored_sponsored_org_id_delete(
157    configuration: &configuration::Configuration,
158    sponsored_org_id: uuid::Uuid,
159) -> Result<(), Error<OrganizationSponsorshipSponsoredSponsoredOrgIdDeleteError>> {
160    // add a prefix to parameters to efficiently prevent name collisions
161    let p_sponsored_org_id = sponsored_org_id;
162
163    let uri_str = format!(
164        "{}/organization/sponsorship/sponsored/{sponsoredOrgId}",
165        configuration.base_path,
166        sponsoredOrgId = crate::apis::urlencode(p_sponsored_org_id.to_string())
167    );
168    let mut req_builder = configuration
169        .client
170        .request(reqwest::Method::DELETE, &uri_str);
171
172    if let Some(ref user_agent) = configuration.user_agent {
173        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
174    }
175    if let Some(ref token) = configuration.oauth_access_token {
176        req_builder = req_builder.bearer_auth(token.to_owned());
177    };
178
179    let req = req_builder.build()?;
180    let resp = configuration.client.execute(req).await?;
181
182    let status = resp.status();
183
184    if !status.is_client_error() && !status.is_server_error() {
185        Ok(())
186    } else {
187        let content = resp.text().await?;
188        let entity: Option<OrganizationSponsorshipSponsoredSponsoredOrgIdDeleteError> =
189            serde_json::from_str(&content).ok();
190        Err(Error::ResponseError(ResponseContent {
191            status,
192            content,
193            entity,
194        }))
195    }
196}
197
198pub async fn organization_sponsorship_sponsored_sponsored_org_id_remove_post(
199    configuration: &configuration::Configuration,
200    sponsored_org_id: uuid::Uuid,
201) -> Result<(), Error<OrganizationSponsorshipSponsoredSponsoredOrgIdRemovePostError>> {
202    // add a prefix to parameters to efficiently prevent name collisions
203    let p_sponsored_org_id = sponsored_org_id;
204
205    let uri_str = format!(
206        "{}/organization/sponsorship/sponsored/{sponsoredOrgId}/remove",
207        configuration.base_path,
208        sponsoredOrgId = crate::apis::urlencode(p_sponsored_org_id.to_string())
209    );
210    let mut req_builder = configuration
211        .client
212        .request(reqwest::Method::POST, &uri_str);
213
214    if let Some(ref user_agent) = configuration.user_agent {
215        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
216    }
217    if let Some(ref token) = configuration.oauth_access_token {
218        req_builder = req_builder.bearer_auth(token.to_owned());
219    };
220
221    let req = req_builder.build()?;
222    let resp = configuration.client.execute(req).await?;
223
224    let status = resp.status();
225
226    if !status.is_client_error() && !status.is_server_error() {
227        Ok(())
228    } else {
229        let content = resp.text().await?;
230        let entity: Option<OrganizationSponsorshipSponsoredSponsoredOrgIdRemovePostError> =
231            serde_json::from_str(&content).ok();
232        Err(Error::ResponseError(ResponseContent {
233            status,
234            content,
235            entity,
236        }))
237    }
238}
239
240pub async fn organization_sponsorship_sponsoring_org_id_families_for_enterprise_post(
241    configuration: &configuration::Configuration,
242    sponsoring_org_id: uuid::Uuid,
243    organization_sponsorship_create_request_model: Option<
244        models::OrganizationSponsorshipCreateRequestModel,
245    >,
246) -> Result<(), Error<OrganizationSponsorshipSponsoringOrgIdFamiliesForEnterprisePostError>> {
247    // add a prefix to parameters to efficiently prevent name collisions
248    let p_sponsoring_org_id = sponsoring_org_id;
249    let p_organization_sponsorship_create_request_model =
250        organization_sponsorship_create_request_model;
251
252    let uri_str = format!(
253        "{}/organization/sponsorship/{sponsoringOrgId}/families-for-enterprise",
254        configuration.base_path,
255        sponsoringOrgId = crate::apis::urlencode(p_sponsoring_org_id.to_string())
256    );
257    let mut req_builder = configuration
258        .client
259        .request(reqwest::Method::POST, &uri_str);
260
261    if let Some(ref user_agent) = configuration.user_agent {
262        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
263    }
264    if let Some(ref token) = configuration.oauth_access_token {
265        req_builder = req_builder.bearer_auth(token.to_owned());
266    };
267    req_builder = req_builder.json(&p_organization_sponsorship_create_request_model);
268
269    let req = req_builder.build()?;
270    let resp = configuration.client.execute(req).await?;
271
272    let status = resp.status();
273
274    if !status.is_client_error() && !status.is_server_error() {
275        Ok(())
276    } else {
277        let content = resp.text().await?;
278        let entity: Option<OrganizationSponsorshipSponsoringOrgIdFamiliesForEnterprisePostError> =
279            serde_json::from_str(&content).ok();
280        Err(Error::ResponseError(ResponseContent {
281            status,
282            content,
283            entity,
284        }))
285    }
286}
287
288pub async fn organization_sponsorship_sponsoring_org_id_families_for_enterprise_resend_post(
289    configuration: &configuration::Configuration,
290    sponsoring_org_id: uuid::Uuid,
291    sponsored_friendly_name: Option<&str>,
292) -> Result<(), Error<OrganizationSponsorshipSponsoringOrgIdFamiliesForEnterpriseResendPostError>> {
293    // add a prefix to parameters to efficiently prevent name collisions
294    let p_sponsoring_org_id = sponsoring_org_id;
295    let p_sponsored_friendly_name = sponsored_friendly_name;
296
297    let uri_str = format!(
298        "{}/organization/sponsorship/{sponsoringOrgId}/families-for-enterprise/resend",
299        configuration.base_path,
300        sponsoringOrgId = crate::apis::urlencode(p_sponsoring_org_id.to_string())
301    );
302    let mut req_builder = configuration
303        .client
304        .request(reqwest::Method::POST, &uri_str);
305
306    if let Some(ref param_value) = p_sponsored_friendly_name {
307        req_builder = req_builder.query(&[("sponsoredFriendlyName", &param_value.to_string())]);
308    }
309    if let Some(ref user_agent) = configuration.user_agent {
310        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
311    }
312    if let Some(ref token) = configuration.oauth_access_token {
313        req_builder = req_builder.bearer_auth(token.to_owned());
314    };
315
316    let req = req_builder.build()?;
317    let resp = configuration.client.execute(req).await?;
318
319    let status = resp.status();
320
321    if !status.is_client_error() && !status.is_server_error() {
322        Ok(())
323    } else {
324        let content = resp.text().await?;
325        let entity: Option<
326            OrganizationSponsorshipSponsoringOrgIdFamiliesForEnterpriseResendPostError,
327        > = serde_json::from_str(&content).ok();
328        Err(Error::ResponseError(ResponseContent {
329            status,
330            content,
331            entity,
332        }))
333    }
334}
335
336pub async fn organization_sponsorship_sponsoring_org_id_sponsored_friendly_name_revoke_delete(
337    configuration: &configuration::Configuration,
338    sponsoring_org_id: uuid::Uuid,
339    sponsored_friendly_name: &str,
340) -> Result<(), Error<OrganizationSponsorshipSponsoringOrgIdSponsoredFriendlyNameRevokeDeleteError>>
341{
342    // add a prefix to parameters to efficiently prevent name collisions
343    let p_sponsoring_org_id = sponsoring_org_id;
344    let p_sponsored_friendly_name = sponsored_friendly_name;
345
346    let uri_str = format!(
347        "{}/organization/sponsorship/{sponsoringOrgId}/{sponsoredFriendlyName}/revoke",
348        configuration.base_path,
349        sponsoringOrgId = crate::apis::urlencode(p_sponsoring_org_id.to_string()),
350        sponsoredFriendlyName = crate::apis::urlencode(p_sponsored_friendly_name)
351    );
352    let mut req_builder = configuration
353        .client
354        .request(reqwest::Method::DELETE, &uri_str);
355
356    if let Some(ref user_agent) = configuration.user_agent {
357        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
358    }
359    if let Some(ref token) = configuration.oauth_access_token {
360        req_builder = req_builder.bearer_auth(token.to_owned());
361    };
362
363    let req = req_builder.build()?;
364    let resp = configuration.client.execute(req).await?;
365
366    let status = resp.status();
367
368    if !status.is_client_error() && !status.is_server_error() {
369        Ok(())
370    } else {
371        let content = resp.text().await?;
372        let entity: Option<
373            OrganizationSponsorshipSponsoringOrgIdSponsoredFriendlyNameRevokeDeleteError,
374        > = serde_json::from_str(&content).ok();
375        Err(Error::ResponseError(ResponseContent {
376            status,
377            content,
378            entity,
379        }))
380    }
381}
382
383pub async fn organization_sponsorship_sponsoring_org_id_sponsored_get(
384    configuration: &configuration::Configuration,
385    sponsoring_org_id: uuid::Uuid,
386) -> Result<
387    models::OrganizationSponsorshipInvitesResponseModelListResponseModel,
388    Error<OrganizationSponsorshipSponsoringOrgIdSponsoredGetError>,
389> {
390    // add a prefix to parameters to efficiently prevent name collisions
391    let p_sponsoring_org_id = sponsoring_org_id;
392
393    let uri_str = format!(
394        "{}/organization/sponsorship/{sponsoringOrgId}/sponsored",
395        configuration.base_path,
396        sponsoringOrgId = crate::apis::urlencode(p_sponsoring_org_id.to_string())
397    );
398    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
399
400    if let Some(ref user_agent) = configuration.user_agent {
401        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
402    }
403    if let Some(ref token) = configuration.oauth_access_token {
404        req_builder = req_builder.bearer_auth(token.to_owned());
405    };
406
407    let req = req_builder.build()?;
408    let resp = configuration.client.execute(req).await?;
409
410    let status = resp.status();
411    let content_type = resp
412        .headers()
413        .get("content-type")
414        .and_then(|v| v.to_str().ok())
415        .unwrap_or("application/octet-stream");
416    let content_type = super::ContentType::from(content_type);
417
418    if !status.is_client_error() && !status.is_server_error() {
419        let content = resp.text().await?;
420        match content_type {
421            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
422            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::OrganizationSponsorshipInvitesResponseModelListResponseModel`"))),
423            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::OrganizationSponsorshipInvitesResponseModelListResponseModel`")))),
424        }
425    } else {
426        let content = resp.text().await?;
427        let entity: Option<OrganizationSponsorshipSponsoringOrgIdSponsoredGetError> =
428            serde_json::from_str(&content).ok();
429        Err(Error::ResponseError(ResponseContent {
430            status,
431            content,
432            entity,
433        }))
434    }
435}
436
437pub async fn organization_sponsorship_sponsoring_org_id_sync_status_get(
438    configuration: &configuration::Configuration,
439    sponsoring_org_id: uuid::Uuid,
440) -> Result<(), Error<OrganizationSponsorshipSponsoringOrgIdSyncStatusGetError>> {
441    // add a prefix to parameters to efficiently prevent name collisions
442    let p_sponsoring_org_id = sponsoring_org_id;
443
444    let uri_str = format!(
445        "{}/organization/sponsorship/{sponsoringOrgId}/sync-status",
446        configuration.base_path,
447        sponsoringOrgId = crate::apis::urlencode(p_sponsoring_org_id.to_string())
448    );
449    let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
450
451    if let Some(ref user_agent) = configuration.user_agent {
452        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
453    }
454    if let Some(ref token) = configuration.oauth_access_token {
455        req_builder = req_builder.bearer_auth(token.to_owned());
456    };
457
458    let req = req_builder.build()?;
459    let resp = configuration.client.execute(req).await?;
460
461    let status = resp.status();
462
463    if !status.is_client_error() && !status.is_server_error() {
464        Ok(())
465    } else {
466        let content = resp.text().await?;
467        let entity: Option<OrganizationSponsorshipSponsoringOrgIdSyncStatusGetError> =
468            serde_json::from_str(&content).ok();
469        Err(Error::ResponseError(ResponseContent {
470            status,
471            content,
472            entity,
473        }))
474    }
475}
476
477pub async fn organization_sponsorship_sponsoring_organization_id_delete(
478    configuration: &configuration::Configuration,
479    sponsoring_organization_id: uuid::Uuid,
480) -> Result<(), Error<OrganizationSponsorshipSponsoringOrganizationIdDeleteError>> {
481    // add a prefix to parameters to efficiently prevent name collisions
482    let p_sponsoring_organization_id = sponsoring_organization_id;
483
484    let uri_str = format!(
485        "{}/organization/sponsorship/{sponsoringOrganizationId}",
486        configuration.base_path,
487        sponsoringOrganizationId = crate::apis::urlencode(p_sponsoring_organization_id.to_string())
488    );
489    let mut req_builder = configuration
490        .client
491        .request(reqwest::Method::DELETE, &uri_str);
492
493    if let Some(ref user_agent) = configuration.user_agent {
494        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
495    }
496    if let Some(ref token) = configuration.oauth_access_token {
497        req_builder = req_builder.bearer_auth(token.to_owned());
498    };
499
500    let req = req_builder.build()?;
501    let resp = configuration.client.execute(req).await?;
502
503    let status = resp.status();
504
505    if !status.is_client_error() && !status.is_server_error() {
506        Ok(())
507    } else {
508        let content = resp.text().await?;
509        let entity: Option<OrganizationSponsorshipSponsoringOrganizationIdDeleteError> =
510            serde_json::from_str(&content).ok();
511        Err(Error::ResponseError(ResponseContent {
512            status,
513            content,
514            entity,
515        }))
516    }
517}
518
519pub async fn organization_sponsorship_sponsoring_organization_id_delete_post(
520    configuration: &configuration::Configuration,
521    sponsoring_organization_id: uuid::Uuid,
522) -> Result<(), Error<OrganizationSponsorshipSponsoringOrganizationIdDeletePostError>> {
523    // add a prefix to parameters to efficiently prevent name collisions
524    let p_sponsoring_organization_id = sponsoring_organization_id;
525
526    let uri_str = format!(
527        "{}/organization/sponsorship/{sponsoringOrganizationId}/delete",
528        configuration.base_path,
529        sponsoringOrganizationId = crate::apis::urlencode(p_sponsoring_organization_id.to_string())
530    );
531    let mut req_builder = configuration
532        .client
533        .request(reqwest::Method::POST, &uri_str);
534
535    if let Some(ref user_agent) = configuration.user_agent {
536        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
537    }
538    if let Some(ref token) = configuration.oauth_access_token {
539        req_builder = req_builder.bearer_auth(token.to_owned());
540    };
541
542    let req = req_builder.build()?;
543    let resp = configuration.client.execute(req).await?;
544
545    let status = resp.status();
546
547    if !status.is_client_error() && !status.is_server_error() {
548        Ok(())
549    } else {
550        let content = resp.text().await?;
551        let entity: Option<OrganizationSponsorshipSponsoringOrganizationIdDeletePostError> =
552            serde_json::from_str(&content).ok();
553        Err(Error::ResponseError(ResponseContent {
554            status,
555            content,
556            entity,
557        }))
558    }
559}
560
561pub async fn organization_sponsorship_sync_post(
562    configuration: &configuration::Configuration,
563    organization_sponsorship_sync_request_model: Option<
564        models::OrganizationSponsorshipSyncRequestModel,
565    >,
566) -> Result<
567    models::OrganizationSponsorshipSyncResponseModel,
568    Error<OrganizationSponsorshipSyncPostError>,
569> {
570    // add a prefix to parameters to efficiently prevent name collisions
571    let p_organization_sponsorship_sync_request_model = organization_sponsorship_sync_request_model;
572
573    let uri_str = format!("{}/organization/sponsorship/sync", configuration.base_path);
574    let mut req_builder = configuration
575        .client
576        .request(reqwest::Method::POST, &uri_str);
577
578    if let Some(ref user_agent) = configuration.user_agent {
579        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
580    }
581    if let Some(ref token) = configuration.oauth_access_token {
582        req_builder = req_builder.bearer_auth(token.to_owned());
583    };
584    req_builder = req_builder.json(&p_organization_sponsorship_sync_request_model);
585
586    let req = req_builder.build()?;
587    let resp = configuration.client.execute(req).await?;
588
589    let status = resp.status();
590    let content_type = resp
591        .headers()
592        .get("content-type")
593        .and_then(|v| v.to_str().ok())
594        .unwrap_or("application/octet-stream");
595    let content_type = super::ContentType::from(content_type);
596
597    if !status.is_client_error() && !status.is_server_error() {
598        let content = resp.text().await?;
599        match content_type {
600            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
601            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::OrganizationSponsorshipSyncResponseModel`"))),
602            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::OrganizationSponsorshipSyncResponseModel`")))),
603        }
604    } else {
605        let content = resp.text().await?;
606        let entity: Option<OrganizationSponsorshipSyncPostError> =
607            serde_json::from_str(&content).ok();
608        Err(Error::ResponseError(ResponseContent {
609            status,
610            content,
611            entity,
612        }))
613    }
614}
615
616pub async fn organization_sponsorship_validate_token_post(
617    configuration: &configuration::Configuration,
618    sponsorship_token: Option<&str>,
619) -> Result<
620    models::PreValidateSponsorshipResponseModel,
621    Error<OrganizationSponsorshipValidateTokenPostError>,
622> {
623    // add a prefix to parameters to efficiently prevent name collisions
624    let p_sponsorship_token = sponsorship_token;
625
626    let uri_str = format!(
627        "{}/organization/sponsorship/validate-token",
628        configuration.base_path
629    );
630    let mut req_builder = configuration
631        .client
632        .request(reqwest::Method::POST, &uri_str);
633
634    if let Some(ref param_value) = p_sponsorship_token {
635        req_builder = req_builder.query(&[("sponsorshipToken", &param_value.to_string())]);
636    }
637    if let Some(ref user_agent) = configuration.user_agent {
638        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
639    }
640    if let Some(ref token) = configuration.oauth_access_token {
641        req_builder = req_builder.bearer_auth(token.to_owned());
642    };
643
644    let req = req_builder.build()?;
645    let resp = configuration.client.execute(req).await?;
646
647    let status = resp.status();
648    let content_type = resp
649        .headers()
650        .get("content-type")
651        .and_then(|v| v.to_str().ok())
652        .unwrap_or("application/octet-stream");
653    let content_type = super::ContentType::from(content_type);
654
655    if !status.is_client_error() && !status.is_server_error() {
656        let content = resp.text().await?;
657        match content_type {
658            ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
659            ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::PreValidateSponsorshipResponseModel`"))),
660            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::PreValidateSponsorshipResponseModel`")))),
661        }
662    } else {
663        let content = resp.text().await?;
664        let entity: Option<OrganizationSponsorshipValidateTokenPostError> =
665            serde_json::from_str(&content).ok();
666        Err(Error::ResponseError(ResponseContent {
667            status,
668            content,
669            entity,
670        }))
671    }
672}