use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GateEvaluationResponse {
#[serde(rename = "action")]
pub action: String,
#[serde(rename = "component_scores")]
pub component_scores: serde_json::Value,
#[serde(rename = "gate_name")]
pub gate_name: String,
#[serde(rename = "health_grade")]
pub health_grade: String,
#[serde(rename = "health_score")]
pub health_score: i32,
#[serde(rename = "passed")]
pub passed: bool,
#[serde(rename = "violations")]
pub violations: Vec<models::GateViolationResponse>,
}
impl GateEvaluationResponse {
pub fn new(action: String, component_scores: serde_json::Value, gate_name: String, health_grade: String, health_score: i32, passed: bool, violations: Vec<models::GateViolationResponse>) -> GateEvaluationResponse {
GateEvaluationResponse {
action,
component_scores,
gate_name,
health_grade,
health_score,
passed,
violations,
}
}
}