1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ExtendedEvent {
16 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
17 pub id: Option<String>,
18 #[serde(rename = "org_id", skip_serializing_if = "Option::is_none")]
19 pub org_id: Option<String>,
20 #[serde(rename = "distribution", skip_serializing_if = "Option::is_none")]
21 pub distribution: Option<models::DistributionLevelId>,
22 #[serde(rename = "info", skip_serializing_if = "Option::is_none")]
23 pub info: Option<String>,
24 #[serde(rename = "orgc_id", skip_serializing_if = "Option::is_none")]
25 pub orgc_id: Option<String>,
26 #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")]
27 pub uuid: Option<uuid::Uuid>,
28 #[serde(rename = "date", skip_serializing_if = "Option::is_none")]
29 pub date: Option<String>,
30 #[serde(rename = "published", skip_serializing_if = "Option::is_none")]
31 pub published: Option<bool>,
32 #[serde(rename = "analysis", skip_serializing_if = "Option::is_none")]
33 pub analysis: Option<models::AnalysisLevelId>,
34 #[serde(rename = "attribute_count", skip_serializing_if = "Option::is_none")]
35 pub attribute_count: Option<String>,
36 #[serde(rename = "timestamp", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub timestamp: Option<Option<String>>,
38 #[serde(rename = "sharing_group_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
39 pub sharing_group_id: Option<Option<String>>,
40 #[serde(rename = "proposal_email_lock", skip_serializing_if = "Option::is_none")]
41 pub proposal_email_lock: Option<bool>,
42 #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
43 pub locked: Option<bool>,
44 #[serde(rename = "threat_level_id", skip_serializing_if = "Option::is_none")]
45 pub threat_level_id: Option<models::ThreatLevelId>,
46 #[serde(rename = "publish_timestamp", skip_serializing_if = "Option::is_none")]
47 pub publish_timestamp: Option<String>,
48 #[serde(rename = "sighting_timestamp", skip_serializing_if = "Option::is_none")]
49 pub sighting_timestamp: Option<String>,
50 #[serde(rename = "disable_correlation", skip_serializing_if = "Option::is_none")]
51 pub disable_correlation: Option<bool>,
52 #[serde(rename = "extends_uuid", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
53 pub extends_uuid: Option<Option<String>>,
54 #[serde(rename = "event_creator_email", skip_serializing_if = "Option::is_none")]
55 pub event_creator_email: Option<String>,
56 #[serde(rename = "Feed", skip_serializing_if = "Option::is_none")]
57 pub feed: Option<Box<models::Feed>>,
58 #[serde(rename = "Org", skip_serializing_if = "Option::is_none")]
59 pub org: Option<Box<models::EventOrganisation>>,
60 #[serde(rename = "Orgc", skip_serializing_if = "Option::is_none")]
61 pub orgc: Option<Box<models::EventOrganisation>>,
62 #[serde(rename = "Attribute", skip_serializing_if = "Option::is_none")]
63 pub attribute: Option<Vec<models::Attribute>>,
64 #[serde(rename = "ShadowAttribute", skip_serializing_if = "Option::is_none")]
65 pub shadow_attribute: Option<Vec<models::Attribute>>,
66 #[serde(rename = "RelatedEvent", skip_serializing_if = "Option::is_none")]
67 pub related_event: Option<Vec<models::GetEventById200Response>>,
68 #[serde(rename = "Galaxy", skip_serializing_if = "Option::is_none")]
69 pub galaxy: Option<Vec<models::Galaxy>>,
70 #[serde(rename = "Object", skip_serializing_if = "Option::is_none")]
71 pub object: Option<Vec<models::Object>>,
72 #[serde(rename = "EventReport", skip_serializing_if = "Option::is_none")]
73 pub event_report: Option<Vec<models::EventReport>>,
74 #[serde(rename = "Tag", skip_serializing_if = "Option::is_none")]
75 pub tag: Option<Vec<models::Tag>>,
76}
77
78impl ExtendedEvent {
79 pub fn new() -> ExtendedEvent {
80 ExtendedEvent {
81 id: None,
82 org_id: None,
83 distribution: None,
84 info: None,
85 orgc_id: None,
86 uuid: None,
87 date: None,
88 published: None,
89 analysis: None,
90 attribute_count: None,
91 timestamp: None,
92 sharing_group_id: None,
93 proposal_email_lock: None,
94 locked: None,
95 threat_level_id: None,
96 publish_timestamp: None,
97 sighting_timestamp: None,
98 disable_correlation: None,
99 extends_uuid: None,
100 event_creator_email: None,
101 feed: None,
102 org: None,
103 orgc: None,
104 attribute: None,
105 shadow_attribute: None,
106 related_event: None,
107 galaxy: None,
108 object: None,
109 event_report: None,
110 tag: None,
111 }
112 }
113}
114