figma_api/models/
comment.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Comment {
17 #[serde(rename = "id")]
19 pub id: String,
20 #[serde(rename = "client_meta")]
21 pub client_meta: Box<models::CommentClientMeta>,
22 #[serde(rename = "file_key")]
24 pub file_key: String,
25 #[serde(rename = "parent_id", skip_serializing_if = "Option::is_none")]
27 pub parent_id: Option<String>,
28 #[serde(rename = "user")]
30 pub user: Box<models::User>,
31 #[serde(rename = "created_at")]
33 pub created_at: String,
34 #[serde(rename = "resolved_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub resolved_at: Option<Option<String>>,
37 #[serde(rename = "message")]
39 pub message: String,
40 #[serde(rename = "order_id", deserialize_with = "Option::deserialize")]
42 pub order_id: Option<String>,
43 #[serde(rename = "reactions")]
45 pub reactions: Vec<models::Reaction>,
46}
47
48impl Comment {
49 pub fn new(id: String, client_meta: models::CommentClientMeta, file_key: String, user: models::User, created_at: String, message: String, order_id: Option<String>, reactions: Vec<models::Reaction>) -> Comment {
51 Comment {
52 id,
53 client_meta: Box::new(client_meta),
54 file_key,
55 parent_id: None,
56 user: Box::new(user),
57 created_at,
58 resolved_at: None,
59 message,
60 order_id,
61 reactions,
62 }
63 }
64}
65