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