use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use sqlx::FromRow;
use uuid::Uuid;

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, FromRow)]
pub struct UserNotificationModel {
    pub user: Uuid,
    pub email_enabled: bool,
    pub in_app_enabled: bool,
    pub push_enabled: bool,
    pub digest_mode: String,
    pub dnd_enabled: bool,
    pub dnd_start_minute: Option<i32>,
    pub dnd_end_minute: Option<i32>,
    pub marketing_enabled: bool,
    pub security_enabled: bool,
    pub product_enabled: bool,
    pub push_subscription_endpoint: Option<String>,
    pub push_subscription_keys_p256dh: Option<String>,
    pub push_subscription_keys_auth: Option<String>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
}
