1use super::network;
3use super::service_worker;
4#[allow(unused_imports)]
5use super::types::*;
6#[allow(unused_imports)]
7use serde::{Deserialize, Serialize};
8#[allow(unused_imports)]
9use serde_json::Value as Json;
10#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
11pub enum ServiceName {
12 #[serde(rename = "backgroundFetch")]
13 BackgroundFetch,
14 #[serde(rename = "backgroundSync")]
15 BackgroundSync,
16 #[serde(rename = "pushMessaging")]
17 PushMessaging,
18 #[serde(rename = "notifications")]
19 Notifications,
20 #[serde(rename = "paymentHandler")]
21 PaymentHandler,
22 #[serde(rename = "periodicBackgroundSync")]
23 PeriodicBackgroundSync,
24}
25#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
26pub struct EventMetadata {
27 #[serde(default)]
28 #[serde(rename = "key")]
29 pub key: String,
30 #[serde(default)]
31 #[serde(rename = "value")]
32 pub value: String,
33}
34#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
35pub struct BackgroundServiceEvent {
36 #[serde(rename = "timestamp")]
37 pub timestamp: network::TimeSinceEpoch,
38 #[serde(default)]
39 #[serde(rename = "origin")]
40 pub origin: String,
41 #[serde(rename = "serviceWorkerRegistrationId")]
42 pub service_worker_registration_id: service_worker::RegistrationId,
43 #[serde(rename = "service")]
44 pub service: ServiceName,
45 #[serde(default)]
46 #[serde(rename = "eventName")]
47 pub event_name: String,
48 #[serde(default)]
49 #[serde(rename = "instanceId")]
50 pub instance_id: String,
51 #[serde(rename = "eventMetadata")]
52 pub event_metadata: Vec<EventMetadata>,
53 #[serde(default)]
54 #[serde(rename = "storageKey")]
55 pub storage_key: String,
56}
57#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
58pub struct StartObserving {
59 #[serde(rename = "service")]
60 pub service: ServiceName,
61}
62#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
63pub struct StopObserving {
64 #[serde(rename = "service")]
65 pub service: ServiceName,
66}
67#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
68pub struct SetRecording {
69 #[serde(default)]
70 #[serde(rename = "shouldRecord")]
71 pub should_record: bool,
72 #[serde(rename = "service")]
73 pub service: ServiceName,
74}
75#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
76pub struct ClearEvents {
77 #[serde(rename = "service")]
78 pub service: ServiceName,
79}
80#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
81#[serde(rename_all = "camelCase")]
82pub struct StartObservingReturnObject {}
83#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
84#[serde(rename_all = "camelCase")]
85pub struct StopObservingReturnObject {}
86#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
87#[serde(rename_all = "camelCase")]
88pub struct SetRecordingReturnObject {}
89#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
90#[serde(rename_all = "camelCase")]
91pub struct ClearEventsReturnObject {}
92impl Method for StartObserving {
93 const NAME: &'static str = "BackgroundService.startObserving";
94 type ReturnObject = StartObservingReturnObject;
95}
96impl Method for StopObserving {
97 const NAME: &'static str = "BackgroundService.stopObserving";
98 type ReturnObject = StopObservingReturnObject;
99}
100impl Method for SetRecording {
101 const NAME: &'static str = "BackgroundService.setRecording";
102 type ReturnObject = SetRecordingReturnObject;
103}
104impl Method for ClearEvents {
105 const NAME: &'static str = "BackgroundService.clearEvents";
106 type ReturnObject = ClearEventsReturnObject;
107}
108pub mod events {
109 #[allow(unused_imports)]
110 use super::super::types::*;
111 #[allow(unused_imports)]
112 use serde::{Deserialize, Serialize};
113 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
114 pub struct RecordingStateChangedEvent {
115 pub params: RecordingStateChangedEventParams,
116 }
117 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
118 pub struct RecordingStateChangedEventParams {
119 #[serde(default)]
120 #[serde(rename = "isRecording")]
121 pub is_recording: bool,
122 #[serde(rename = "service")]
123 pub service: super::ServiceName,
124 }
125 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
126 pub struct BackgroundServiceEventReceivedEvent {
127 pub params: BackgroundServiceEventReceivedEventParams,
128 }
129 #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
130 pub struct BackgroundServiceEventReceivedEventParams {
131 #[serde(rename = "backgroundServiceEvent")]
132 pub background_service_event: super::BackgroundServiceEvent,
133 }
134}