bpm_engine_core/
instance.rs1use std::collections::HashMap;
2
3use super::token::Token;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)]
6pub enum InstanceState {
7 Running,
8 Completed,
9 Terminated,
10}
11
12#[derive(Debug, Clone, serde::Serialize)]
13pub struct ProcessInstance {
14 pub id: String,
15 pub process_def_id: String,
16 pub tenant_id: Option<String>,
17 pub tokens: Vec<Token>,
18 pub variables: HashMap<String, String>,
19 pub state: InstanceState,
20 pub version: u32,
21}
22
23impl ProcessInstance {
24 pub fn completed(&self) -> bool {
25 self.state == InstanceState::Completed
26 }
27}