notificationlib/dto/
notification_response.rs1use 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}