misp_client_rs/models/
event.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Event {
16 #[serde(rename = "org_id", skip_serializing_if = "Option::is_none")]
17 pub org_id: Option<String>,
18 #[serde(rename = "distribution", skip_serializing_if = "Option::is_none")]
19 pub distribution: Option<models::DistributionLevelId>,
20 #[serde(rename = "info", skip_serializing_if = "Option::is_none")]
21 pub info: Option<String>,
22 #[serde(rename = "orgc_id", skip_serializing_if = "Option::is_none")]
23 pub orgc_id: Option<String>,
24 #[serde(rename = "uuid", skip_serializing_if = "Option::is_none")]
25 pub uuid: Option<uuid::Uuid>,
26 #[serde(rename = "date", skip_serializing_if = "Option::is_none")]
27 pub date: Option<String>,
28 #[serde(rename = "published", skip_serializing_if = "Option::is_none")]
29 pub published: Option<bool>,
30 #[serde(rename = "analysis", skip_serializing_if = "Option::is_none")]
31 pub analysis: Option<models::AnalysisLevelId>,
32 #[serde(rename = "attribute_count", skip_serializing_if = "Option::is_none")]
33 pub attribute_count: Option<String>,
34 #[serde(rename = "timestamp", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub timestamp: Option<Option<String>>,
36 #[serde(rename = "sharing_group_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub sharing_group_id: Option<Option<String>>,
38 #[serde(rename = "proposal_email_lock", skip_serializing_if = "Option::is_none")]
39 pub proposal_email_lock: Option<bool>,
40 #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
41 pub locked: Option<bool>,
42 #[serde(rename = "threat_level_id", skip_serializing_if = "Option::is_none")]
43 pub threat_level_id: Option<models::ThreatLevelId>,
44 #[serde(rename = "publish_timestamp", skip_serializing_if = "Option::is_none")]
45 pub publish_timestamp: Option<String>,
46 #[serde(rename = "sighting_timestamp", skip_serializing_if = "Option::is_none")]
47 pub sighting_timestamp: Option<String>,
48 #[serde(rename = "disable_correlation", skip_serializing_if = "Option::is_none")]
49 pub disable_correlation: Option<bool>,
50 #[serde(rename = "extends_uuid", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51 pub extends_uuid: Option<Option<String>>,
52 #[serde(rename = "event_creator_email", skip_serializing_if = "Option::is_none")]
53 pub event_creator_email: Option<String>,
54 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
55 pub id: Option<String>,
56}
57
58impl Event {
59 pub fn new() -> Event {
60 Event {
61 org_id: None,
62 distribution: None,
63 info: None,
64 orgc_id: None,
65 uuid: None,
66 date: None,
67 published: None,
68 analysis: None,
69 attribute_count: None,
70 timestamp: None,
71 sharing_group_id: None,
72 proposal_email_lock: None,
73 locked: None,
74 threat_level_id: None,
75 publish_timestamp: None,
76 sighting_timestamp: None,
77 disable_correlation: None,
78 extends_uuid: None,
79 event_creator_email: None,
80 id: None,
81 }
82 }
83}
84