Skip to main content

windmill_api/models/
workspace_item_diff.rs

1/*
2 * Windmill 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.778.0
7 * Contact: contact@windmill.dev
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct WorkspaceItemDiff {
16    /// Type of the item
17    #[serde(rename = "kind")]
18    pub kind: Kind,
19    /// Path of the item in the workspace
20    #[serde(rename = "path")]
21    pub path: String,
22    /// Number of versions source is ahead of target
23    #[serde(rename = "ahead")]
24    pub ahead: i32,
25    /// Number of versions source is behind target
26    #[serde(rename = "behind")]
27    pub behind: i32,
28    /// Whether the item has any differences
29    #[serde(rename = "has_changes")]
30    pub has_changes: bool,
31    /// If the item exists in the source workspace
32    #[serde(rename = "exists_in_source")]
33    pub exists_in_source: bool,
34    /// If the item exists in the fork workspace
35    #[serde(rename = "exists_in_fork")]
36    pub exists_in_fork: bool,
37    #[serde(rename = "fork_last_event_kind", skip_serializing_if = "Option::is_none")]
38    pub fork_last_event_kind: Option<models::DeployEventKind>,
39    #[serde(rename = "fork_last_event_origin", skip_serializing_if = "Option::is_none")]
40    pub fork_last_event_origin: Option<models::DeployEventOrigin>,
41    #[serde(rename = "source_last_event_kind", skip_serializing_if = "Option::is_none")]
42    pub source_last_event_kind: Option<models::DeployEventKind>,
43    #[serde(rename = "source_last_event_origin", skip_serializing_if = "Option::is_none")]
44    pub source_last_event_origin: Option<models::DeployEventOrigin>,
45}
46
47impl WorkspaceItemDiff {
48    pub fn new(kind: Kind, path: String, ahead: i32, behind: i32, has_changes: bool, exists_in_source: bool, exists_in_fork: bool) -> WorkspaceItemDiff {
49        WorkspaceItemDiff {
50            kind,
51            path,
52            ahead,
53            behind,
54            has_changes,
55            exists_in_source,
56            exists_in_fork,
57            fork_last_event_kind: None,
58            fork_last_event_origin: None,
59            source_last_event_kind: None,
60            source_last_event_origin: None,
61        }
62    }
63}
64/// Type of the item
65#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
66pub enum Kind {
67    #[serde(rename = "script")]
68    Script,
69    #[serde(rename = "flow")]
70    Flow,
71    #[serde(rename = "app")]
72    App,
73    #[serde(rename = "raw_app")]
74    RawApp,
75    #[serde(rename = "resource")]
76    Resource,
77    #[serde(rename = "variable")]
78    Variable,
79    #[serde(rename = "resource_type")]
80    ResourceType,
81    #[serde(rename = "folder")]
82    Folder,
83    #[serde(rename = "schedule")]
84    Schedule,
85    #[serde(rename = "http_trigger")]
86    HttpTrigger,
87    #[serde(rename = "websocket_trigger")]
88    WebsocketTrigger,
89    #[serde(rename = "kafka_trigger")]
90    KafkaTrigger,
91    #[serde(rename = "nats_trigger")]
92    NatsTrigger,
93    #[serde(rename = "postgres_trigger")]
94    PostgresTrigger,
95    #[serde(rename = "mqtt_trigger")]
96    MqttTrigger,
97    #[serde(rename = "amqp_trigger")]
98    AmqpTrigger,
99    #[serde(rename = "sqs_trigger")]
100    SqsTrigger,
101    #[serde(rename = "gcp_trigger")]
102    GcpTrigger,
103    #[serde(rename = "azure_trigger")]
104    AzureTrigger,
105    #[serde(rename = "email_trigger")]
106    EmailTrigger,
107}
108
109impl Default for Kind {
110    fn default() -> Kind {
111        Self::Script
112    }
113}
114