notificationlib/dto/
notification_request.rs

1use 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}