notion_async_api/
comment.rs

1use chrono::{DateTime, Utc};
2use monostate::MustBe;
3use serde::{Deserialize, Serialize};
4
5use crate::object::{Object, Parent};
6use crate::rich_text::RichText;
7use crate::user::User;
8
9/// Refer to:
10/// - [Comment](https://developers.notion.com/reference/comment-object)
11#[derive(Serialize, Deserialize, Debug, Clone)]
12pub struct Comment {
13    object: MustBe!("comment"),
14    pub id: String,
15    pub parent: Parent,
16
17    pub created_time: DateTime<Utc>,
18    pub created_by: User,
19    pub last_edited_time: DateTime<Utc>,
20
21    pub discussion_id: String,
22    pub rich_text: Vec<RichText>,
23    // pub rich_text: Vec<Value>,
24}
25
26impl Object for Comment {
27    fn id(&self) -> &str {
28        &self.id
29    }
30
31    fn object_type(&self) -> crate::object::ObjectType {
32        crate::object::ObjectType::Comment
33    }
34}