use crate::risk::RiskScore;
use crate::sdk::decision_list::http::responses::create::StatusResponse;
use crate::{AnalysisLayer, OrderStatus, Recommendation, TriggeredDecision, TriggeredRules};
use serde::{Deserialize, Serialize};

#[derive(Debug, Serialize, Deserialize)]
pub struct AnalysisOrderResponse {
    pub id: String,
    pub score: RiskScore,
    pub recommendation: Recommendation,
    pub status: OrderStatus,
    pub analysis_layers: Vec<AnalysisLayer>,
    pub triggered_decision_list: Option<Vec<TriggeredDecision>>,
    pub triggered_rules: Option<Vec<TriggeredRules>>,
}

#[derive(Debug, Serialize, Deserialize)]
pub struct CreateAnalysisResponse {
    pub status: StatusResponse,
    pub order: AnalysisOrderResponse,
}
