Skip to main content

orvanta_api/models/
bpmn_instance_detail.rs

1/*
2 * Orvanta API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 1.5.0
7 * Contact: contact@orvanta.cloud
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// BpmnInstanceDetail : full instance detail -- lifecycle, active tokens/activities/joins/scopes, variables, and incidents
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct BpmnInstanceDetail {
17    #[serde(rename = "id")]
18    pub id: uuid::Uuid,
19    #[serde(rename = "workspace_id")]
20    pub workspace_id: String,
21    #[serde(rename = "bpmn_flow_path", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
22    pub bpmn_flow_path: Option<Option<String>>,
23    #[serde(rename = "bpmn_version", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24    pub bpmn_version: Option<Option<i64>>,
25    #[serde(rename = "created_at")]
26    pub created_at: String,
27    #[serde(rename = "created_by")]
28    pub created_by: String,
29    #[serde(rename = "started_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30    pub started_at: Option<Option<String>>,
31    #[serde(rename = "completed_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32    pub completed_at: Option<Option<String>>,
33    #[serde(rename = "job_status", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34    pub job_status: Option<Option<String>>,
35    #[serde(rename = "canceled_by", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36    pub canceled_by: Option<Option<String>>,
37    #[serde(rename = "canceled_reason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
38    pub canceled_reason: Option<Option<String>>,
39    #[serde(rename = "lifecycle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40    pub lifecycle: Option<Option<Lifecycle>>,
41    #[serde(rename = "tokens", skip_serializing_if = "Option::is_none")]
42    pub tokens: Option<Vec<models::BpmnToken>>,
43    #[serde(rename = "activities", skip_serializing_if = "Option::is_none")]
44    pub activities: Option<Vec<models::BpmnActivityState>>,
45    #[serde(rename = "joins", skip_serializing_if = "Option::is_none")]
46    pub joins: Option<Vec<models::BpmnJoinState>>,
47    #[serde(rename = "scopes", skip_serializing_if = "Option::is_none")]
48    pub scopes: Option<Vec<models::BpmnScope>>,
49    #[serde(rename = "variables", skip_serializing_if = "Option::is_none")]
50    pub variables: Option<std::collections::HashMap<String, serde_json::Value>>,
51    #[serde(rename = "incidents", skip_serializing_if = "Option::is_none")]
52    pub incidents: Option<Vec<models::BpmnIncident>>,
53    #[serde(rename = "result", skip_serializing_if = "Option::is_none")]
54    pub result: Option<std::collections::HashMap<String, serde_json::Value>>,
55}
56
57impl BpmnInstanceDetail {
58    /// full instance detail -- lifecycle, active tokens/activities/joins/scopes, variables, and incidents
59    pub fn new(id: uuid::Uuid, workspace_id: String, created_at: String, created_by: String) -> BpmnInstanceDetail {
60        BpmnInstanceDetail {
61            id,
62            workspace_id,
63            bpmn_flow_path: None,
64            bpmn_version: None,
65            created_at,
66            created_by,
67            started_at: None,
68            completed_at: None,
69            job_status: None,
70            canceled_by: None,
71            canceled_reason: None,
72            lifecycle: None,
73            tokens: None,
74            activities: None,
75            joins: None,
76            scopes: None,
77            variables: None,
78            incidents: None,
79            result: None,
80        }
81    }
82}
83/// 
84#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
85pub enum Lifecycle {
86    #[serde(rename = "running")]
87    Running,
88    #[serde(rename = "completed")]
89    Completed,
90    #[serde(rename = "incident")]
91    Incident,
92}
93
94impl Default for Lifecycle {
95    fn default() -> Lifecycle {
96        Self::Running
97    }
98}
99