orvanta_api/models/
bpmn_migration_blocker.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct BpmnMigrationBlocker {
17 #[serde(rename = "rule")]
18 pub rule: Rule,
19 #[serde(rename = "rule_number")]
20 pub rule_number: i32,
21 #[serde(rename = "message")]
23 pub message: String,
24 #[serde(rename = "element_id", skip_serializing_if = "Option::is_none")]
25 pub element_id: Option<String>,
26 #[serde(rename = "flow_id", skip_serializing_if = "Option::is_none")]
27 pub flow_id: Option<String>,
28 #[serde(rename = "message_name", skip_serializing_if = "Option::is_none")]
29 pub message_name: Option<String>,
30 #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
31 pub kind: Option<String>,
32 #[serde(rename = "from", skip_serializing_if = "Option::is_none")]
33 pub from: Option<String>,
34 #[serde(rename = "to", skip_serializing_if = "Option::is_none")]
35 pub to: Option<String>,
36 #[serde(rename = "removed", skip_serializing_if = "Option::is_none")]
37 pub removed: Option<Vec<String>>,
38 #[serde(rename = "added", skip_serializing_if = "Option::is_none")]
39 pub added: Option<Vec<String>>,
40}
41
42impl BpmnMigrationBlocker {
43 pub fn new(rule: Rule, rule_number: i32, message: String) -> BpmnMigrationBlocker {
45 BpmnMigrationBlocker {
46 rule,
47 rule_number,
48 message,
49 element_id: None,
50 flow_id: None,
51 message_name: None,
52 kind: None,
53 from: None,
54 to: None,
55 removed: None,
56 added: None,
57 }
58 }
59}
60#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum Rule {
63 #[serde(rename = "process_id_changed")]
64 ProcessIdChanged,
65 #[serde(rename = "element_removed")]
66 ElementRemoved,
67 #[serde(rename = "element_kind_changed")]
68 ElementKindChanged,
69 #[serde(rename = "element_scope_changed")]
70 ElementScopeChanged,
71 #[serde(rename = "sequence_flow_removed")]
72 SequenceFlowRemoved,
73 #[serde(rename = "message_name_removed")]
74 MessageNameRemoved,
75 #[serde(rename = "message_binding_changed")]
76 MessageBindingChanged,
77 #[serde(rename = "incoming_flows_changed")]
78 IncomingFlowsChanged,
79}
80
81impl Default for Rule {
82 fn default() -> Rule {
83 Self::ProcessIdChanged
84 }
85}
86