fastcomments_sdk/client/src/models/
public_comment.rs1use crate::client::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PublicComment {
16 #[serde(rename = "date")]
17 pub date: String,
18 #[serde(rename = "_id")]
19 pub _id: String,
20 #[serde(rename = "userId", skip_serializing_if = "Option::is_none")]
21 pub user_id: Option<String>,
22 #[serde(rename = "anonUserId", skip_serializing_if = "Option::is_none")]
23 pub anon_user_id: Option<String>,
24 #[serde(rename = "commenterName")]
25 pub commenter_name: String,
26 #[serde(rename = "commenterLink", skip_serializing_if = "Option::is_none")]
27 pub commenter_link: Option<String>,
28 #[serde(rename = "commentHTML")]
29 pub comment_html: String,
30 #[serde(rename = "parentId", skip_serializing_if = "Option::is_none")]
31 pub parent_id: Option<String>,
32 #[serde(rename = "votes", skip_serializing_if = "Option::is_none")]
33 pub votes: Option<i32>,
34 #[serde(rename = "votesUp", skip_serializing_if = "Option::is_none")]
35 pub votes_up: Option<i32>,
36 #[serde(rename = "votesDown", skip_serializing_if = "Option::is_none")]
37 pub votes_down: Option<i32>,
38 #[serde(rename = "verified")]
39 pub verified: bool,
40 #[serde(rename = "avatarSrc", skip_serializing_if = "Option::is_none")]
41 pub avatar_src: Option<String>,
42 #[serde(rename = "isSpam", skip_serializing_if = "Option::is_none")]
43 pub is_spam: Option<bool>,
44 #[serde(rename = "hasImages", skip_serializing_if = "Option::is_none")]
45 pub has_images: Option<bool>,
46 #[serde(rename = "isDeleted", skip_serializing_if = "Option::is_none")]
47 pub is_deleted: Option<bool>,
48 #[serde(rename = "isDeletedUser", skip_serializing_if = "Option::is_none")]
49 pub is_deleted_user: Option<bool>,
50 #[serde(rename = "isByAdmin", skip_serializing_if = "Option::is_none")]
51 pub is_by_admin: Option<bool>,
52 #[serde(rename = "isByModerator", skip_serializing_if = "Option::is_none")]
53 pub is_by_moderator: Option<bool>,
54 #[serde(rename = "isPinned", skip_serializing_if = "Option::is_none")]
55 pub is_pinned: Option<bool>,
56 #[serde(rename = "isLocked", skip_serializing_if = "Option::is_none")]
57 pub is_locked: Option<bool>,
58 #[serde(rename = "rating", skip_serializing_if = "Option::is_none")]
59 pub rating: Option<f64>,
60 #[serde(rename = "displayLabel", skip_serializing_if = "Option::is_none")]
61 pub display_label: Option<String>,
62 #[serde(rename = "badges", skip_serializing_if = "Option::is_none")]
63 pub badges: Option<Vec<models::CommentUserBadgeInfo>>,
64 #[serde(rename = "feedbackIds", skip_serializing_if = "Option::is_none")]
65 pub feedback_ids: Option<Vec<String>>,
66 #[serde(rename = "viewCount", skip_serializing_if = "Option::is_none")]
67 pub view_count: Option<i64>,
68 #[serde(rename = "requiresVerification", skip_serializing_if = "Option::is_none")]
69 pub requires_verification: Option<bool>,
70 #[serde(rename = "editKey", skip_serializing_if = "Option::is_none")]
71 pub edit_key: Option<String>,
72 #[serde(rename = "isUnread", skip_serializing_if = "Option::is_none")]
73 pub is_unread: Option<bool>,
74 #[serde(rename = "myVoteId", skip_serializing_if = "Option::is_none")]
75 pub my_vote_id: Option<String>,
76 #[serde(rename = "isVotedDown", skip_serializing_if = "Option::is_none")]
77 pub is_voted_down: Option<bool>,
78 #[serde(rename = "isVotedUp", skip_serializing_if = "Option::is_none")]
79 pub is_voted_up: Option<bool>,
80 #[serde(rename = "hasChildren", skip_serializing_if = "Option::is_none")]
82 pub has_children: Option<bool>,
83 #[serde(rename = "nestedChildrenCount", skip_serializing_if = "Option::is_none")]
85 pub nested_children_count: Option<i32>,
86 #[serde(rename = "childCount", skip_serializing_if = "Option::is_none")]
88 pub child_count: Option<i32>,
89 #[serde(rename = "children", skip_serializing_if = "Option::is_none")]
90 pub children: Option<Vec<models::PublicComment>>,
91 #[serde(rename = "isFlagged", skip_serializing_if = "Option::is_none")]
92 pub is_flagged: Option<bool>,
93 #[serde(rename = "isBlocked", skip_serializing_if = "Option::is_none")]
94 pub is_blocked: Option<bool>,
95}
96
97impl PublicComment {
98 pub fn new(date: String, _id: String, commenter_name: String, comment_html: String, verified: bool) -> PublicComment {
99 PublicComment {
100 date,
101 _id,
102 user_id: None,
103 anon_user_id: None,
104 commenter_name,
105 commenter_link: None,
106 comment_html,
107 parent_id: None,
108 votes: None,
109 votes_up: None,
110 votes_down: None,
111 verified,
112 avatar_src: None,
113 is_spam: None,
114 has_images: None,
115 is_deleted: None,
116 is_deleted_user: None,
117 is_by_admin: None,
118 is_by_moderator: None,
119 is_pinned: None,
120 is_locked: None,
121 rating: None,
122 display_label: None,
123 badges: None,
124 feedback_ids: None,
125 view_count: None,
126 requires_verification: None,
127 edit_key: None,
128 is_unread: None,
129 my_vote_id: None,
130 is_voted_down: None,
131 is_voted_up: None,
132 has_children: None,
133 nested_children_count: None,
134 child_count: None,
135 children: None,
136 is_flagged: None,
137 is_blocked: None,
138 }
139 }
140}
141