windmill_api/models/
workspace.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Workspace {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "name")]
19 pub name: String,
20 #[serde(rename = "owner")]
21 pub owner: String,
22 #[serde(rename = "domain", skip_serializing_if = "Option::is_none")]
23 pub domain: Option<String>,
24 #[serde(rename = "color", skip_serializing_if = "Option::is_none")]
25 pub color: Option<String>,
26 #[serde(rename = "parent_workspace_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27 pub parent_workspace_id: Option<Option<String>>,
28 #[serde(rename = "deleted", skip_serializing_if = "Option::is_none")]
30 pub deleted: Option<bool>,
31 #[serde(rename = "is_dev_workspace", skip_serializing_if = "Option::is_none")]
32 pub is_dev_workspace: Option<bool>,
33 #[serde(rename = "dev_workspace_label", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35 pub dev_workspace_label: Option<Option<String>>,
36}
37
38impl Workspace {
39 pub fn new(id: String, name: String, owner: String) -> Workspace {
40 Workspace {
41 id,
42 name,
43 owner,
44 domain: None,
45 color: None,
46 parent_workspace_id: None,
47 deleted: None,
48 is_dev_workspace: None,
49 dev_workspace_label: None,
50 }
51 }
52}
53