Skip to main content

notion_client/objects/
parent.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq, Default)]
5#[serde(tag = "type", rename_all = "snake_case")]
6pub enum Parent {
7    #[default]
8    None,
9    DatabaseId {
10        database_id: String,
11    },
12    PageId {
13        page_id: String,
14    },
15    Workspace {
16        workspace: bool,
17    },
18    BlockId {
19        block_id: String,
20    },
21    DataSourceId {
22        data_source_id: String,
23    },
24}
25
26#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
27pub struct HostedFile {
28    pub url: String,
29    pub expiry_time: DateTime<Utc>,
30}
31
32#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
33pub struct ExternalFile {
34    pub url: String,
35}