From 71286f7b2b79cfcf7281038faa716b1869b0447e Mon Sep 17 00:00:00 2001 From: "Calum H." Date: Sun, 31 May 2026 00:11:22 +0100 Subject: [PATCH] fix: incorrect webhook schema for tiltify (#6260) fix: --- apps/labrinth/src/routes/internal/campaign.rs | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/apps/labrinth/src/routes/internal/campaign.rs b/apps/labrinth/src/routes/internal/campaign.rs index 4fbef365e..4f6e78867 100644 --- a/apps/labrinth/src/routes/internal/campaign.rs +++ b/apps/labrinth/src/routes/internal/campaign.rs @@ -36,8 +36,9 @@ struct TiltifyWebhook { #[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)] struct TiltifyData { - amount_raised: AmountRaised, - user: TiltifyUser, + amount: AmountRaised, + donor_name: String, + completed_at: DateTime, } #[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)] @@ -46,12 +47,6 @@ struct AmountRaised { value: Decimal, } -#[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)] -struct TiltifyUser { - id: Uuid, - username: String, -} - #[derive(Debug, Serialize, Deserialize, utoipa::ToSchema)] struct TiltifyMeta { attempted_at: DateTime, @@ -168,14 +163,14 @@ pub async fn tiltify_webhook( id, tiltify_event_id: payload.meta.id, raw_data: raw_payload, - donated_at: payload.meta.generated_at, + donated_at: payload.data.completed_at, amount_usd: None, user_id: None, }; let username = async { // then we can attempt user lookups - let username = payload.data.user.username; + let username = payload.data.donor_name.clone(); let user = DBUser::get(&username, &**pool, &redis) .await .wrap_err("fetching user from database")? @@ -195,7 +190,7 @@ pub async fn tiltify_webhook( let amount_usd = async { // and insert value amount let amount_usd = - amount_raised_usd(&payload.data.amount_raised, &payouts_queue) + amount_raised_usd(&payload.data.amount, &payouts_queue) .await .wrap_err("failed to get donation amount")?;