Skip to main content

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