fastcomments_sdk/client/src/models/
comment_data.rs

1/*
2 * fastcomments
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 0.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::client::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct CommentData {
16    #[serde(rename = "date", skip_serializing_if = "Option::is_none")]
17    pub date: Option<i64>,
18    #[serde(rename = "localDateString", skip_serializing_if = "Option::is_none")]
19    pub local_date_string: Option<String>,
20    #[serde(rename = "localDateHours", skip_serializing_if = "Option::is_none")]
21    pub local_date_hours: Option<i32>,
22    #[serde(rename = "commenterName")]
23    pub commenter_name: String,
24    #[serde(rename = "commenterEmail", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25    pub commenter_email: Option<Option<String>>,
26    #[serde(rename = "commenterLink", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
27    pub commenter_link: Option<Option<String>>,
28    #[serde(rename = "comment")]
29    pub comment: String,
30    #[serde(rename = "productId", skip_serializing_if = "Option::is_none")]
31    pub product_id: Option<i32>,
32    #[serde(rename = "userId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33    pub user_id: Option<Option<String>>,
34    #[serde(rename = "avatarSrc", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35    pub avatar_src: Option<Option<String>>,
36    #[serde(rename = "parentId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37    pub parent_id: Option<Option<String>>,
38    #[serde(rename = "mentions", skip_serializing_if = "Option::is_none")]
39    pub mentions: Option<Vec<models::CommentUserMentionInfo>>,
40    #[serde(rename = "hashTags", skip_serializing_if = "Option::is_none")]
41    pub hash_tags: Option<Vec<models::CommentUserHashTagInfo>>,
42    #[serde(rename = "pageTitle", skip_serializing_if = "Option::is_none")]
43    pub page_title: Option<String>,
44    #[serde(rename = "isFromMyAccountPage", skip_serializing_if = "Option::is_none")]
45    pub is_from_my_account_page: Option<bool>,
46    #[serde(rename = "url")]
47    pub url: String,
48    #[serde(rename = "urlId")]
49    pub url_id: String,
50    #[serde(rename = "meta", skip_serializing_if = "Option::is_none")]
51    pub meta: Option<serde_json::Value>,
52    #[serde(rename = "moderationGroupIds", skip_serializing_if = "Option::is_none")]
53    pub moderation_group_ids: Option<Vec<String>>,
54    #[serde(rename = "rating", skip_serializing_if = "Option::is_none")]
55    pub rating: Option<f64>,
56    #[serde(rename = "fromOfflineRestore", skip_serializing_if = "Option::is_none")]
57    pub from_offline_restore: Option<bool>,
58    #[serde(rename = "autoplayDelayMS", skip_serializing_if = "Option::is_none")]
59    pub autoplay_delay_ms: Option<i64>,
60    #[serde(rename = "feedbackIds", skip_serializing_if = "Option::is_none")]
61    pub feedback_ids: Option<Vec<String>>,
62    /// Construct a type with a set of properties K of type T
63    #[serde(rename = "questionValues", skip_serializing_if = "Option::is_none")]
64    pub question_values: Option<std::collections::HashMap<String, models::RecordStringStringOrNumberValue>>,
65}
66
67impl CommentData {
68    pub fn new(commenter_name: String, comment: String, url: String, url_id: String) -> CommentData {
69        CommentData {
70            date: None,
71            local_date_string: None,
72            local_date_hours: None,
73            commenter_name,
74            commenter_email: None,
75            commenter_link: None,
76            comment,
77            product_id: None,
78            user_id: None,
79            avatar_src: None,
80            parent_id: None,
81            mentions: None,
82            hash_tags: None,
83            page_title: None,
84            is_from_my_account_page: None,
85            url,
86            url_id,
87            meta: None,
88            moderation_group_ids: None,
89            rating: None,
90            from_offline_restore: None,
91            autoplay_delay_ms: None,
92            feedback_ids: None,
93            question_values: None,
94        }
95    }
96}
97