onesignal_rust_api/models/
journey.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct Journey {
16 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
18 pub id: Option<String>,
19 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
21 pub app_id: Option<String>,
22 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
24 pub name: Option<String>,
25 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
27 pub description: Option<String>,
28 #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
30 pub state: Option<StateType>,
31 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
33 pub created_at: Option<String>,
34 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
36 pub updated_at: Option<String>,
37 #[serde(rename = "started_at", skip_serializing_if = "Option::is_none")]
39 pub started_at: Option<String>,
40 #[serde(rename = "archived_at", skip_serializing_if = "Option::is_none")]
42 pub archived_at: Option<String>,
43 #[serde(rename = "created_source", skip_serializing_if = "Option::is_none")]
45 pub created_source: Option<String>,
46 #[serde(rename = "audience", skip_serializing_if = "Option::is_none")]
47 pub audience: Option<Box<crate::models::JourneyAudience>>,
48 #[serde(rename = "early_exit", skip_serializing_if = "Option::is_none")]
49 pub early_exit: Option<Box<crate::models::JourneyEarlyExit>>,
50 #[serde(rename = "reentry_rules", skip_serializing_if = "Option::is_none")]
51 pub reentry_rules: Option<Box<crate::models::JourneyReentryRules>>,
52 #[serde(rename = "schedule", skip_serializing_if = "Option::is_none")]
53 pub schedule: Option<Box<crate::models::JourneySchedule>>,
54 #[serde(rename = "nodes", skip_serializing_if = "Option::is_none")]
56 pub nodes: Option<Vec<crate::models::JourneyNode>>,
57 #[serde(rename = "concurrency_key", skip_serializing_if = "Option::is_none")]
59 pub concurrency_key: Option<String>,
60}
61
62impl Journey {
63 pub fn new() -> Journey {
65 Journey {
66 id: None,
67 app_id: None,
68 name: None,
69 description: None,
70 state: None,
71 created_at: None,
72 updated_at: None,
73 started_at: None,
74 archived_at: None,
75 created_source: None,
76 audience: None,
77 early_exit: None,
78 reentry_rules: None,
79 schedule: None,
80 nodes: None,
81 concurrency_key: None,
82 }
83 }
84}
85
86#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
88pub enum StateType {
89 #[serde(rename = "draft")]
90 Draft,
91 #[serde(rename = "scheduled")]
92 Scheduled,
93 #[serde(rename = "processing")]
94 Processing,
95 #[serde(rename = "active")]
96 Active,
97 #[serde(rename = "archived")]
98 Archived,
99}
100
101impl Default for StateType {
102 fn default() -> StateType {
103 Self::Draft
104 }
105}
106