feat(webhooks): wire event bus into state, routes, and scheduler
This commit is contained in:
@@ -72,6 +72,8 @@ pub struct CreateChannelRequest {
|
||||
pub access_mode: Option<domain::AccessMode>,
|
||||
/// Plain-text password; hashed before storage.
|
||||
pub access_password: Option<String>,
|
||||
pub webhook_url: Option<String>,
|
||||
pub webhook_poll_interval_secs: Option<u32>,
|
||||
}
|
||||
|
||||
/// All fields are optional — only provided fields are updated.
|
||||
@@ -91,6 +93,9 @@ pub struct UpdateChannelRequest {
|
||||
pub logo: Option<Option<String>>,
|
||||
pub logo_position: Option<domain::LogoPosition>,
|
||||
pub logo_opacity: Option<f32>,
|
||||
/// `Some(None)` = clear, `Some(Some(url))` = set, `None` = unchanged.
|
||||
pub webhook_url: Option<Option<String>>,
|
||||
pub webhook_poll_interval_secs: Option<u32>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
@@ -107,6 +112,8 @@ pub struct ChannelResponse {
|
||||
pub logo: Option<String>,
|
||||
pub logo_position: domain::LogoPosition,
|
||||
pub logo_opacity: f32,
|
||||
pub webhook_url: Option<String>,
|
||||
pub webhook_poll_interval_secs: u32,
|
||||
pub created_at: DateTime<Utc>,
|
||||
pub updated_at: DateTime<Utc>,
|
||||
}
|
||||
@@ -126,6 +133,8 @@ impl From<domain::Channel> for ChannelResponse {
|
||||
logo: c.logo,
|
||||
logo_position: c.logo_position,
|
||||
logo_opacity: c.logo_opacity,
|
||||
webhook_url: c.webhook_url,
|
||||
webhook_poll_interval_secs: c.webhook_poll_interval_secs,
|
||||
created_at: c.created_at,
|
||||
updated_at: c.updated_at,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user