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