onesignal_rust_api/models/
update_live_activity_request.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 UpdateLiveActivityRequest {
16    /// Type of live activity
17    #[serde(rename = "name")]
18    pub name: NameType,
19    #[serde(rename = "event")]
20    pub event: EventType,
21    #[serde(rename = "event_updates")]
22    pub event_updates: serde_json::Value,
23    /// Timestamp; only allowed if event is \"end\"
24    #[serde(rename = "dismiss_at", skip_serializing_if = "Option::is_none")]
25    pub dismiss_at: Option<f32>,
26}
27
28impl UpdateLiveActivityRequest {
29    pub fn new(name: NameType, event: EventType, event_updates: serde_json::Value) -> UpdateLiveActivityRequest {
30        UpdateLiveActivityRequest {
31            name,
32            event,
33            event_updates,
34            dismiss_at: None,
35        }
36    }
37}
38
39/// Type of live activity
40#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
41pub enum NameType {
42    #[serde(rename = "headings")]
43    Headings,
44    #[serde(rename = "contents")]
45    Contents,
46    #[serde(rename = "ios_sound")]
47    IosSound,
48    #[serde(rename = "priority_level")]
49    PriorityLevel,
50}
51
52impl Default for NameType {
53    fn default() -> NameType {
54        Self::Headings
55    }
56}
57/// 
58#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
59pub enum EventType {
60    #[serde(rename = "update")]
61    Update,
62    #[serde(rename = "end")]
63    End,
64}
65
66impl Default for EventType {
67    fn default() -> EventType {
68        Self::Update
69    }
70}
71