openapi_github/models/
repository_vulnerability_alert_alert_1.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/// RepositoryVulnerabilityAlertAlert1 : The security alert of the vulnerable dependency.
15#[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    /// The security alert of the vulnerable dependency.
55    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/// 
78#[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