openapi_github/models/
repository_vulnerability_alert_alert.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// RepositoryVulnerabilityAlertAlert : The security alert of the vulnerable dependency.
15#[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    /// The security alert of the vulnerable dependency.
57    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/// 
81#[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