notion_client/objects/
file.rs

1use chrono::{DateTime, Utc};
2use serde::{Deserialize, Serialize};
3
4#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
5#[serde(tag = "type", rename_all = "snake_case")]
6pub enum File {
7    External { external: ExternalFile },
8    File { file: HostedFile },
9}
10
11#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
12pub struct HostedFile {
13    pub url: String,
14    pub expiry_time: DateTime<Utc>,
15}
16
17#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq)]
18pub struct ExternalFile {
19    pub url: String,
20}