From f9d9447203366dfbbc19ac610e76f14d77b9fa5a Mon Sep 17 00:00:00 2001 From: Paul Makles Date: Sat, 3 Jun 2023 14:02:16 +0100 Subject: [PATCH] feat: add additional validation for github webhook --- crates/delta/src/routes/webhooks/webhook_execute_github.rs | 5 +++++ crates/quark/src/models/channels/message.rs | 1 + 2 files changed, 6 insertions(+) diff --git a/crates/delta/src/routes/webhooks/webhook_execute_github.rs b/crates/delta/src/routes/webhooks/webhook_execute_github.rs index 409b602c..dd890242 100644 --- a/crates/delta/src/routes/webhooks/webhook_execute_github.rs +++ b/crates/delta/src/routes/webhooks/webhook_execute_github.rs @@ -15,6 +15,7 @@ use schemars::schema::SchemaObject; use serde::{Deserialize, Serialize}; use serde_json::Value; use ulid::Ulid; +use validator::Validate; #[derive(Serialize, Deserialize, Debug, JsonSchema)] pub struct GithubUser { @@ -1061,6 +1062,10 @@ pub async fn webhook_execute_github( }, }; + sendable_embed + .validate() + .map_err(|error| Error::FailedValidation { error })?; + let message_id = Ulid::new().to_string(); let embed = sendable_embed diff --git a/crates/quark/src/models/channels/message.rs b/crates/quark/src/models/channels/message.rs index 3aa2c8c6..066afa08 100644 --- a/crates/quark/src/models/channels/message.rs +++ b/crates/quark/src/models/channels/message.rs @@ -40,6 +40,7 @@ pub struct Reply { pub struct SendableEmbed { #[validate(length(min = 1, max = 128))] pub icon_url: Option, + #[validate(length(min = 1, max = 256))] pub url: Option, #[validate(length(min = 1, max = 100))] pub title: Option,