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