onesignal_rust_api/models/
subscription_object.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct SubscriptionObject {
16 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17 pub id: Option<String>,
18 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
19 pub _type: Option<TypeType>,
20 #[serde(rename = "token", skip_serializing_if = "Option::is_none")]
21 pub token: Option<String>,
22 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
23 pub enabled: Option<bool>,
24 #[serde(rename = "notification_types", skip_serializing_if = "Option::is_none")]
25 pub notification_types: Option<i32>,
26 #[serde(rename = "session_time", skip_serializing_if = "Option::is_none")]
27 pub session_time: Option<f32>,
28 #[serde(rename = "session_count", skip_serializing_if = "Option::is_none")]
29 pub session_count: Option<f32>,
30 #[serde(rename = "sdk", skip_serializing_if = "Option::is_none")]
31 pub sdk: Option<String>,
32 #[serde(rename = "device_model", skip_serializing_if = "Option::is_none")]
33 pub device_model: Option<String>,
34 #[serde(rename = "device_os", skip_serializing_if = "Option::is_none")]
35 pub device_os: Option<String>,
36 #[serde(rename = "rooted", skip_serializing_if = "Option::is_none")]
37 pub rooted: Option<bool>,
38 #[serde(rename = "test_type", skip_serializing_if = "Option::is_none")]
39 pub test_type: Option<f32>,
40 #[serde(rename = "app_version", skip_serializing_if = "Option::is_none")]
41 pub app_version: Option<String>,
42 #[serde(rename = "net_type", skip_serializing_if = "Option::is_none")]
43 pub net_type: Option<f32>,
44 #[serde(rename = "carrier", skip_serializing_if = "Option::is_none")]
45 pub carrier: Option<String>,
46 #[serde(rename = "web_auth", skip_serializing_if = "Option::is_none")]
47 pub web_auth: Option<String>,
48 #[serde(rename = "web_p256", skip_serializing_if = "Option::is_none")]
49 pub web_p256: Option<String>,
50}
51
52impl SubscriptionObject {
53 pub fn new() -> SubscriptionObject {
54 SubscriptionObject {
55 id: None,
56 _type: None,
57 token: None,
58 enabled: None,
59 notification_types: None,
60 session_time: None,
61 session_count: None,
62 sdk: None,
63 device_model: None,
64 device_os: None,
65 rooted: None,
66 test_type: None,
67 app_version: None,
68 net_type: None,
69 carrier: None,
70 web_auth: None,
71 web_p256: None,
72 }
73 }
74}
75
76#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
78pub enum TypeType {
79 #[serde(rename = "iOSPush")]
80 IOSPush,
81 #[serde(rename = "AndroidPush")]
82 AndroidPush,
83 #[serde(rename = "FireOSPush")]
84 FireOSPush,
85 #[serde(rename = "ChromeExtensionPush")]
86 ChromeExtensionPush,
87 #[serde(rename = "ChromePush")]
88 ChromePush,
89 #[serde(rename = "WindowsPush")]
90 WindowsPush,
91 #[serde(rename = "SafariLegacyPush")]
92 SafariLegacyPush,
93 #[serde(rename = "FirefoxPush")]
94 FirefoxPush,
95 #[serde(rename = "macOSPush")]
96 MacOSPush,
97 #[serde(rename = "HuaweiPush")]
98 HuaweiPush,
99 #[serde(rename = "SafariPush")]
100 SafariPush,
101 #[serde(rename = "Email")]
102 Email,
103 #[serde(rename = "SMS")]
104 SMS,
105}
106
107impl Default for TypeType {
108 fn default() -> TypeType {
109 Self::IOSPush
110 }
111}
112