use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RuleSuite {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "actor_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub actor_id: Option<Option<i32>>,
#[serde(rename = "actor_name", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub actor_name: Option<Option<String>>,
#[serde(rename = "before_sha", skip_serializing_if = "Option::is_none")]
pub before_sha: Option<String>,
#[serde(rename = "after_sha", skip_serializing_if = "Option::is_none")]
pub after_sha: Option<String>,
#[serde(rename = "ref", skip_serializing_if = "Option::is_none")]
pub r#ref: Option<String>,
#[serde(rename = "repository_id", skip_serializing_if = "Option::is_none")]
pub repository_id: Option<i32>,
#[serde(rename = "repository_name", skip_serializing_if = "Option::is_none")]
pub repository_name: Option<String>,
#[serde(rename = "pushed_at", skip_serializing_if = "Option::is_none")]
pub pushed_at: Option<String>,
#[serde(rename = "result", skip_serializing_if = "Option::is_none")]
pub result: Option<Result>,
#[serde(rename = "evaluation_result", skip_serializing_if = "Option::is_none")]
pub evaluation_result: Option<EvaluationResult>,
#[serde(rename = "rule_evaluations", skip_serializing_if = "Option::is_none")]
pub rule_evaluations: Option<Vec<models::RuleSuiteRuleEvaluationsInner>>,
}
impl RuleSuite {
pub fn new() -> RuleSuite {
RuleSuite {
id: None,
actor_id: None,
actor_name: None,
before_sha: None,
after_sha: None,
r#ref: None,
repository_id: None,
repository_name: None,
pushed_at: None,
result: None,
evaluation_result: None,
rule_evaluations: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Result {
#[serde(rename = "pass")]
Pass,
#[serde(rename = "fail")]
Fail,
#[serde(rename = "bypass")]
Bypass,
}
impl Default for Result {
fn default() -> Result {
Self::Pass
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EvaluationResult {
#[serde(rename = "pass")]
Pass,
#[serde(rename = "fail")]
Fail,
}
impl Default for EvaluationResult {
fn default() -> EvaluationResult {
Self::Pass
}
}