22 lines
683 B
Rust
22 lines
683 B
Rust
use crate::models::common::{EventType, SubscriptionLevel, TargetType};
|
|
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
use uuid::Uuid;
|
|
|
|
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)]
|
|
pub struct NotificationSubscription {
|
|
pub id: Uuid,
|
|
pub user_id: Uuid,
|
|
pub workspace_id: Option<Uuid>,
|
|
pub repo_id: Option<Uuid>,
|
|
pub target_type: TargetType,
|
|
pub target_id: Option<Uuid>,
|
|
pub event_types: Vec<EventType>,
|
|
pub channels: Vec<String>,
|
|
pub level: SubscriptionLevel,
|
|
pub muted: bool,
|
|
pub muted_until: Option<DateTime<Utc>>,
|
|
pub created_at: DateTime<Utc>,
|
|
pub updated_at: DateTime<Utc>,
|
|
}
|