forked from jmug/stoatchat
fix: github webhook incorrect payload and formatting (#468)
This commit is contained in:
@@ -217,7 +217,6 @@ pub struct GithubComment {
|
||||
position: Option<u32>,
|
||||
reactions: Option<GithubReactions>,
|
||||
updated_at: Value,
|
||||
url: String,
|
||||
user: GithubUser,
|
||||
}
|
||||
|
||||
@@ -701,7 +700,7 @@ fn safe_from_str<T: for<'de> Deserialize<'de>>(data: &str) -> Result<T> {
|
||||
match serde_json::from_str(data) {
|
||||
Ok(output) => Ok(output),
|
||||
Err(err) => {
|
||||
log::error!("{err:?}");
|
||||
revolt_config::capture_internal_error!(err);
|
||||
Err(create_error!(InvalidOperation))
|
||||
}
|
||||
}
|
||||
@@ -753,12 +752,12 @@ pub async fn webhook_execute_github(
|
||||
db: &State<Database>,
|
||||
amqp: &State<AMQP>,
|
||||
webhook_id: Reference<'_>,
|
||||
token: String,
|
||||
token: &str,
|
||||
event: EventHeader<'_>,
|
||||
data: String,
|
||||
) -> Result<()> {
|
||||
let webhook = webhook_id.as_webhook(db).await?;
|
||||
webhook.assert_token(&token)?;
|
||||
webhook.assert_token(token)?;
|
||||
|
||||
let channel = db.fetch_channel(&webhook.channel_id).await?;
|
||||
let event = convert_event(&data, &event)?;
|
||||
@@ -897,10 +896,11 @@ pub async fn webhook_execute_github(
|
||||
url: Some(event.sender.html_url),
|
||||
title: Some(event.sender.login),
|
||||
description: Some(format!(
|
||||
"#### [{}] New discussion #{}: {}\n{}",
|
||||
"#### [[{}] New discussion #{}: {}]({})\n{}",
|
||||
event.repository.full_name,
|
||||
discussion.number,
|
||||
discussion.title,
|
||||
discussion.html_url,
|
||||
shorten_text(&discussion.body, 450)
|
||||
)),
|
||||
colour: Some(LIGHT_ORANGE.to_string()),
|
||||
@@ -911,10 +911,11 @@ pub async fn webhook_execute_github(
|
||||
url: Some(answer.comment.user.html_url),
|
||||
title: Some(answer.comment.user.login),
|
||||
description: Some(format!(
|
||||
"#### [{}] discussion #{} marked answered: {}\n{}",
|
||||
"#### [[{}] Discussion #{} marked answered: {}]({})\n{}",
|
||||
event.repository.full_name,
|
||||
discussion.number,
|
||||
discussion.title,
|
||||
answer.comment.html_url,
|
||||
shorten_text(&answer.comment.body, 450)
|
||||
)),
|
||||
colour: Some(LIGHT_ORANGE.to_string()),
|
||||
@@ -930,10 +931,11 @@ pub async fn webhook_execute_github(
|
||||
url: Some(comment.comment.user.html_url),
|
||||
title: Some(comment.comment.user.login),
|
||||
description: Some(format!(
|
||||
"[{}] New comment on discussion #{}: {}\n{}",
|
||||
"#### [[{}] New comment on discussion #{}: {}]({})\n{}",
|
||||
event.repository.full_name,
|
||||
discussion.number,
|
||||
discussion.title,
|
||||
comment.comment.html_url,
|
||||
shorten_text(&comment.comment.body, 450)
|
||||
)),
|
||||
colour: Some(LIGHT_ORANGE.to_string()),
|
||||
@@ -1002,7 +1004,7 @@ pub async fn webhook_execute_github(
|
||||
event.repository.full_name,
|
||||
issue.number,
|
||||
issue.title,
|
||||
issue.html_url,
|
||||
comment.html_url,
|
||||
shorten_text(&comment.body, 450)
|
||||
)),
|
||||
colour: Some(LIGHT_ORANGE.to_string()),
|
||||
|
||||
Reference in New Issue
Block a user