feat: add webhook body template and headers support for channels
This commit is contained in:
@@ -74,6 +74,8 @@ pub struct CreateChannelRequest {
|
||||
pub access_password: Option<String>,
|
||||
pub webhook_url: Option<String>,
|
||||
pub webhook_poll_interval_secs: Option<u32>,
|
||||
pub webhook_body_template: Option<String>,
|
||||
pub webhook_headers: Option<String>,
|
||||
}
|
||||
|
||||
/// All fields are optional — only provided fields are updated.
|
||||
@@ -96,6 +98,10 @@ pub struct UpdateChannelRequest {
|
||||
/// `Some(None)` = clear, `Some(Some(url))` = set, `None` = unchanged.
|
||||
pub webhook_url: Option<Option<String>>,
|
||||
pub webhook_poll_interval_secs: Option<u32>,
|
||||
/// `Some(None)` = clear, `Some(Some(tmpl))` = set, `None` = unchanged.
|
||||
pub webhook_body_template: Option<Option<String>>,
|
||||
/// `Some(None)` = clear, `Some(Some(json))` = set, `None` = unchanged.
|
||||
pub webhook_headers: Option<Option<String>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
@@ -114,6 +120,8 @@ pub struct ChannelResponse {
|
||||
pub logo_opacity: f32,
|
||||
pub webhook_url: Option<String>,
|
||||
pub webhook_poll_interval_secs: u32,
|
||||
pub webhook_body_template: Option<String>,
|
||||
pub webhook_headers: Option<String>,
|
||||
pub created_at: DateTime<Utc>,
|
||||
pub updated_at: DateTime<Utc>,
|
||||
}
|
||||
@@ -135,6 +143,8 @@ impl From<domain::Channel> for ChannelResponse {
|
||||
logo_opacity: c.logo_opacity,
|
||||
webhook_url: c.webhook_url,
|
||||
webhook_poll_interval_secs: c.webhook_poll_interval_secs,
|
||||
webhook_body_template: c.webhook_body_template,
|
||||
webhook_headers: c.webhook_headers,
|
||||
created_at: c.created_at,
|
||||
updated_at: c.updated_at,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user