fastcomments_sdk/client/src/models/
renderable_user_notification.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 RenderableUserNotification {
16    #[serde(rename = "conversationId", skip_serializing_if = "Option::is_none")]
17    pub conversation_id: Option<String>,
18    #[serde(rename = "contextHTML", skip_serializing_if = "Option::is_none")]
19    pub context_html: Option<String>,
20    #[serde(rename = "fromUserNames", skip_serializing_if = "Option::is_none")]
21    pub from_user_names: Option<Vec<String>>,
22    #[serde(rename = "fromUserIds", skip_serializing_if = "Option::is_none")]
23    pub from_user_ids: Option<Vec<String>>,
24    #[serde(rename = "relatedIds", skip_serializing_if = "Option::is_none")]
25    pub related_ids: Option<Vec<String>>,
26    #[serde(rename = "count", skip_serializing_if = "Option::is_none")]
27    pub count: Option<i64>,
28    #[serde(rename = "optedOut")]
29    pub opted_out: bool,
30    #[serde(rename = "fromUserAvatarSrc", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31    pub from_user_avatar_src: Option<Option<String>>,
32    #[serde(rename = "fromUserId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33    pub from_user_id: Option<Option<String>>,
34    #[serde(rename = "fromUserName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
35    pub from_user_name: Option<Option<String>>,
36    #[serde(rename = "fromCommentId", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37    pub from_comment_id: Option<Option<String>>,
38    #[serde(rename = "type")]
39    pub r#type: models::NotificationType,
40    #[serde(rename = "createdAt")]
41    pub created_at: String,
42    #[serde(rename = "sent")]
43    pub sent: String,
44    #[serde(rename = "viewed")]
45    pub viewed: String,
46    #[serde(rename = "relatedObjectId")]
47    pub related_object_id: String,
48    #[serde(rename = "relatedObjectType")]
49    pub related_object_type: models::NotificationObjectType,
50    #[serde(rename = "pageTitle", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
51    pub page_title: Option<Option<String>>,
52    #[serde(rename = "url")]
53    pub url: String,
54    #[serde(rename = "urlId")]
55    pub url_id: String,
56    #[serde(rename = "_id")]
57    pub _id: String,
58}
59
60impl RenderableUserNotification {
61    pub fn new(opted_out: bool, r#type: models::NotificationType, created_at: String, sent: String, viewed: String, related_object_id: String, related_object_type: models::NotificationObjectType, url: String, url_id: String, _id: String) -> RenderableUserNotification {
62        RenderableUserNotification {
63            conversation_id: None,
64            context_html: None,
65            from_user_names: None,
66            from_user_ids: None,
67            related_ids: None,
68            count: None,
69            opted_out,
70            from_user_avatar_src: None,
71            from_user_id: None,
72            from_user_name: None,
73            from_comment_id: None,
74            r#type,
75            created_at,
76            sent,
77            viewed,
78            related_object_id,
79            related_object_type,
80            page_title: None,
81            url,
82            url_id,
83            _id,
84        }
85    }
86}
87