windmill_api/models/
flow_note.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct FlowNote {
17 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "text")]
22 pub text: String,
23 #[serde(rename = "position", skip_serializing_if = "Option::is_none")]
24 pub position: Option<Box<models::FlowNotePosition>>,
25 #[serde(rename = "size", skip_serializing_if = "Option::is_none")]
26 pub size: Option<Box<models::FlowNoteSize>>,
27 #[serde(rename = "color")]
29 pub color: String,
30 #[serde(rename = "type")]
32 pub r#type: Type,
33 #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
35 pub locked: Option<bool>,
36 #[serde(rename = "contained_node_ids", skip_serializing_if = "Option::is_none")]
38 pub contained_node_ids: Option<Vec<String>>,
39}
40
41impl FlowNote {
42 pub fn new(id: String, text: String, color: String, r#type: Type) -> FlowNote {
44 FlowNote {
45 id,
46 text,
47 position: None,
48 size: None,
49 color,
50 r#type,
51 locked: None,
52 contained_node_ids: None,
53 }
54 }
55}
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum Type {
59 #[serde(rename = "free")]
60 Free,
61 #[serde(rename = "group")]
62 Group,
63}
64
65impl Default for Type {
66 fn default() -> Type {
67 Self::Free
68 }
69}
70