use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct WorkspaceItemDiff {
#[serde(rename = "kind")]
pub kind: Kind,
#[serde(rename = "path")]
pub path: String,
#[serde(rename = "ahead")]
pub ahead: i32,
#[serde(rename = "behind")]
pub behind: i32,
#[serde(rename = "has_changes")]
pub has_changes: bool,
#[serde(rename = "exists_in_source")]
pub exists_in_source: bool,
#[serde(rename = "exists_in_fork")]
pub exists_in_fork: bool,
}
impl WorkspaceItemDiff {
pub fn new(kind: Kind, path: String, ahead: i32, behind: i32, has_changes: bool, exists_in_source: bool, exists_in_fork: bool) -> WorkspaceItemDiff {
WorkspaceItemDiff {
kind,
path,
ahead,
behind,
has_changes,
exists_in_source,
exists_in_fork,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Kind {
#[serde(rename = "script")]
Script,
#[serde(rename = "flow")]
Flow,
#[serde(rename = "app")]
App,
#[serde(rename = "raw_app")]
RawApp,
#[serde(rename = "resource")]
Resource,
#[serde(rename = "variable")]
Variable,
#[serde(rename = "resource_type")]
ResourceType,
}
impl Default for Kind {
fn default() -> Kind {
Self::Script
}
}