1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CancelNotificationError {
22 Status400(crate::models::GenericError),
23 Status404(crate::models::GenericError),
24 Status429(crate::models::RateLimitError),
25 UnknownValue(serde_json::Value),
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize)]
30#[serde(untagged)]
31pub enum CopyTemplateToAppError {
32 Status400(crate::models::GenericError),
33 UnknownValue(serde_json::Value),
34}
35
36#[derive(Debug, Clone, Serialize, Deserialize)]
38#[serde(untagged)]
39pub enum CreateAliasError {
40 Status400(crate::models::GenericError),
41 Status404(crate::models::GenericError),
42 Status409(crate::models::GenericError),
43 Status429(crate::models::RateLimitError),
44 UnknownValue(serde_json::Value),
45}
46
47#[derive(Debug, Clone, Serialize, Deserialize)]
49#[serde(untagged)]
50pub enum CreateAliasBySubscriptionError {
51 Status400(crate::models::GenericError),
52 Status404(crate::models::GenericError),
53 Status409(crate::models::GenericError),
54 Status429(crate::models::RateLimitError),
55 UnknownValue(serde_json::Value),
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
60#[serde(untagged)]
61pub enum CreateApiKeyError {
62 Status400(crate::models::GenericError),
63 UnknownValue(serde_json::Value),
64}
65
66#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(untagged)]
69pub enum CreateAppError {
70 Status400(crate::models::GenericError),
71 Status429(crate::models::RateLimitError),
72 UnknownValue(serde_json::Value),
73}
74
75#[derive(Debug, Clone, Serialize, Deserialize)]
77#[serde(untagged)]
78pub enum CreateCustomEventsError {
79 Status400(crate::models::GenericError),
80 Status401(crate::models::GenericError),
81 Status429(crate::models::RateLimitError),
82 UnknownValue(serde_json::Value),
83}
84
85#[derive(Debug, Clone, Serialize, Deserialize)]
87#[serde(untagged)]
88pub enum CreateNotificationError {
89 Status400(crate::models::GenericError),
90 Status429(crate::models::RateLimitError),
91 UnknownValue(serde_json::Value),
92}
93
94#[derive(Debug, Clone, Serialize, Deserialize)]
96#[serde(untagged)]
97pub enum CreateSegmentError {
98 Status400(crate::models::GenericError),
99 Status409(crate::models::CreateSegmentConflictResponse),
100 Status429(crate::models::RateLimitError),
101 UnknownValue(serde_json::Value),
102}
103
104#[derive(Debug, Clone, Serialize, Deserialize)]
106#[serde(untagged)]
107pub enum CreateSubscriptionError {
108 Status400(crate::models::GenericError),
109 Status404(crate::models::GenericError),
110 Status409(crate::models::GenericError),
111 Status429(crate::models::RateLimitError),
112 UnknownValue(serde_json::Value),
113}
114
115#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(untagged)]
118pub enum CreateTemplateError {
119 Status400(crate::models::GenericError),
120 Status422(crate::models::GenericError),
121 UnknownValue(serde_json::Value),
122}
123
124#[derive(Debug, Clone, Serialize, Deserialize)]
126#[serde(untagged)]
127pub enum CreateUserError {
128 Status400(crate::models::GenericError),
129 Status409(crate::models::CreateUserConflictResponse),
130 Status429(crate::models::RateLimitError),
131 UnknownValue(serde_json::Value),
132}
133
134#[derive(Debug, Clone, Serialize, Deserialize)]
136#[serde(untagged)]
137pub enum DeleteAliasError {
138 Status400(crate::models::GenericError),
139 Status404(crate::models::GenericError),
140 Status409(crate::models::GenericError),
141 Status429(crate::models::RateLimitError),
142 UnknownValue(serde_json::Value),
143}
144
145#[derive(Debug, Clone, Serialize, Deserialize)]
147#[serde(untagged)]
148pub enum DeleteApiKeyError {
149 Status400(crate::models::GenericError),
150 UnknownValue(serde_json::Value),
151}
152
153#[derive(Debug, Clone, Serialize, Deserialize)]
155#[serde(untagged)]
156pub enum DeleteSegmentError {
157 Status400(crate::models::GenericError),
158 Status404(crate::models::GenericSuccessBoolResponse),
159 Status429(crate::models::RateLimitError),
160 UnknownValue(serde_json::Value),
161}
162
163#[derive(Debug, Clone, Serialize, Deserialize)]
165#[serde(untagged)]
166pub enum DeleteSubscriptionError {
167 Status400(crate::models::GenericError),
168 Status404(crate::models::GenericError),
169 Status409(crate::models::GenericError),
170 Status429(crate::models::RateLimitError),
171 UnknownValue(serde_json::Value),
172}
173
174#[derive(Debug, Clone, Serialize, Deserialize)]
176#[serde(untagged)]
177pub enum DeleteTemplateError {
178 Status400(crate::models::GenericError),
179 Status404(crate::models::GenericError),
180 UnknownValue(serde_json::Value),
181}
182
183#[derive(Debug, Clone, Serialize, Deserialize)]
185#[serde(untagged)]
186pub enum DeleteUserError {
187 Status400(crate::models::GenericError),
188 Status409(crate::models::GenericError),
189 Status429(crate::models::RateLimitError),
190 UnknownValue(serde_json::Value),
191}
192
193#[derive(Debug, Clone, Serialize, Deserialize)]
195#[serde(untagged)]
196pub enum ExportEventsError {
197 Status400(crate::models::GenericError),
198 Status404(crate::models::GenericError),
199 Status429(crate::models::RateLimitError),
200 UnknownValue(serde_json::Value),
201}
202
203#[derive(Debug, Clone, Serialize, Deserialize)]
205#[serde(untagged)]
206pub enum ExportSubscriptionsError {
207 Status400(crate::models::GenericError),
208 Status429(crate::models::RateLimitError),
209 UnknownValue(serde_json::Value),
210}
211
212#[derive(Debug, Clone, Serialize, Deserialize)]
214#[serde(untagged)]
215pub enum GetAliasesError {
216 Status400(crate::models::GenericError),
217 Status404(crate::models::GenericError),
218 Status429(crate::models::RateLimitError),
219 UnknownValue(serde_json::Value),
220}
221
222#[derive(Debug, Clone, Serialize, Deserialize)]
224#[serde(untagged)]
225pub enum GetAliasesBySubscriptionError {
226 Status400(crate::models::GenericError),
227 Status404(crate::models::GenericError),
228 UnknownValue(serde_json::Value),
229}
230
231#[derive(Debug, Clone, Serialize, Deserialize)]
233#[serde(untagged)]
234pub enum GetAppError {
235 Status400(crate::models::GenericError),
236 Status429(crate::models::RateLimitError),
237 UnknownValue(serde_json::Value),
238}
239
240#[derive(Debug, Clone, Serialize, Deserialize)]
242#[serde(untagged)]
243pub enum GetAppsError {
244 Status400(crate::models::GenericError),
245 Status429(crate::models::RateLimitError),
246 UnknownValue(serde_json::Value),
247}
248
249#[derive(Debug, Clone, Serialize, Deserialize)]
251#[serde(untagged)]
252pub enum GetNotificationError {
253 Status400(crate::models::GenericError),
254 Status404(crate::models::GenericError),
255 Status429(crate::models::RateLimitError),
256 UnknownValue(serde_json::Value),
257}
258
259#[derive(Debug, Clone, Serialize, Deserialize)]
261#[serde(untagged)]
262pub enum GetNotificationHistoryError {
263 Status400(crate::models::GenericError),
264 Status404(crate::models::GenericError),
265 Status429(crate::models::RateLimitError),
266 UnknownValue(serde_json::Value),
267}
268
269#[derive(Debug, Clone, Serialize, Deserialize)]
271#[serde(untagged)]
272pub enum GetNotificationsError {
273 Status400(crate::models::GenericError),
274 Status429(crate::models::RateLimitError),
275 UnknownValue(serde_json::Value),
276}
277
278#[derive(Debug, Clone, Serialize, Deserialize)]
280#[serde(untagged)]
281pub enum GetOutcomesError {
282 Status400(crate::models::GenericError),
283 Status429(crate::models::RateLimitError),
284 UnknownValue(serde_json::Value),
285}
286
287#[derive(Debug, Clone, Serialize, Deserialize)]
289#[serde(untagged)]
290pub enum GetSegmentsError {
291 Status400(crate::models::GenericError),
292 Status429(crate::models::RateLimitError),
293 UnknownValue(serde_json::Value),
294}
295
296#[derive(Debug, Clone, Serialize, Deserialize)]
298#[serde(untagged)]
299pub enum GetUserError {
300 Status400(crate::models::GenericError),
301 Status404(crate::models::GenericError),
302 Status429(crate::models::RateLimitError),
303 UnknownValue(serde_json::Value),
304}
305
306#[derive(Debug, Clone, Serialize, Deserialize)]
308#[serde(untagged)]
309pub enum RotateApiKeyError {
310 Status400(crate::models::GenericError),
311 UnknownValue(serde_json::Value),
312}
313
314#[derive(Debug, Clone, Serialize, Deserialize)]
316#[serde(untagged)]
317pub enum StartLiveActivityError {
318 Status400(crate::models::GenericError),
319 Status429(crate::models::RateLimitError),
320 UnknownValue(serde_json::Value),
321}
322
323#[derive(Debug, Clone, Serialize, Deserialize)]
325#[serde(untagged)]
326pub enum TransferSubscriptionError {
327 Status400(crate::models::GenericError),
328 Status404(crate::models::GenericError),
329 Status409(crate::models::GenericError),
330 Status429(crate::models::RateLimitError),
331 UnknownValue(serde_json::Value),
332}
333
334#[derive(Debug, Clone, Serialize, Deserialize)]
336#[serde(untagged)]
337pub enum UnsubscribeEmailWithTokenError {
338 Status400(crate::models::GenericError),
339 Status429(crate::models::RateLimitError),
340 UnknownValue(serde_json::Value),
341}
342
343#[derive(Debug, Clone, Serialize, Deserialize)]
345#[serde(untagged)]
346pub enum UpdateApiKeyError {
347 Status400(crate::models::GenericError),
348 UnknownValue(serde_json::Value),
349}
350
351#[derive(Debug, Clone, Serialize, Deserialize)]
353#[serde(untagged)]
354pub enum UpdateAppError {
355 Status400(crate::models::GenericError),
356 Status429(crate::models::RateLimitError),
357 UnknownValue(serde_json::Value),
358}
359
360#[derive(Debug, Clone, Serialize, Deserialize)]
362#[serde(untagged)]
363pub enum UpdateLiveActivityError {
364 Status400(crate::models::GenericError),
365 Status429(crate::models::RateLimitError),
366 UnknownValue(serde_json::Value),
367}
368
369#[derive(Debug, Clone, Serialize, Deserialize)]
371#[serde(untagged)]
372pub enum UpdateSubscriptionError {
373 Status400(crate::models::GenericError),
374 Status404(crate::models::GenericError),
375 Status409(crate::models::GenericError),
376 Status429(crate::models::RateLimitError),
377 UnknownValue(serde_json::Value),
378}
379
380#[derive(Debug, Clone, Serialize, Deserialize)]
382#[serde(untagged)]
383pub enum UpdateSubscriptionByTokenError {
384 Status400(crate::models::GenericError),
385 Status404(crate::models::GenericError),
386 UnknownValue(serde_json::Value),
387}
388
389#[derive(Debug, Clone, Serialize, Deserialize)]
391#[serde(untagged)]
392pub enum UpdateTemplateError {
393 Status400(crate::models::GenericError),
394 UnknownValue(serde_json::Value),
395}
396
397#[derive(Debug, Clone, Serialize, Deserialize)]
399#[serde(untagged)]
400pub enum UpdateUserError {
401 Status400(crate::models::GenericError),
402 Status409(crate::models::GenericError),
403 Status429(crate::models::RateLimitError),
404 UnknownValue(serde_json::Value),
405}
406
407#[derive(Debug, Clone, Serialize, Deserialize)]
409#[serde(untagged)]
410pub enum ViewApiKeysError {
411 Status400(crate::models::GenericError),
412 UnknownValue(serde_json::Value),
413}
414
415#[derive(Debug, Clone, Serialize, Deserialize)]
417#[serde(untagged)]
418pub enum ViewTemplateError {
419 Status400(crate::models::GenericError),
420 Status404(crate::models::GenericError),
421 UnknownValue(serde_json::Value),
422}
423
424#[derive(Debug, Clone, Serialize, Deserialize)]
426#[serde(untagged)]
427pub enum ViewTemplatesError {
428 Status400(crate::models::GenericError),
429 Status429(crate::models::RateLimitError),
430 UnknownValue(serde_json::Value),
431}
432
433
434pub async fn cancel_notification(configuration: &configuration::Configuration, app_id: &str, notification_id: &str) -> Result<crate::models::GenericSuccessBoolResponse, Error<CancelNotificationError>> {
436 let configuration = configuration;
437
438 let client = &configuration.client;
439
440 let uri_str = format!("{}/notifications/{notification_id}", configuration.base_path, notification_id=crate::apis::urlencode(notification_id));
441 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
442
443 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
444 if let Some(ref user_agent) = configuration.user_agent {
445 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
446 }
447
448 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
450
451 if let Some(ref token) = configuration.rest_api_key_token {
452 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
453 }
454
455 let req = req_builder.build()?;
456 let resp = client.execute(req).await?;
457
458 let status = resp.status();
459 let content = resp.text().await?;
460
461 if !status.is_client_error() && !status.is_server_error() {
462 serde_json::from_str(&content).map_err(Error::from)
463 } else {
464 let entity: Option<CancelNotificationError> = serde_json::from_str(&content).ok();
465 let error = ResponseContent { status: status, content: content, entity: entity };
466 Err(Error::ResponseError(error))
467 }
468}
469
470pub async fn copy_template_to_app(configuration: &configuration::Configuration, template_id: &str, app_id: &str, copy_template_request: crate::models::CopyTemplateRequest) -> Result<crate::models::TemplateResource, Error<CopyTemplateToAppError>> {
472 let configuration = configuration;
473
474 let client = &configuration.client;
475
476 let uri_str = format!("{}/templates/{template_id}/copy_to_app", configuration.base_path, template_id=crate::apis::urlencode(template_id));
477 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
478
479 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
480 if let Some(ref user_agent) = configuration.user_agent {
481 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
482 }
483
484 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
486
487 if let Some(ref token) = configuration.organization_api_key_token {
488 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
489 }
490 req_builder = req_builder.json(©_template_request);
491
492 let req = req_builder.build()?;
493 let resp = client.execute(req).await?;
494
495 let status = resp.status();
496 let content = resp.text().await?;
497
498 if !status.is_client_error() && !status.is_server_error() {
499 serde_json::from_str(&content).map_err(Error::from)
500 } else {
501 let entity: Option<CopyTemplateToAppError> = serde_json::from_str(&content).ok();
502 let error = ResponseContent { status: status, content: content, entity: entity };
503 Err(Error::ResponseError(error))
504 }
505}
506
507pub async fn create_alias(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str, user_identity_body: crate::models::UserIdentityBody) -> Result<crate::models::UserIdentityBody, Error<CreateAliasError>> {
509 let configuration = configuration;
510
511 let client = &configuration.client;
512
513 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id));
514 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
515
516 if let Some(ref user_agent) = configuration.user_agent {
517 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
518 }
519
520 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
522
523 if let Some(ref token) = configuration.rest_api_key_token {
524 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
525 }
526 req_builder = req_builder.json(&user_identity_body);
527
528 let req = req_builder.build()?;
529 let resp = client.execute(req).await?;
530
531 let status = resp.status();
532 let content = resp.text().await?;
533
534 if !status.is_client_error() && !status.is_server_error() {
535 serde_json::from_str(&content).map_err(Error::from)
536 } else {
537 let entity: Option<CreateAliasError> = serde_json::from_str(&content).ok();
538 let error = ResponseContent { status: status, content: content, entity: entity };
539 Err(Error::ResponseError(error))
540 }
541}
542
543pub async fn create_alias_by_subscription(configuration: &configuration::Configuration, app_id: &str, subscription_id: &str, user_identity_body: crate::models::UserIdentityBody) -> Result<crate::models::UserIdentityBody, Error<CreateAliasBySubscriptionError>> {
545 let configuration = configuration;
546
547 let client = &configuration.client;
548
549 let uri_str = format!("{}/apps/{app_id}/subscriptions/{subscription_id}/user/identity", configuration.base_path, app_id=crate::apis::urlencode(app_id), subscription_id=crate::apis::urlencode(subscription_id));
550 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
551
552 if let Some(ref user_agent) = configuration.user_agent {
553 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
554 }
555
556 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
558
559 if let Some(ref token) = configuration.rest_api_key_token {
560 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
561 }
562 req_builder = req_builder.json(&user_identity_body);
563
564 let req = req_builder.build()?;
565 let resp = client.execute(req).await?;
566
567 let status = resp.status();
568 let content = resp.text().await?;
569
570 if !status.is_client_error() && !status.is_server_error() {
571 serde_json::from_str(&content).map_err(Error::from)
572 } else {
573 let entity: Option<CreateAliasBySubscriptionError> = serde_json::from_str(&content).ok();
574 let error = ResponseContent { status: status, content: content, entity: entity };
575 Err(Error::ResponseError(error))
576 }
577}
578
579pub async fn create_api_key(configuration: &configuration::Configuration, app_id: &str, create_api_key_request: crate::models::CreateApiKeyRequest) -> Result<crate::models::CreateApiKeyResponse, Error<CreateApiKeyError>> {
581 let configuration = configuration;
582
583 let client = &configuration.client;
584
585 let uri_str = format!("{}/apps/{app_id}/auth/tokens", configuration.base_path, app_id=crate::apis::urlencode(app_id));
586 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
587
588 if let Some(ref user_agent) = configuration.user_agent {
589 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
590 }
591
592 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
594
595 if let Some(ref token) = configuration.organization_api_key_token {
596 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
597 }
598 req_builder = req_builder.json(&create_api_key_request);
599
600 let req = req_builder.build()?;
601 let resp = client.execute(req).await?;
602
603 let status = resp.status();
604 let content = resp.text().await?;
605
606 if !status.is_client_error() && !status.is_server_error() {
607 serde_json::from_str(&content).map_err(Error::from)
608 } else {
609 let entity: Option<CreateApiKeyError> = serde_json::from_str(&content).ok();
610 let error = ResponseContent { status: status, content: content, entity: entity };
611 Err(Error::ResponseError(error))
612 }
613}
614
615pub async fn create_app(configuration: &configuration::Configuration, app: crate::models::App) -> Result<crate::models::App, Error<CreateAppError>> {
617 let configuration = configuration;
618
619 let client = &configuration.client;
620
621 let uri_str = format!("{}/apps", configuration.base_path);
622 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
623
624 if let Some(ref user_agent) = configuration.user_agent {
625 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
626 }
627
628 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
630
631 if let Some(ref token) = configuration.organization_api_key_token {
632 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
633 }
634 req_builder = req_builder.json(&app);
635
636 let req = req_builder.build()?;
637 let resp = client.execute(req).await?;
638
639 let status = resp.status();
640 let content = resp.text().await?;
641
642 if !status.is_client_error() && !status.is_server_error() {
643 serde_json::from_str(&content).map_err(Error::from)
644 } else {
645 let entity: Option<CreateAppError> = serde_json::from_str(&content).ok();
646 let error = ResponseContent { status: status, content: content, entity: entity };
647 Err(Error::ResponseError(error))
648 }
649}
650
651pub async fn create_custom_events(configuration: &configuration::Configuration, app_id: &str, custom_events_request: crate::models::CustomEventsRequest) -> Result<serde_json::Value, Error<CreateCustomEventsError>> {
653 let configuration = configuration;
654
655 let client = &configuration.client;
656
657 let uri_str = format!("{}/apps/{app_id}/integrations/custom_events", configuration.base_path, app_id=crate::apis::urlencode(app_id));
658 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
659
660 if let Some(ref user_agent) = configuration.user_agent {
661 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
662 }
663
664 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
666
667 if let Some(ref token) = configuration.rest_api_key_token {
668 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
669 }
670 req_builder = req_builder.json(&custom_events_request);
671
672 let req = req_builder.build()?;
673 let resp = client.execute(req).await?;
674
675 let status = resp.status();
676 let content = resp.text().await?;
677
678 if !status.is_client_error() && !status.is_server_error() {
679 serde_json::from_str(&content).map_err(Error::from)
680 } else {
681 let entity: Option<CreateCustomEventsError> = serde_json::from_str(&content).ok();
682 let error = ResponseContent { status: status, content: content, entity: entity };
683 Err(Error::ResponseError(error))
684 }
685}
686
687pub async fn create_notification(configuration: &configuration::Configuration, notification: crate::models::Notification) -> Result<crate::models::CreateNotificationSuccessResponse, Error<CreateNotificationError>> {
689 let configuration = configuration;
690
691 let client = &configuration.client;
692
693 let uri_str = format!("{}/notifications", configuration.base_path);
694 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
695
696 if let Some(ref user_agent) = configuration.user_agent {
697 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
698 }
699
700 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
702
703 if let Some(ref token) = configuration.rest_api_key_token {
704 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
705 }
706 req_builder = req_builder.json(¬ification);
707
708 let req = req_builder.build()?;
709 let resp = client.execute(req).await?;
710
711 let status = resp.status();
712 let content = resp.text().await?;
713
714 if !status.is_client_error() && !status.is_server_error() {
715 serde_json::from_str(&content).map_err(Error::from)
716 } else {
717 let entity: Option<CreateNotificationError> = serde_json::from_str(&content).ok();
718 let error = ResponseContent { status: status, content: content, entity: entity };
719 Err(Error::ResponseError(error))
720 }
721}
722
723pub async fn create_segment(configuration: &configuration::Configuration, app_id: &str, segment: Option<crate::models::Segment>) -> Result<crate::models::CreateSegmentSuccessResponse, Error<CreateSegmentError>> {
725 let configuration = configuration;
726
727 let client = &configuration.client;
728
729 let uri_str = format!("{}/apps/{app_id}/segments", configuration.base_path, app_id=crate::apis::urlencode(app_id));
730 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
731
732 if let Some(ref user_agent) = configuration.user_agent {
733 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
734 }
735
736 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
738
739 if let Some(ref token) = configuration.rest_api_key_token {
740 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
741 }
742 req_builder = req_builder.json(&segment);
743
744 let req = req_builder.build()?;
745 let resp = client.execute(req).await?;
746
747 let status = resp.status();
748 let content = resp.text().await?;
749
750 if !status.is_client_error() && !status.is_server_error() {
751 serde_json::from_str(&content).map_err(Error::from)
752 } else {
753 let entity: Option<CreateSegmentError> = serde_json::from_str(&content).ok();
754 let error = ResponseContent { status: status, content: content, entity: entity };
755 Err(Error::ResponseError(error))
756 }
757}
758
759pub async fn create_subscription(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str, subscription_body: crate::models::SubscriptionBody) -> Result<crate::models::SubscriptionBody, Error<CreateSubscriptionError>> {
761 let configuration = configuration;
762
763 let client = &configuration.client;
764
765 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}/subscriptions", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id));
766 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
767
768 if let Some(ref user_agent) = configuration.user_agent {
769 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
770 }
771
772 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
774
775 if let Some(ref token) = configuration.rest_api_key_token {
776 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
777 }
778 req_builder = req_builder.json(&subscription_body);
779
780 let req = req_builder.build()?;
781 let resp = client.execute(req).await?;
782
783 let status = resp.status();
784 let content = resp.text().await?;
785
786 if !status.is_client_error() && !status.is_server_error() {
787 serde_json::from_str(&content).map_err(Error::from)
788 } else {
789 let entity: Option<CreateSubscriptionError> = serde_json::from_str(&content).ok();
790 let error = ResponseContent { status: status, content: content, entity: entity };
791 Err(Error::ResponseError(error))
792 }
793}
794
795pub async fn create_template(configuration: &configuration::Configuration, create_template_request: crate::models::CreateTemplateRequest) -> Result<crate::models::TemplateResource, Error<CreateTemplateError>> {
797 let configuration = configuration;
798
799 let client = &configuration.client;
800
801 let uri_str = format!("{}/templates", configuration.base_path);
802 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
803
804 if let Some(ref user_agent) = configuration.user_agent {
805 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
806 }
807
808 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
810
811 if let Some(ref token) = configuration.rest_api_key_token {
812 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
813 }
814 req_builder = req_builder.json(&create_template_request);
815
816 let req = req_builder.build()?;
817 let resp = client.execute(req).await?;
818
819 let status = resp.status();
820 let content = resp.text().await?;
821
822 if !status.is_client_error() && !status.is_server_error() {
823 serde_json::from_str(&content).map_err(Error::from)
824 } else {
825 let entity: Option<CreateTemplateError> = serde_json::from_str(&content).ok();
826 let error = ResponseContent { status: status, content: content, entity: entity };
827 Err(Error::ResponseError(error))
828 }
829}
830
831pub async fn create_user(configuration: &configuration::Configuration, app_id: &str, user: crate::models::User) -> Result<crate::models::User, Error<CreateUserError>> {
833 let configuration = configuration;
834
835 let client = &configuration.client;
836
837 let uri_str = format!("{}/apps/{app_id}/users", configuration.base_path, app_id=crate::apis::urlencode(app_id));
838 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
839
840 if let Some(ref user_agent) = configuration.user_agent {
841 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
842 }
843
844 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
846
847 if let Some(ref token) = configuration.rest_api_key_token {
848 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
849 }
850 req_builder = req_builder.json(&user);
851
852 let req = req_builder.build()?;
853 let resp = client.execute(req).await?;
854
855 let status = resp.status();
856 let content = resp.text().await?;
857
858 if !status.is_client_error() && !status.is_server_error() {
859 serde_json::from_str(&content).map_err(Error::from)
860 } else {
861 let entity: Option<CreateUserError> = serde_json::from_str(&content).ok();
862 let error = ResponseContent { status: status, content: content, entity: entity };
863 Err(Error::ResponseError(error))
864 }
865}
866
867pub async fn delete_alias(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str, alias_label_to_delete: &str) -> Result<crate::models::UserIdentityBody, Error<DeleteAliasError>> {
869 let configuration = configuration;
870
871 let client = &configuration.client;
872
873 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity/{alias_label_to_delete}", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id), alias_label_to_delete=crate::apis::urlencode(alias_label_to_delete));
874 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
875
876 if let Some(ref user_agent) = configuration.user_agent {
877 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
878 }
879
880 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
882
883 if let Some(ref token) = configuration.rest_api_key_token {
884 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
885 }
886
887 let req = req_builder.build()?;
888 let resp = client.execute(req).await?;
889
890 let status = resp.status();
891 let content = resp.text().await?;
892
893 if !status.is_client_error() && !status.is_server_error() {
894 serde_json::from_str(&content).map_err(Error::from)
895 } else {
896 let entity: Option<DeleteAliasError> = serde_json::from_str(&content).ok();
897 let error = ResponseContent { status: status, content: content, entity: entity };
898 Err(Error::ResponseError(error))
899 }
900}
901
902pub async fn delete_api_key(configuration: &configuration::Configuration, app_id: &str, token_id: &str) -> Result<serde_json::Value, Error<DeleteApiKeyError>> {
904 let configuration = configuration;
905
906 let client = &configuration.client;
907
908 let uri_str = format!("{}/apps/{app_id}/auth/tokens/{token_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), token_id=crate::apis::urlencode(token_id));
909 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
910
911 if let Some(ref user_agent) = configuration.user_agent {
912 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
913 }
914
915 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
917
918 if let Some(ref token) = configuration.organization_api_key_token {
919 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
920 }
921
922 let req = req_builder.build()?;
923 let resp = client.execute(req).await?;
924
925 let status = resp.status();
926 let content = resp.text().await?;
927
928 if !status.is_client_error() && !status.is_server_error() {
929 serde_json::from_str(&content).map_err(Error::from)
930 } else {
931 let entity: Option<DeleteApiKeyError> = serde_json::from_str(&content).ok();
932 let error = ResponseContent { status: status, content: content, entity: entity };
933 Err(Error::ResponseError(error))
934 }
935}
936
937pub async fn delete_segment(configuration: &configuration::Configuration, app_id: &str, segment_id: &str) -> Result<crate::models::GenericSuccessBoolResponse, Error<DeleteSegmentError>> {
939 let configuration = configuration;
940
941 let client = &configuration.client;
942
943 let uri_str = format!("{}/apps/{app_id}/segments/{segment_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), segment_id=crate::apis::urlencode(segment_id));
944 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
945
946 if let Some(ref user_agent) = configuration.user_agent {
947 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
948 }
949
950 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
952
953 if let Some(ref token) = configuration.rest_api_key_token {
954 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
955 }
956
957 let req = req_builder.build()?;
958 let resp = client.execute(req).await?;
959
960 let status = resp.status();
961 let content = resp.text().await?;
962
963 if !status.is_client_error() && !status.is_server_error() {
964 serde_json::from_str(&content).map_err(Error::from)
965 } else {
966 let entity: Option<DeleteSegmentError> = serde_json::from_str(&content).ok();
967 let error = ResponseContent { status: status, content: content, entity: entity };
968 Err(Error::ResponseError(error))
969 }
970}
971
972pub async fn delete_subscription(configuration: &configuration::Configuration, app_id: &str, subscription_id: &str) -> Result<(), Error<DeleteSubscriptionError>> {
974 let configuration = configuration;
975
976 let client = &configuration.client;
977
978 let uri_str = format!("{}/apps/{app_id}/subscriptions/{subscription_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), subscription_id=crate::apis::urlencode(subscription_id));
979 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
980
981 if let Some(ref user_agent) = configuration.user_agent {
982 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
983 }
984
985 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
987
988 if let Some(ref token) = configuration.rest_api_key_token {
989 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
990 }
991
992 let req = req_builder.build()?;
993 let resp = client.execute(req).await?;
994
995 let status = resp.status();
996 let content = resp.text().await?;
997
998 if !status.is_client_error() && !status.is_server_error() {
999 Ok(())
1000 } else {
1001 let entity: Option<DeleteSubscriptionError> = serde_json::from_str(&content).ok();
1002 let error = ResponseContent { status: status, content: content, entity: entity };
1003 Err(Error::ResponseError(error))
1004 }
1005}
1006
1007pub async fn delete_template(configuration: &configuration::Configuration, template_id: &str, app_id: &str) -> Result<crate::models::GenericSuccessBoolResponse, Error<DeleteTemplateError>> {
1009 let configuration = configuration;
1010
1011 let client = &configuration.client;
1012
1013 let uri_str = format!("{}/templates/{template_id}", configuration.base_path, template_id=crate::apis::urlencode(template_id));
1014 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
1015
1016 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
1017 if let Some(ref user_agent) = configuration.user_agent {
1018 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1019 }
1020
1021 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1023
1024 if let Some(ref token) = configuration.rest_api_key_token {
1025 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1026 }
1027
1028 let req = req_builder.build()?;
1029 let resp = client.execute(req).await?;
1030
1031 let status = resp.status();
1032 let content = resp.text().await?;
1033
1034 if !status.is_client_error() && !status.is_server_error() {
1035 serde_json::from_str(&content).map_err(Error::from)
1036 } else {
1037 let entity: Option<DeleteTemplateError> = serde_json::from_str(&content).ok();
1038 let error = ResponseContent { status: status, content: content, entity: entity };
1039 Err(Error::ResponseError(error))
1040 }
1041}
1042
1043pub async fn delete_user(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str) -> Result<(), Error<DeleteUserError>> {
1045 let configuration = configuration;
1046
1047 let client = &configuration.client;
1048
1049 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id));
1050 let mut req_builder = client.request(reqwest::Method::DELETE, uri_str.as_str());
1051
1052 if let Some(ref user_agent) = configuration.user_agent {
1053 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1054 }
1055
1056 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1058
1059 if let Some(ref token) = configuration.rest_api_key_token {
1060 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1061 }
1062
1063 let req = req_builder.build()?;
1064 let resp = client.execute(req).await?;
1065
1066 let status = resp.status();
1067 let content = resp.text().await?;
1068
1069 if !status.is_client_error() && !status.is_server_error() {
1070 Ok(())
1071 } else {
1072 let entity: Option<DeleteUserError> = serde_json::from_str(&content).ok();
1073 let error = ResponseContent { status: status, content: content, entity: entity };
1074 Err(Error::ResponseError(error))
1075 }
1076}
1077
1078pub async fn export_events(configuration: &configuration::Configuration, notification_id: &str, app_id: &str) -> Result<crate::models::ExportEventsSuccessResponse, Error<ExportEventsError>> {
1080 let configuration = configuration;
1081
1082 let client = &configuration.client;
1083
1084 let uri_str = format!("{}/notifications/{notification_id}/export_events?app_id={app_id}", configuration.base_path, notification_id=crate::apis::urlencode(notification_id));
1085 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1086
1087 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
1088 if let Some(ref user_agent) = configuration.user_agent {
1089 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1090 }
1091
1092 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1094
1095 if let Some(ref token) = configuration.rest_api_key_token {
1096 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1097 }
1098
1099 let req = req_builder.build()?;
1100 let resp = client.execute(req).await?;
1101
1102 let status = resp.status();
1103 let content = resp.text().await?;
1104
1105 if !status.is_client_error() && !status.is_server_error() {
1106 serde_json::from_str(&content).map_err(Error::from)
1107 } else {
1108 let entity: Option<ExportEventsError> = serde_json::from_str(&content).ok();
1109 let error = ResponseContent { status: status, content: content, entity: entity };
1110 Err(Error::ResponseError(error))
1111 }
1112}
1113
1114pub async fn export_subscriptions(configuration: &configuration::Configuration, app_id: &str, export_subscriptions_request_body: Option<crate::models::ExportSubscriptionsRequestBody>) -> Result<crate::models::ExportSubscriptionsSuccessResponse, Error<ExportSubscriptionsError>> {
1116 let configuration = configuration;
1117
1118 let client = &configuration.client;
1119
1120 let uri_str = format!("{}/players/csv_export?app_id={app_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id));
1121 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1122
1123 if let Some(ref user_agent) = configuration.user_agent {
1124 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1125 }
1126
1127 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1129
1130 if let Some(ref token) = configuration.rest_api_key_token {
1131 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1132 }
1133 req_builder = req_builder.json(&export_subscriptions_request_body);
1134
1135 let req = req_builder.build()?;
1136 let resp = client.execute(req).await?;
1137
1138 let status = resp.status();
1139 let content = resp.text().await?;
1140
1141 if !status.is_client_error() && !status.is_server_error() {
1142 serde_json::from_str(&content).map_err(Error::from)
1143 } else {
1144 let entity: Option<ExportSubscriptionsError> = serde_json::from_str(&content).ok();
1145 let error = ResponseContent { status: status, content: content, entity: entity };
1146 Err(Error::ResponseError(error))
1147 }
1148}
1149
1150pub async fn get_aliases(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str) -> Result<crate::models::UserIdentityBody, Error<GetAliasesError>> {
1152 let configuration = configuration;
1153
1154 let client = &configuration.client;
1155
1156 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}/identity", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id));
1157 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1158
1159 if let Some(ref user_agent) = configuration.user_agent {
1160 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1161 }
1162
1163 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1165
1166 if let Some(ref token) = configuration.rest_api_key_token {
1167 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1168 }
1169
1170 let req = req_builder.build()?;
1171 let resp = client.execute(req).await?;
1172
1173 let status = resp.status();
1174 let content = resp.text().await?;
1175
1176 if !status.is_client_error() && !status.is_server_error() {
1177 serde_json::from_str(&content).map_err(Error::from)
1178 } else {
1179 let entity: Option<GetAliasesError> = serde_json::from_str(&content).ok();
1180 let error = ResponseContent { status: status, content: content, entity: entity };
1181 Err(Error::ResponseError(error))
1182 }
1183}
1184
1185pub async fn get_aliases_by_subscription(configuration: &configuration::Configuration, app_id: &str, subscription_id: &str) -> Result<crate::models::UserIdentityBody, Error<GetAliasesBySubscriptionError>> {
1187 let configuration = configuration;
1188
1189 let client = &configuration.client;
1190
1191 let uri_str = format!("{}/apps/{app_id}/subscriptions/{subscription_id}/user/identity", configuration.base_path, app_id=crate::apis::urlencode(app_id), subscription_id=crate::apis::urlencode(subscription_id));
1192 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1193
1194 if let Some(ref user_agent) = configuration.user_agent {
1195 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1196 }
1197
1198 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1200
1201 if let Some(ref token) = configuration.rest_api_key_token {
1202 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1203 }
1204
1205 let req = req_builder.build()?;
1206 let resp = client.execute(req).await?;
1207
1208 let status = resp.status();
1209 let content = resp.text().await?;
1210
1211 if !status.is_client_error() && !status.is_server_error() {
1212 serde_json::from_str(&content).map_err(Error::from)
1213 } else {
1214 let entity: Option<GetAliasesBySubscriptionError> = serde_json::from_str(&content).ok();
1215 let error = ResponseContent { status: status, content: content, entity: entity };
1216 Err(Error::ResponseError(error))
1217 }
1218}
1219
1220pub async fn get_app(configuration: &configuration::Configuration, app_id: &str) -> Result<crate::models::App, Error<GetAppError>> {
1222 let configuration = configuration;
1223
1224 let client = &configuration.client;
1225
1226 let uri_str = format!("{}/apps/{app_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id));
1227 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1228
1229 if let Some(ref user_agent) = configuration.user_agent {
1230 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1231 }
1232
1233 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1235
1236 if let Some(ref token) = configuration.organization_api_key_token {
1237 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1238 }
1239
1240 let req = req_builder.build()?;
1241 let resp = client.execute(req).await?;
1242
1243 let status = resp.status();
1244 let content = resp.text().await?;
1245
1246 if !status.is_client_error() && !status.is_server_error() {
1247 serde_json::from_str(&content).map_err(Error::from)
1248 } else {
1249 let entity: Option<GetAppError> = serde_json::from_str(&content).ok();
1250 let error = ResponseContent { status: status, content: content, entity: entity };
1251 Err(Error::ResponseError(error))
1252 }
1253}
1254
1255pub async fn get_apps(configuration: &configuration::Configuration, ) -> Result<Vec<crate::models::App>, Error<GetAppsError>> {
1257 let configuration = configuration;
1258
1259 let client = &configuration.client;
1260
1261 let uri_str = format!("{}/apps", configuration.base_path);
1262 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1263
1264 if let Some(ref user_agent) = configuration.user_agent {
1265 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1266 }
1267
1268 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1270
1271 if let Some(ref token) = configuration.organization_api_key_token {
1272 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1273 }
1274
1275 let req = req_builder.build()?;
1276 let resp = client.execute(req).await?;
1277
1278 let status = resp.status();
1279 let content = resp.text().await?;
1280
1281 if !status.is_client_error() && !status.is_server_error() {
1282 serde_json::from_str(&content).map_err(Error::from)
1283 } else {
1284 let entity: Option<GetAppsError> = serde_json::from_str(&content).ok();
1285 let error = ResponseContent { status: status, content: content, entity: entity };
1286 Err(Error::ResponseError(error))
1287 }
1288}
1289
1290pub async fn get_notification(configuration: &configuration::Configuration, app_id: &str, notification_id: &str) -> Result<crate::models::NotificationWithMeta, Error<GetNotificationError>> {
1292 let configuration = configuration;
1293
1294 let client = &configuration.client;
1295
1296 let uri_str = format!("{}/notifications/{notification_id}", configuration.base_path, notification_id=crate::apis::urlencode(notification_id));
1297 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1298
1299 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
1300 if let Some(ref user_agent) = configuration.user_agent {
1301 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1302 }
1303
1304 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1306
1307 if let Some(ref token) = configuration.rest_api_key_token {
1308 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1309 }
1310
1311 let req = req_builder.build()?;
1312 let resp = client.execute(req).await?;
1313
1314 let status = resp.status();
1315 let content = resp.text().await?;
1316
1317 if !status.is_client_error() && !status.is_server_error() {
1318 serde_json::from_str(&content).map_err(Error::from)
1319 } else {
1320 let entity: Option<GetNotificationError> = serde_json::from_str(&content).ok();
1321 let error = ResponseContent { status: status, content: content, entity: entity };
1322 Err(Error::ResponseError(error))
1323 }
1324}
1325
1326pub async fn get_notification_history(configuration: &configuration::Configuration, notification_id: &str, get_notification_history_request_body: crate::models::GetNotificationHistoryRequestBody) -> Result<crate::models::NotificationHistorySuccessResponse, Error<GetNotificationHistoryError>> {
1328 let configuration = configuration;
1329
1330 let client = &configuration.client;
1331
1332 let uri_str = format!("{}/notifications/{notification_id}/history", configuration.base_path, notification_id=crate::apis::urlencode(notification_id));
1333 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1334
1335 if let Some(ref user_agent) = configuration.user_agent {
1336 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1337 }
1338
1339 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1341
1342 if let Some(ref token) = configuration.rest_api_key_token {
1343 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1344 }
1345 req_builder = req_builder.json(&get_notification_history_request_body);
1346
1347 let req = req_builder.build()?;
1348 let resp = client.execute(req).await?;
1349
1350 let status = resp.status();
1351 let content = resp.text().await?;
1352
1353 if !status.is_client_error() && !status.is_server_error() {
1354 serde_json::from_str(&content).map_err(Error::from)
1355 } else {
1356 let entity: Option<GetNotificationHistoryError> = serde_json::from_str(&content).ok();
1357 let error = ResponseContent { status: status, content: content, entity: entity };
1358 Err(Error::ResponseError(error))
1359 }
1360}
1361
1362pub async fn get_notifications(configuration: &configuration::Configuration, app_id: &str, limit: Option<i32>, offset: Option<i32>, kind: Option<i32>) -> Result<crate::models::NotificationSlice, Error<GetNotificationsError>> {
1364 let configuration = configuration;
1365
1366 let client = &configuration.client;
1367
1368 let uri_str = format!("{}/notifications", configuration.base_path);
1369 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1370
1371 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
1372 if let Some(ref str) = limit {
1373 req_builder = req_builder.query(&[("limit", &str.to_string())]);
1374 }
1375 if let Some(ref str) = offset {
1376 req_builder = req_builder.query(&[("offset", &str.to_string())]);
1377 }
1378 if let Some(ref str) = kind {
1379 req_builder = req_builder.query(&[("kind", &str.to_string())]);
1380 }
1381 if let Some(ref user_agent) = configuration.user_agent {
1382 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1383 }
1384
1385 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1387
1388 if let Some(ref token) = configuration.rest_api_key_token {
1389 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1390 }
1391
1392 let req = req_builder.build()?;
1393 let resp = client.execute(req).await?;
1394
1395 let status = resp.status();
1396 let content = resp.text().await?;
1397
1398 if !status.is_client_error() && !status.is_server_error() {
1399 serde_json::from_str(&content).map_err(Error::from)
1400 } else {
1401 let entity: Option<GetNotificationsError> = serde_json::from_str(&content).ok();
1402 let error = ResponseContent { status: status, content: content, entity: entity };
1403 Err(Error::ResponseError(error))
1404 }
1405}
1406
1407pub async fn get_outcomes(configuration: &configuration::Configuration, app_id: &str, outcome_names: &str, outcome_names2: Option<&str>, outcome_time_range: Option<&str>, outcome_platforms: Option<&str>, outcome_attribution: Option<&str>) -> Result<crate::models::OutcomesData, Error<GetOutcomesError>> {
1409 let configuration = configuration;
1410
1411 let client = &configuration.client;
1412
1413 let uri_str = format!("{}/apps/{app_id}/outcomes", configuration.base_path, app_id=crate::apis::urlencode(app_id));
1414 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1415
1416 req_builder = req_builder.query(&[("outcome_names", &outcome_names.to_string())]);
1417 if let Some(ref str) = outcome_names2 {
1418 req_builder = req_builder.query(&[("outcome_names[]", &str.to_string())]);
1419 }
1420 if let Some(ref str) = outcome_time_range {
1421 req_builder = req_builder.query(&[("outcome_time_range", &str.to_string())]);
1422 }
1423 if let Some(ref str) = outcome_platforms {
1424 req_builder = req_builder.query(&[("outcome_platforms", &str.to_string())]);
1425 }
1426 if let Some(ref str) = outcome_attribution {
1427 req_builder = req_builder.query(&[("outcome_attribution", &str.to_string())]);
1428 }
1429 if let Some(ref user_agent) = configuration.user_agent {
1430 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1431 }
1432
1433 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1435
1436 if let Some(ref token) = configuration.rest_api_key_token {
1437 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1438 }
1439
1440 let req = req_builder.build()?;
1441 let resp = client.execute(req).await?;
1442
1443 let status = resp.status();
1444 let content = resp.text().await?;
1445
1446 if !status.is_client_error() && !status.is_server_error() {
1447 serde_json::from_str(&content).map_err(Error::from)
1448 } else {
1449 let entity: Option<GetOutcomesError> = serde_json::from_str(&content).ok();
1450 let error = ResponseContent { status: status, content: content, entity: entity };
1451 Err(Error::ResponseError(error))
1452 }
1453}
1454
1455pub async fn get_segments(configuration: &configuration::Configuration, app_id: &str, offset: Option<i32>, limit: Option<i32>) -> Result<crate::models::GetSegmentsSuccessResponse, Error<GetSegmentsError>> {
1457 let configuration = configuration;
1458
1459 let client = &configuration.client;
1460
1461 let uri_str = format!("{}/apps/{app_id}/segments", configuration.base_path, app_id=crate::apis::urlencode(app_id));
1462 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1463
1464 if let Some(ref str) = offset {
1465 req_builder = req_builder.query(&[("offset", &str.to_string())]);
1466 }
1467 if let Some(ref str) = limit {
1468 req_builder = req_builder.query(&[("limit", &str.to_string())]);
1469 }
1470 if let Some(ref user_agent) = configuration.user_agent {
1471 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1472 }
1473
1474 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1476
1477 if let Some(ref token) = configuration.rest_api_key_token {
1478 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1479 }
1480
1481 let req = req_builder.build()?;
1482 let resp = client.execute(req).await?;
1483
1484 let status = resp.status();
1485 let content = resp.text().await?;
1486
1487 if !status.is_client_error() && !status.is_server_error() {
1488 serde_json::from_str(&content).map_err(Error::from)
1489 } else {
1490 let entity: Option<GetSegmentsError> = serde_json::from_str(&content).ok();
1491 let error = ResponseContent { status: status, content: content, entity: entity };
1492 Err(Error::ResponseError(error))
1493 }
1494}
1495
1496pub async fn get_user(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str) -> Result<crate::models::User, Error<GetUserError>> {
1498 let configuration = configuration;
1499
1500 let client = &configuration.client;
1501
1502 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id));
1503 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1504
1505 if let Some(ref user_agent) = configuration.user_agent {
1506 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1507 }
1508
1509 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1511
1512 if let Some(ref token) = configuration.rest_api_key_token {
1513 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1514 }
1515
1516 let req = req_builder.build()?;
1517 let resp = client.execute(req).await?;
1518
1519 let status = resp.status();
1520 let content = resp.text().await?;
1521
1522 if !status.is_client_error() && !status.is_server_error() {
1523 serde_json::from_str(&content).map_err(Error::from)
1524 } else {
1525 let entity: Option<GetUserError> = serde_json::from_str(&content).ok();
1526 let error = ResponseContent { status: status, content: content, entity: entity };
1527 Err(Error::ResponseError(error))
1528 }
1529}
1530
1531pub async fn rotate_api_key(configuration: &configuration::Configuration, app_id: &str, token_id: &str) -> Result<crate::models::CreateApiKeyResponse, Error<RotateApiKeyError>> {
1533 let configuration = configuration;
1534
1535 let client = &configuration.client;
1536
1537 let uri_str = format!("{}/apps/{app_id}/auth/tokens/{token_id}/rotate", configuration.base_path, app_id=crate::apis::urlencode(app_id), token_id=crate::apis::urlencode(token_id));
1538 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1539
1540 if let Some(ref user_agent) = configuration.user_agent {
1541 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1542 }
1543
1544 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1546
1547 if let Some(ref token) = configuration.organization_api_key_token {
1548 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1549 }
1550
1551 let req = req_builder.build()?;
1552 let resp = client.execute(req).await?;
1553
1554 let status = resp.status();
1555 let content = resp.text().await?;
1556
1557 if !status.is_client_error() && !status.is_server_error() {
1558 serde_json::from_str(&content).map_err(Error::from)
1559 } else {
1560 let entity: Option<RotateApiKeyError> = serde_json::from_str(&content).ok();
1561 let error = ResponseContent { status: status, content: content, entity: entity };
1562 Err(Error::ResponseError(error))
1563 }
1564}
1565
1566pub async fn start_live_activity(configuration: &configuration::Configuration, app_id: &str, activity_type: &str, start_live_activity_request: crate::models::StartLiveActivityRequest) -> Result<crate::models::StartLiveActivitySuccessResponse, Error<StartLiveActivityError>> {
1568 let configuration = configuration;
1569
1570 let client = &configuration.client;
1571
1572 let uri_str = format!("{}/apps/{app_id}/activities/activity/{activity_type}", configuration.base_path, app_id=crate::apis::urlencode(app_id), activity_type=crate::apis::urlencode(activity_type));
1573 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1574
1575 if let Some(ref user_agent) = configuration.user_agent {
1576 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1577 }
1578
1579 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1581
1582 if let Some(ref token) = configuration.rest_api_key_token {
1583 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1584 }
1585 req_builder = req_builder.json(&start_live_activity_request);
1586
1587 let req = req_builder.build()?;
1588 let resp = client.execute(req).await?;
1589
1590 let status = resp.status();
1591 let content = resp.text().await?;
1592
1593 if !status.is_client_error() && !status.is_server_error() {
1594 serde_json::from_str(&content).map_err(Error::from)
1595 } else {
1596 let entity: Option<StartLiveActivityError> = serde_json::from_str(&content).ok();
1597 let error = ResponseContent { status: status, content: content, entity: entity };
1598 Err(Error::ResponseError(error))
1599 }
1600}
1601
1602pub async fn transfer_subscription(configuration: &configuration::Configuration, app_id: &str, subscription_id: &str, transfer_subscription_request_body: crate::models::TransferSubscriptionRequestBody) -> Result<crate::models::UserIdentityBody, Error<TransferSubscriptionError>> {
1604 let configuration = configuration;
1605
1606 let client = &configuration.client;
1607
1608 let uri_str = format!("{}/apps/{app_id}/subscriptions/{subscription_id}/owner", configuration.base_path, app_id=crate::apis::urlencode(app_id), subscription_id=crate::apis::urlencode(subscription_id));
1609 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
1610
1611 if let Some(ref user_agent) = configuration.user_agent {
1612 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1613 }
1614
1615 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1617
1618 if let Some(ref token) = configuration.rest_api_key_token {
1619 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1620 }
1621 req_builder = req_builder.json(&transfer_subscription_request_body);
1622
1623 let req = req_builder.build()?;
1624 let resp = client.execute(req).await?;
1625
1626 let status = resp.status();
1627 let content = resp.text().await?;
1628
1629 if !status.is_client_error() && !status.is_server_error() {
1630 serde_json::from_str(&content).map_err(Error::from)
1631 } else {
1632 let entity: Option<TransferSubscriptionError> = serde_json::from_str(&content).ok();
1633 let error = ResponseContent { status: status, content: content, entity: entity };
1634 Err(Error::ResponseError(error))
1635 }
1636}
1637
1638pub async fn unsubscribe_email_with_token(configuration: &configuration::Configuration, app_id: &str, notification_id: &str, token: &str) -> Result<crate::models::GenericSuccessBoolResponse, Error<UnsubscribeEmailWithTokenError>> {
1640 let configuration = configuration;
1641
1642 let client = &configuration.client;
1643
1644 let uri_str = format!("{}/apps/{app_id}/notifications/{notification_id}/unsubscribe", configuration.base_path, app_id=crate::apis::urlencode(app_id), notification_id=crate::apis::urlencode(notification_id));
1645 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1646
1647 req_builder = req_builder.query(&[("token", &token.to_string())]);
1648 if let Some(ref user_agent) = configuration.user_agent {
1649 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1650 }
1651
1652 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1654
1655 if let Some(ref token) = configuration.rest_api_key_token {
1656 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1657 }
1658
1659 let req = req_builder.build()?;
1660 let resp = client.execute(req).await?;
1661
1662 let status = resp.status();
1663 let content = resp.text().await?;
1664
1665 if !status.is_client_error() && !status.is_server_error() {
1666 serde_json::from_str(&content).map_err(Error::from)
1667 } else {
1668 let entity: Option<UnsubscribeEmailWithTokenError> = serde_json::from_str(&content).ok();
1669 let error = ResponseContent { status: status, content: content, entity: entity };
1670 Err(Error::ResponseError(error))
1671 }
1672}
1673
1674pub async fn update_api_key(configuration: &configuration::Configuration, app_id: &str, token_id: &str, update_api_key_request: crate::models::UpdateApiKeyRequest) -> Result<serde_json::Value, Error<UpdateApiKeyError>> {
1676 let configuration = configuration;
1677
1678 let client = &configuration.client;
1679
1680 let uri_str = format!("{}/apps/{app_id}/auth/tokens/{token_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), token_id=crate::apis::urlencode(token_id));
1681 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
1682
1683 if let Some(ref user_agent) = configuration.user_agent {
1684 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1685 }
1686
1687 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1689
1690 if let Some(ref token) = configuration.organization_api_key_token {
1691 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1692 }
1693 req_builder = req_builder.json(&update_api_key_request);
1694
1695 let req = req_builder.build()?;
1696 let resp = client.execute(req).await?;
1697
1698 let status = resp.status();
1699 let content = resp.text().await?;
1700
1701 if !status.is_client_error() && !status.is_server_error() {
1702 serde_json::from_str(&content).map_err(Error::from)
1703 } else {
1704 let entity: Option<UpdateApiKeyError> = serde_json::from_str(&content).ok();
1705 let error = ResponseContent { status: status, content: content, entity: entity };
1706 Err(Error::ResponseError(error))
1707 }
1708}
1709
1710pub async fn update_app(configuration: &configuration::Configuration, app_id: &str, app: crate::models::App) -> Result<crate::models::App, Error<UpdateAppError>> {
1712 let configuration = configuration;
1713
1714 let client = &configuration.client;
1715
1716 let uri_str = format!("{}/apps/{app_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id));
1717 let mut req_builder = client.request(reqwest::Method::PUT, uri_str.as_str());
1718
1719 if let Some(ref user_agent) = configuration.user_agent {
1720 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1721 }
1722
1723 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1725
1726 if let Some(ref token) = configuration.organization_api_key_token {
1727 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1728 }
1729 req_builder = req_builder.json(&app);
1730
1731 let req = req_builder.build()?;
1732 let resp = client.execute(req).await?;
1733
1734 let status = resp.status();
1735 let content = resp.text().await?;
1736
1737 if !status.is_client_error() && !status.is_server_error() {
1738 serde_json::from_str(&content).map_err(Error::from)
1739 } else {
1740 let entity: Option<UpdateAppError> = serde_json::from_str(&content).ok();
1741 let error = ResponseContent { status: status, content: content, entity: entity };
1742 Err(Error::ResponseError(error))
1743 }
1744}
1745
1746pub async fn update_live_activity(configuration: &configuration::Configuration, app_id: &str, activity_id: &str, update_live_activity_request: crate::models::UpdateLiveActivityRequest) -> Result<crate::models::UpdateLiveActivitySuccessResponse, Error<UpdateLiveActivityError>> {
1748 let configuration = configuration;
1749
1750 let client = &configuration.client;
1751
1752 let uri_str = format!("{}/apps/{app_id}/live_activities/{activity_id}/notifications", configuration.base_path, app_id=crate::apis::urlencode(app_id), activity_id=crate::apis::urlencode(activity_id));
1753 let mut req_builder = client.request(reqwest::Method::POST, uri_str.as_str());
1754
1755 if let Some(ref user_agent) = configuration.user_agent {
1756 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1757 }
1758
1759 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1761
1762 if let Some(ref token) = configuration.rest_api_key_token {
1763 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1764 }
1765 req_builder = req_builder.json(&update_live_activity_request);
1766
1767 let req = req_builder.build()?;
1768 let resp = client.execute(req).await?;
1769
1770 let status = resp.status();
1771 let content = resp.text().await?;
1772
1773 if !status.is_client_error() && !status.is_server_error() {
1774 serde_json::from_str(&content).map_err(Error::from)
1775 } else {
1776 let entity: Option<UpdateLiveActivityError> = serde_json::from_str(&content).ok();
1777 let error = ResponseContent { status: status, content: content, entity: entity };
1778 Err(Error::ResponseError(error))
1779 }
1780}
1781
1782pub async fn update_subscription(configuration: &configuration::Configuration, app_id: &str, subscription_id: &str, subscription_body: crate::models::SubscriptionBody) -> Result<(), Error<UpdateSubscriptionError>> {
1784 let configuration = configuration;
1785
1786 let client = &configuration.client;
1787
1788 let uri_str = format!("{}/apps/{app_id}/subscriptions/{subscription_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), subscription_id=crate::apis::urlencode(subscription_id));
1789 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
1790
1791 if let Some(ref user_agent) = configuration.user_agent {
1792 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1793 }
1794
1795 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1797
1798 if let Some(ref token) = configuration.rest_api_key_token {
1799 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1800 }
1801 req_builder = req_builder.json(&subscription_body);
1802
1803 let req = req_builder.build()?;
1804 let resp = client.execute(req).await?;
1805
1806 let status = resp.status();
1807 let content = resp.text().await?;
1808
1809 if !status.is_client_error() && !status.is_server_error() {
1810 Ok(())
1811 } else {
1812 let entity: Option<UpdateSubscriptionError> = serde_json::from_str(&content).ok();
1813 let error = ResponseContent { status: status, content: content, entity: entity };
1814 Err(Error::ResponseError(error))
1815 }
1816}
1817
1818pub async fn update_subscription_by_token(configuration: &configuration::Configuration, app_id: &str, token_type: &str, token: &str, subscription_body: crate::models::SubscriptionBody) -> Result<serde_json::Value, Error<UpdateSubscriptionByTokenError>> {
1820 let configuration = configuration;
1821
1822 let client = &configuration.client;
1823
1824 let uri_str = format!("{}/apps/{app_id}/subscriptions_by_token/{token_type}/{token}", configuration.base_path, app_id=crate::apis::urlencode(app_id), token_type=crate::apis::urlencode(token_type), token=crate::apis::urlencode(token));
1825 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
1826
1827 if let Some(ref user_agent) = configuration.user_agent {
1828 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1829 }
1830
1831 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1833
1834 if let Some(ref token) = configuration.rest_api_key_token {
1835 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1836 }
1837 req_builder = req_builder.json(&subscription_body);
1838
1839 let req = req_builder.build()?;
1840 let resp = client.execute(req).await?;
1841
1842 let status = resp.status();
1843 let content = resp.text().await?;
1844
1845 if !status.is_client_error() && !status.is_server_error() {
1846 serde_json::from_str(&content).map_err(Error::from)
1847 } else {
1848 let entity: Option<UpdateSubscriptionByTokenError> = serde_json::from_str(&content).ok();
1849 let error = ResponseContent { status: status, content: content, entity: entity };
1850 Err(Error::ResponseError(error))
1851 }
1852}
1853
1854pub async fn update_template(configuration: &configuration::Configuration, template_id: &str, app_id: &str, update_template_request: crate::models::UpdateTemplateRequest) -> Result<crate::models::TemplateResource, Error<UpdateTemplateError>> {
1856 let configuration = configuration;
1857
1858 let client = &configuration.client;
1859
1860 let uri_str = format!("{}/templates/{template_id}", configuration.base_path, template_id=crate::apis::urlencode(template_id));
1861 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
1862
1863 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
1864 if let Some(ref user_agent) = configuration.user_agent {
1865 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1866 }
1867
1868 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1870
1871 if let Some(ref token) = configuration.rest_api_key_token {
1872 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1873 }
1874 req_builder = req_builder.json(&update_template_request);
1875
1876 let req = req_builder.build()?;
1877 let resp = client.execute(req).await?;
1878
1879 let status = resp.status();
1880 let content = resp.text().await?;
1881
1882 if !status.is_client_error() && !status.is_server_error() {
1883 serde_json::from_str(&content).map_err(Error::from)
1884 } else {
1885 let entity: Option<UpdateTemplateError> = serde_json::from_str(&content).ok();
1886 let error = ResponseContent { status: status, content: content, entity: entity };
1887 Err(Error::ResponseError(error))
1888 }
1889}
1890
1891pub async fn update_user(configuration: &configuration::Configuration, app_id: &str, alias_label: &str, alias_id: &str, update_user_request: crate::models::UpdateUserRequest) -> Result<crate::models::PropertiesBody, Error<UpdateUserError>> {
1893 let configuration = configuration;
1894
1895 let client = &configuration.client;
1896
1897 let uri_str = format!("{}/apps/{app_id}/users/by/{alias_label}/{alias_id}", configuration.base_path, app_id=crate::apis::urlencode(app_id), alias_label=crate::apis::urlencode(alias_label), alias_id=crate::apis::urlencode(alias_id));
1898 let mut req_builder = client.request(reqwest::Method::PATCH, uri_str.as_str());
1899
1900 if let Some(ref user_agent) = configuration.user_agent {
1901 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1902 }
1903
1904 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1906
1907 if let Some(ref token) = configuration.rest_api_key_token {
1908 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1909 }
1910 req_builder = req_builder.json(&update_user_request);
1911
1912 let req = req_builder.build()?;
1913 let resp = client.execute(req).await?;
1914
1915 let status = resp.status();
1916 let content = resp.text().await?;
1917
1918 if !status.is_client_error() && !status.is_server_error() {
1919 serde_json::from_str(&content).map_err(Error::from)
1920 } else {
1921 let entity: Option<UpdateUserError> = serde_json::from_str(&content).ok();
1922 let error = ResponseContent { status: status, content: content, entity: entity };
1923 Err(Error::ResponseError(error))
1924 }
1925}
1926
1927pub async fn view_api_keys(configuration: &configuration::Configuration, app_id: &str) -> Result<crate::models::ApiKeyTokensListResponse, Error<ViewApiKeysError>> {
1929 let configuration = configuration;
1930
1931 let client = &configuration.client;
1932
1933 let uri_str = format!("{}/apps/{app_id}/auth/tokens", configuration.base_path, app_id=crate::apis::urlencode(app_id));
1934 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1935
1936 if let Some(ref user_agent) = configuration.user_agent {
1937 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1938 }
1939
1940 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1942
1943 if let Some(ref token) = configuration.organization_api_key_token {
1944 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1945 }
1946
1947 let req = req_builder.build()?;
1948 let resp = client.execute(req).await?;
1949
1950 let status = resp.status();
1951 let content = resp.text().await?;
1952
1953 if !status.is_client_error() && !status.is_server_error() {
1954 serde_json::from_str(&content).map_err(Error::from)
1955 } else {
1956 let entity: Option<ViewApiKeysError> = serde_json::from_str(&content).ok();
1957 let error = ResponseContent { status: status, content: content, entity: entity };
1958 Err(Error::ResponseError(error))
1959 }
1960}
1961
1962pub async fn view_template(configuration: &configuration::Configuration, template_id: &str, app_id: &str) -> Result<crate::models::TemplateResource, Error<ViewTemplateError>> {
1964 let configuration = configuration;
1965
1966 let client = &configuration.client;
1967
1968 let uri_str = format!("{}/templates/{template_id}", configuration.base_path, template_id=crate::apis::urlencode(template_id));
1969 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
1970
1971 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
1972 if let Some(ref user_agent) = configuration.user_agent {
1973 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
1974 }
1975
1976 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
1978
1979 if let Some(ref token) = configuration.rest_api_key_token {
1980 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
1981 }
1982
1983 let req = req_builder.build()?;
1984 let resp = client.execute(req).await?;
1985
1986 let status = resp.status();
1987 let content = resp.text().await?;
1988
1989 if !status.is_client_error() && !status.is_server_error() {
1990 serde_json::from_str(&content).map_err(Error::from)
1991 } else {
1992 let entity: Option<ViewTemplateError> = serde_json::from_str(&content).ok();
1993 let error = ResponseContent { status: status, content: content, entity: entity };
1994 Err(Error::ResponseError(error))
1995 }
1996}
1997
1998pub async fn view_templates(configuration: &configuration::Configuration, app_id: &str, limit: Option<i32>, offset: Option<i32>, channel: Option<&str>) -> Result<crate::models::TemplatesListResponse, Error<ViewTemplatesError>> {
2000 let configuration = configuration;
2001
2002 let client = &configuration.client;
2003
2004 let uri_str = format!("{}/templates", configuration.base_path);
2005 let mut req_builder = client.request(reqwest::Method::GET, uri_str.as_str());
2006
2007 req_builder = req_builder.query(&[("app_id", &app_id.to_string())]);
2008 if let Some(ref str) = limit {
2009 req_builder = req_builder.query(&[("limit", &str.to_string())]);
2010 }
2011 if let Some(ref str) = offset {
2012 req_builder = req_builder.query(&[("offset", &str.to_string())]);
2013 }
2014 if let Some(ref str) = channel {
2015 req_builder = req_builder.query(&[("channel", &str.to_string())]);
2016 }
2017 if let Some(ref user_agent) = configuration.user_agent {
2018 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
2019 }
2020
2021 req_builder = req_builder.header("OS-Usage-Data", "kind=sdk, sdk-name=onesignal-rust, version=5.4.0");
2023
2024 if let Some(ref token) = configuration.rest_api_key_token {
2025 req_builder = req_builder.header("Authorization", format!("Key {}", token.to_owned()));
2026 }
2027
2028 let req = req_builder.build()?;
2029 let resp = client.execute(req).await?;
2030
2031 let status = resp.status();
2032 let content = resp.text().await?;
2033
2034 if !status.is_client_error() && !status.is_server_error() {
2035 serde_json::from_str(&content).map_err(Error::from)
2036 } else {
2037 let entity: Option<ViewTemplatesError> = serde_json::from_str(&content).ok();
2038 let error = ResponseContent { status: status, content: content, entity: entity };
2039 Err(Error::ResponseError(error))
2040 }
2041}
2042