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