openapi_github/models/
repository_vulnerability_alert_alert.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RepositoryVulnerabilityAlertAlert {
17 #[serde(rename = "affected_package_name")]
18 pub affected_package_name: String,
19 #[serde(rename = "affected_range")]
20 pub affected_range: String,
21 #[serde(rename = "created_at")]
22 pub created_at: String,
23 #[serde(rename = "dismiss_comment", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub dismiss_comment: Option<Option<String>>,
25 #[serde(rename = "dismiss_reason")]
26 pub dismiss_reason: String,
27 #[serde(rename = "dismissed_at")]
28 pub dismissed_at: String,
29 #[serde(rename = "dismisser", deserialize_with = "Option::deserialize")]
30 pub dismisser: Option<Box<models::User>>,
31 #[serde(rename = "external_identifier")]
32 pub external_identifier: String,
33 #[serde(rename = "external_reference", deserialize_with = "Option::deserialize")]
34 pub external_reference: Option<String>,
35 #[serde(rename = "fix_reason", skip_serializing_if = "Option::is_none")]
36 pub fix_reason: Option<String>,
37 #[serde(rename = "fixed_at", skip_serializing_if = "Option::is_none")]
38 pub fixed_at: Option<String>,
39 #[serde(rename = "fixed_in", skip_serializing_if = "Option::is_none")]
40 pub fixed_in: Option<String>,
41 #[serde(rename = "ghsa_id")]
42 pub ghsa_id: String,
43 #[serde(rename = "id")]
44 pub id: i32,
45 #[serde(rename = "node_id")]
46 pub node_id: String,
47 #[serde(rename = "number")]
48 pub number: i32,
49 #[serde(rename = "severity")]
50 pub severity: String,
51 #[serde(rename = "state")]
52 pub state: State,
53}
54
55impl RepositoryVulnerabilityAlertAlert {
56 pub fn new(affected_package_name: String, affected_range: String, created_at: String, dismiss_reason: String, dismissed_at: String, dismisser: Option<models::User>, external_identifier: String, external_reference: Option<String>, ghsa_id: String, id: i32, node_id: String, number: i32, severity: String, state: State) -> RepositoryVulnerabilityAlertAlert {
58 RepositoryVulnerabilityAlertAlert {
59 affected_package_name,
60 affected_range,
61 created_at,
62 dismiss_comment: None,
63 dismiss_reason,
64 dismissed_at,
65 dismisser: dismisser.map(Box::new),
66 external_identifier,
67 external_reference,
68 fix_reason: None,
69 fixed_at: None,
70 fixed_in: None,
71 ghsa_id,
72 id,
73 node_id,
74 number,
75 severity,
76 state,
77 }
78 }
79}
80#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
82pub enum State {
83 #[serde(rename = "dismissed")]
84 Dismissed,
85}
86
87impl Default for State {
88 fn default() -> State {
89 Self::Dismissed
90 }
91}
92