notion-client 1.1.1

A Rust client library for the Notion API
Documentation
use derive_builder::Builder;
use serde::Serialize;
use serde_with::skip_serializing_none;

use crate::objects::block::Block;

#[skip_serializing_none]
#[derive(Serialize, Debug, Eq, PartialEq, Clone, Default, Builder)]
#[builder(setter(strip_option))]
#[builder(default)]
pub struct AppendBlockChildrenRequest {
    pub children: Vec<Block>,
    pub position: Option<AppendPosition>,
}

#[derive(Serialize, Debug, Eq, PartialEq, Clone)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum AppendPosition {
    End,
    Start,
    AfterBlock { after_block: AfterBlockId },
}

#[derive(Serialize, Debug, Eq, PartialEq, Clone)]
pub struct AfterBlockId {
    pub id: String,
}