use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ProcessInstanceStatus {
#[serde(rename = "instance_id")]
pub instance_id: uuid::Uuid,
#[serde(rename = "process_status")]
pub process_status: models::ProcessStatusValue,
#[serde(rename = "updated_at")]
pub updated_at: String,
#[serde(rename = "activities")]
pub activities: Vec<models::ProcessActivityStatus>,
#[serde(rename = "variables")]
pub variables: std::collections::HashMap<String, serde_json::Value>,
#[serde(rename = "history")]
pub history: Vec<models::ProcessHistoryEntry>,
#[serde(rename = "incidents")]
pub incidents: Vec<models::ProcessIncident>,
}
impl ProcessInstanceStatus {
pub fn new(instance_id: uuid::Uuid, process_status: models::ProcessStatusValue, updated_at: String, activities: Vec<models::ProcessActivityStatus>, variables: std::collections::HashMap<String, serde_json::Value>, history: Vec<models::ProcessHistoryEntry>, incidents: Vec<models::ProcessIncident>) -> ProcessInstanceStatus {
ProcessInstanceStatus {
instance_id,
process_status,
updated_at,
activities,
variables,
history,
incidents,
}
}
}