notificationlib/dto/
notification_response.rs

1use chrono::NaiveDateTime;
2use common::enums::module::Module;
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5use crate::enums::notification_type::NotificationType;
6
7#[derive(Serialize, Deserialize, Debug, Clone)]
8#[serde(rename_all = "camelCase")]
9pub struct NotificationResponse {
10    pub id: Uuid,
11    pub ver: i32,
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub user_id: Option<Uuid>,
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub date_end: Option<NaiveDateTime>,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub date_start: Option<NaiveDateTime>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub receivers: Option<Vec<Uuid>>,
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub data: Option<serde_json::Value>,
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub message: Option<String>,
24    #[serde(skip_serializing_if = "Option::is_none")]
25    pub project: Option<Module>,
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub notification_type: Option<NotificationType>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub entity_id: Option<Uuid>,
30    pub is_storing: bool,
31}