orvanta_api/models/
workspace_item_diff.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct WorkspaceItemDiff {
16 #[serde(rename = "kind")]
18 pub kind: Kind,
19 #[serde(rename = "path")]
21 pub path: String,
22 #[serde(rename = "ahead")]
24 pub ahead: i32,
25 #[serde(rename = "behind")]
27 pub behind: i32,
28 #[serde(rename = "has_changes")]
30 pub has_changes: bool,
31 #[serde(rename = "exists_in_source")]
33 pub exists_in_source: bool,
34 #[serde(rename = "exists_in_fork")]
36 pub exists_in_fork: bool,
37}
38
39impl WorkspaceItemDiff {
40 pub fn new(kind: Kind, path: String, ahead: i32, behind: i32, has_changes: bool, exists_in_source: bool, exists_in_fork: bool) -> WorkspaceItemDiff {
41 WorkspaceItemDiff {
42 kind,
43 path,
44 ahead,
45 behind,
46 has_changes,
47 exists_in_source,
48 exists_in_fork,
49 }
50 }
51}
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum Kind {
55 #[serde(rename = "script")]
56 Script,
57 #[serde(rename = "flow")]
58 Flow,
59 #[serde(rename = "resource")]
60 Resource,
61 #[serde(rename = "variable")]
62 Variable,
63 #[serde(rename = "resource_type")]
64 ResourceType,
65 #[serde(rename = "folder")]
66 Folder,
67 #[serde(rename = "schedule")]
68 Schedule,
69 #[serde(rename = "http_trigger")]
70 HttpTrigger,
71 #[serde(rename = "websocket_trigger")]
72 WebsocketTrigger,
73 #[serde(rename = "kafka_trigger")]
74 KafkaTrigger,
75 #[serde(rename = "nats_trigger")]
76 NatsTrigger,
77 #[serde(rename = "postgres_trigger")]
78 PostgresTrigger,
79 #[serde(rename = "mqtt_trigger")]
80 MqttTrigger,
81 #[serde(rename = "sqs_trigger")]
82 SqsTrigger,
83 #[serde(rename = "gcp_trigger")]
84 GcpTrigger,
85 #[serde(rename = "azure_trigger")]
86 AzureTrigger,
87 #[serde(rename = "email_trigger")]
88 EmailTrigger,
89}
90
91impl Default for Kind {
92 fn default() -> Kind {
93 Self::Script
94 }
95}
96