use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CodeScanningAlertRuleSummary {
#[serde(rename = "id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub id: Option<Option<String>>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "tags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub tags: Option<Option<Vec<String>>>,
#[serde(rename = "severity", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub severity: Option<Option<Severity>>,
#[serde(rename = "security_severity_level", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub security_severity_level: Option<Option<SecuritySeverityLevel>>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl CodeScanningAlertRuleSummary {
pub fn new() -> CodeScanningAlertRuleSummary {
CodeScanningAlertRuleSummary {
id: None,
name: None,
tags: None,
severity: None,
security_severity_level: None,
description: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Severity {
#[serde(rename = "none")]
None,
#[serde(rename = "note")]
Note,
#[serde(rename = "warning")]
Warning,
#[serde(rename = "error")]
Error,
}
impl Default for Severity {
fn default() -> Severity {
Self::None
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum SecuritySeverityLevel {
#[serde(rename = "low")]
Low,
#[serde(rename = "medium")]
Medium,
#[serde(rename = "high")]
High,
#[serde(rename = "critical")]
Critical,
}
impl Default for SecuritySeverityLevel {
fn default() -> SecuritySeverityLevel {
Self::Low
}
}