use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; /// Follow relationship on an announcement channel. /// Allows another workspace or channel to receive cross-posts /// when articles are published. #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)] pub struct ChannelFollow { pub id: Uuid, pub source_channel_id: Uuid, pub target_workspace_id: Uuid, pub target_channel_id: Option, pub webhook_url: Option, pub webhook_secret_ciphertext: Option, pub enabled: bool, pub followed_by: Uuid, pub unfollowed_at: Option>, pub last_delivery_at: Option>, pub last_delivery_status: Option, pub created_at: DateTime, pub updated_at: DateTime, }