use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NotificationCreateDto {
#[serde(rename = "data", skip_serializing_if = "Option::is_none")]
pub data: Option<serde_json::Value>,
#[serde(rename = "description", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub description: Option<Option<String>>,
#[serde(rename = "level", skip_serializing_if = "Option::is_none")]
pub level: Option<models::NotificationLevel>,
#[serde(rename = "readAt", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub read_at: Option<Option<String>>,
#[serde(rename = "title")]
pub title: String,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<models::NotificationType>,
#[serde(rename = "userId")]
pub user_id: uuid::Uuid,
}
impl NotificationCreateDto {
pub fn new(title: String, user_id: uuid::Uuid) -> NotificationCreateDto {
NotificationCreateDto {
data: None,
description: None,
level: None,
read_at: None,
title,
r#type: None,
user_id,
}
}
}