From 2abfa7ef1e5ec11de44ec2c59fb0f0980c6e4908 Mon Sep 17 00:00:00 2001 From: Brett Spradling Date: Sun, 16 May 2021 07:54:31 -0700 Subject: generic block --- src/models.rs | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'src/models.rs') diff --git a/src/models.rs b/src/models.rs index ba98094..142a6da 100644 --- a/src/models.rs +++ b/src/models.rs @@ -167,18 +167,39 @@ impl Display for BlockId { } } +#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] +#[serde(rename_all = "snake_case")] +pub enum BlockType { + Paragraph, + Heading1, + Heading2, + Heading3, + BulletedListItem, + NumberedListItem, + ToDo, + Toggle, + ChildPage, + Unsupported +} + #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone)] pub struct Block { id: BlockId, + r#type: BlockType, created_time: DateTime, last_edited_time: DateTime, has_children: bool, } -#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)] + +#[derive(Eq, Serialize, Deserialize, Clone, Debug, PartialEq)] #[serde(tag = "object")] #[serde(rename_all = "snake_case")] pub enum Object { + Block { + #[serde(flatten)] + block: Block + }, Database { #[serde(flatten)] database: Database, @@ -195,7 +216,6 @@ pub enum Object { #[serde(flatten)] user: User, }, - Block {}, } impl Object { -- cgit v1.2.3