notion_async_api/
database.rs1use std::collections::BTreeMap;
2
3use monostate::MustBe;
4use serde::{Deserialize, Serialize};
5
6use crate::misc::{Icon, NotionFile, Property};
7use crate::object::{Object, ObjectCommon};
8use crate::rich_text::RichText;
9
10#[derive(Serialize, Deserialize, Debug, Clone)]
13pub struct Database {
14 object: MustBe!("database"),
15
16 #[serde(flatten)]
17 pub obj: ObjectCommon,
18
19 pub properties: BTreeMap<String, Property>,
20 pub url: String,
21
22 pub public_url: Option<String>,
23 pub icon: Option<Icon>,
24 pub cover: Option<NotionFile>,
25
26 pub is_inline: bool,
27 pub title: Vec<RichText>,
28 pub description: Vec<RichText>,
29}
30
31impl Object for Database {
32 fn id(&self) -> &str {
33 &self.obj.id
34 }
35
36 fn object_type(&self) -> crate::object::ObjectType {
37 crate::object::ObjectType::Database
38 }
39}