onesignal_rust_api/models/
segment_details.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
15pub struct SegmentDetails {
16 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
18 pub id: Option<String>,
19 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
21 pub name: Option<String>,
22 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
24 pub description: Option<String>,
25 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
27 pub created_at: Option<i32>,
28 #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
30 pub source: Option<SourceType>,
31 #[serde(rename = "filters", skip_serializing_if = "Option::is_none")]
33 pub filters: Option<Vec<crate::models::FilterExpression>>,
34}
35
36impl SegmentDetails {
37 pub fn new() -> SegmentDetails {
39 SegmentDetails {
40 id: None,
41 name: None,
42 description: None,
43 created_at: None,
44 source: None,
45 filters: None,
46 }
47 }
48}
49
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum SourceType {
53 #[serde(rename = "default")]
54 Default,
55 #[serde(rename = "custom")]
56 Custom,
57 #[serde(rename = "quickstart")]
58 Quickstart,
59}
60
61impl Default for SourceType {
62 fn default() -> SourceType {
63 Self::Default
64 }
65}
66