spatio_sdk/models/
block.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Block {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "noteId")]
19 pub note_id: String,
20 #[serde(rename = "parentId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub parent_id: Option<Option<String>>,
22 #[serde(rename = "type")]
23 pub r#type: models::BlockType,
24 #[serde(rename = "content")]
25 pub content: Box<models::BlockContent>,
26 #[serde(rename = "properties", skip_serializing_if = "Option::is_none")]
27 pub properties: Option<std::collections::HashMap<String, serde_json::Value>>,
28 #[serde(rename = "position")]
30 pub position: i32,
31 #[serde(rename = "hasChildren")]
32 pub has_children: bool,
33 #[serde(rename = "createdAt")]
34 pub created_at: chrono::DateTime<chrono::FixedOffset>,
35 #[serde(rename = "updatedAt")]
36 pub updated_at: chrono::DateTime<chrono::FixedOffset>,
37}
38
39impl Block {
40 pub fn new(id: String, note_id: String, r#type: models::BlockType, content: models::BlockContent, position: i32, has_children: bool, created_at: chrono::DateTime<chrono::FixedOffset>, updated_at: chrono::DateTime<chrono::FixedOffset>) -> Block {
41 Block {
42 id,
43 note_id,
44 parent_id: None,
45 r#type,
46 content: Box::new(content),
47 properties: None,
48 position,
49 has_children,
50 created_at,
51 updated_at,
52 }
53 }
54}
55