/*
* Orvanta API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 6.5.0
* Contact: contact@orvanta.cloud
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// CmmnControl : The **whole** write surface a non-worker component has on a running case. Each entry names an intent; the engine decides legality when the worker applies it. Keyed by a per-delivery UUID, not by the transition name --- two operators acting a second apart are two deliveries, and the second must not silently overwrite the first's audit-bearing intent.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CmmnControl {
/// Per-plan-item transition requests, keyed by delivery id.
#[serde(rename = "triggers", skip_serializing_if = "Option::is_none")]
pub triggers: Option<std::collections::HashMap<String, models::CmmnTriggerIntent>>,
/// Case-level transition requests, keyed by delivery id.
#[serde(rename = "case_transitions", skip_serializing_if = "Option::is_none")]
pub case_transitions: Option<std::collections::HashMap<String, models::CmmnCaseTransitionIntent>>,
}
impl CmmnControl {
/// The **whole** write surface a non-worker component has on a running case. Each entry names an intent; the engine decides legality when the worker applies it. Keyed by a per-delivery UUID, not by the transition name --- two operators acting a second apart are two deliveries, and the second must not silently overwrite the first's audit-bearing intent.
pub fn new() -> CmmnControl {
CmmnControl {
triggers: None,
case_transitions: None,
}
}
}