orvanta_api/models/
cmmn_case_summary.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CmmnCaseSummary {
17 #[serde(rename = "id")]
18 pub id: uuid::Uuid,
19 #[serde(rename = "workspace_id")]
20 pub workspace_id: String,
21 #[serde(rename = "cmmn_case_path", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub cmmn_case_path: Option<Option<String>>,
24 #[serde(rename = "cmmn_version", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
26 pub cmmn_version: Option<Option<i64>>,
27 #[serde(rename = "business_key", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub business_key: Option<Option<String>>,
29 #[serde(rename = "created_at")]
30 pub created_at: String,
31 #[serde(rename = "created_by")]
32 pub created_by: String,
33 #[serde(rename = "started_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34 pub started_at: Option<Option<String>>,
35 #[serde(rename = "completed_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub completed_at: Option<Option<String>>,
37 #[serde(rename = "job_status", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
38 pub job_status: Option<Option<String>>,
39 #[serde(rename = "canceled_by", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40 pub canceled_by: Option<Option<String>>,
41 #[serde(rename = "lifecycle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43 pub lifecycle: Option<Option<Lifecycle>>,
44 #[serde(rename = "case_state", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
46 pub case_state: Option<Option<models::CmmnCaseState>>,
47}
48
49impl CmmnCaseSummary {
50 pub fn new(id: uuid::Uuid, workspace_id: String, created_at: String, created_by: String) -> CmmnCaseSummary {
52 CmmnCaseSummary {
53 id,
54 workspace_id,
55 cmmn_case_path: None,
56 cmmn_version: None,
57 business_key: None,
58 created_at,
59 created_by,
60 started_at: None,
61 completed_at: None,
62 job_status: None,
63 canceled_by: None,
64 lifecycle: None,
65 case_state: None,
66 }
67 }
68}
69#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
71pub enum Lifecycle {
72 #[serde(rename = "running")]
73 Running,
74 #[serde(rename = "completed")]
75 Completed,
76 #[serde(rename = "incident")]
77 Incident,
78}
79
80impl Default for Lifecycle {
81 fn default() -> Lifecycle {
82 Self::Running
83 }
84}
85