onesignal_rust_api/models/
app.rs

1/*
2 * OneSignal
3 *
4 * A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5 *
6 * The version of the OpenAPI document: 1.4.1
7 * Contact: devrel@onesignal.com
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12
13
14#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct App {
16    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17    pub id: Option<String>,
18    /// The name of your app, as displayed on your apps list on the dashboard.  This can be renamed.
19    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
20    pub name: Option<String>,
21    #[serde(rename = "players", skip_serializing_if = "Option::is_none")]
22    pub players: Option<i32>,
23    #[serde(rename = "messageable_players", skip_serializing_if = "Option::is_none")]
24    pub messageable_players: Option<i32>,
25    #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
26    pub updated_at: Option<String>,
27    #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
28    pub created_at: Option<String>,
29    /// Android: Your Google Project number.  Also known as Sender ID.
30    #[serde(rename = "android_gcm_sender_id", skip_serializing_if = "Option::is_none")]
31    pub android_gcm_sender_id: Option<String>,
32    /// Android: Your Google Push Messaging Auth Key
33    #[serde(rename = "gcm_key", skip_serializing_if = "Option::is_none")]
34    pub gcm_key: Option<String>,
35    /// Chrome (All Browsers except Safari) (Recommended): The URL to your website.  This field is required if you wish to enable web push and specify other web push parameters.
36    #[serde(rename = "chrome_web_origin", skip_serializing_if = "Option::is_none")]
37    pub chrome_web_origin: Option<String>,
38    /// Not for web push.  Your Google Push Messaging Auth Key if you use Chrome Apps / Extensions.
39    #[serde(rename = "chrome_key", skip_serializing_if = "Option::is_none")]
40    pub chrome_key: Option<String>,
41    /// Chrome (All Browsers except Safari): Your default notification icon. Should be 256x256 pixels, min 80x80.
42    #[serde(rename = "chrome_web_default_notification_icon", skip_serializing_if = "Option::is_none")]
43    pub chrome_web_default_notification_icon: Option<String>,
44    /// Chrome (All Browsers except Safari): A subdomain of your choice in order to support Web Push on non-HTTPS websites. This field must be set in order for the chrome_web_gcm_sender_id property to be processed.
45    #[serde(rename = "chrome_web_sub_domain", skip_serializing_if = "Option::is_none")]
46    pub chrome_web_sub_domain: Option<String>,
47    /// iOS: Either sandbox or production
48    #[serde(rename = "apns_env", skip_serializing_if = "Option::is_none")]
49    pub apns_env: Option<ApnsEnvType>,
50    /// iOS: Your apple push notification p12 certificate file, converted to a string and Base64 encoded.
51    #[serde(rename = "apns_p12", skip_serializing_if = "Option::is_none")]
52    pub apns_p12: Option<String>,
53    /// iOS: Required if using p12 certificate.  Password for the apns_p12 file.
54    #[serde(rename = "apns_p12_password", skip_serializing_if = "Option::is_none")]
55    pub apns_p12_password: Option<String>,
56    #[serde(rename = "apns_certificates", skip_serializing_if = "Option::is_none")]
57    pub apns_certificates: Option<String>,
58    #[serde(rename = "safari_apns_certificates", skip_serializing_if = "Option::is_none")]
59    pub safari_apns_certificates: Option<String>,
60    /// Safari: Your apple push notification p12 certificate file for Safari Push Notifications, converted to a string and Base64 encoded.
61    #[serde(rename = "safari_apns_p12", skip_serializing_if = "Option::is_none")]
62    pub safari_apns_p12: Option<String>,
63    /// Safari: Password for safari_apns_p12 file
64    #[serde(rename = "safari_apns_p12_password", skip_serializing_if = "Option::is_none")]
65    pub safari_apns_p12_password: Option<String>,
66    /// iOS: Required if using p8. Unique identifier for the p8 authentication key.
67    #[serde(rename = "apns_key_id", skip_serializing_if = "Option::is_none")]
68    pub apns_key_id: Option<String>,
69    /// iOS: Required if using p8. Team ID generated by Apple for your developer account.
70    #[serde(rename = "apns_team_id", skip_serializing_if = "Option::is_none")]
71    pub apns_team_id: Option<String>,
72    /// iOS: Required if using p8. Bundle ID for your app in the Apple ecosystem.
73    #[serde(rename = "apns_bundle_id", skip_serializing_if = "Option::is_none")]
74    pub apns_bundle_id: Option<String>,
75    /// iOS: Required if using p8. Base64 encoded p8 key
76    #[serde(rename = "apns_p8", skip_serializing_if = "Option::is_none")]
77    pub apns_p8: Option<String>,
78    /// Safari (Recommended): The hostname to your website including http(s)://
79    #[serde(rename = "safari_site_origin", skip_serializing_if = "Option::is_none")]
80    pub safari_site_origin: Option<String>,
81    #[serde(rename = "safari_push_id", skip_serializing_if = "Option::is_none")]
82    pub safari_push_id: Option<String>,
83    #[serde(rename = "safari_icon_16_16", skip_serializing_if = "Option::is_none")]
84    pub safari_icon_16_16: Option<String>,
85    #[serde(rename = "safari_icon_32_32", skip_serializing_if = "Option::is_none")]
86    pub safari_icon_32_32: Option<String>,
87    #[serde(rename = "safari_icon_64_64", skip_serializing_if = "Option::is_none")]
88    pub safari_icon_64_64: Option<String>,
89    #[serde(rename = "safari_icon_128_128", skip_serializing_if = "Option::is_none")]
90    pub safari_icon_128_128: Option<String>,
91    /// Safari: A url for a 256x256 png notification icon. This is the only Safari icon URL you need to provide.
92    #[serde(rename = "safari_icon_256_256", skip_serializing_if = "Option::is_none")]
93    pub safari_icon_256_256: Option<String>,
94    /// All Browsers (Recommended): The Site Name. Requires both chrome_web_origin and safari_site_origin to be set to add or update it.
95    #[serde(rename = "site_name", skip_serializing_if = "Option::is_none")]
96    pub site_name: Option<String>,
97    #[serde(rename = "basic_auth_key", skip_serializing_if = "Option::is_none")]
98    pub basic_auth_key: Option<String>,
99    /// The Id of the Organization you would like to add this app to.
100    #[serde(rename = "organization_id", skip_serializing_if = "Option::is_none")]
101    pub organization_id: Option<String>,
102    /// iOS: Notification data (additional data) values will be added to the root of the apns payload when sent to the device.  Ignore if you're not using any other plugins, or not using OneSignal SDK methods to read the payload.
103    #[serde(rename = "additional_data_is_root_payload", skip_serializing_if = "Option::is_none")]
104    pub additional_data_is_root_payload: Option<bool>,
105}
106
107impl App {
108    pub fn new() -> App {
109        App {
110            id: None,
111            name: None,
112            players: None,
113            messageable_players: None,
114            updated_at: None,
115            created_at: None,
116            android_gcm_sender_id: None,
117            gcm_key: None,
118            chrome_web_origin: None,
119            chrome_key: None,
120            chrome_web_default_notification_icon: None,
121            chrome_web_sub_domain: None,
122            apns_env: None,
123            apns_p12: None,
124            apns_p12_password: None,
125            apns_certificates: None,
126            safari_apns_certificates: None,
127            safari_apns_p12: None,
128            safari_apns_p12_password: None,
129            apns_key_id: None,
130            apns_team_id: None,
131            apns_bundle_id: None,
132            apns_p8: None,
133            safari_site_origin: None,
134            safari_push_id: None,
135            safari_icon_16_16: None,
136            safari_icon_32_32: None,
137            safari_icon_64_64: None,
138            safari_icon_128_128: None,
139            safari_icon_256_256: None,
140            site_name: None,
141            basic_auth_key: None,
142            organization_id: None,
143            additional_data_is_root_payload: None,
144        }
145    }
146}
147
148/// iOS: Either sandbox or production
149#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
150pub enum ApnsEnvType {
151    #[serde(rename = "sandbox")]
152    Sandbox,
153    #[serde(rename = "production")]
154    Production,
155}
156
157impl Default for ApnsEnvType {
158    fn default() -> ApnsEnvType {
159        Self::Sandbox
160    }
161}
162