Skip to content

Commit d754e77

Browse files
committed
improve observability for webhook events
1 parent 89c4ee1 commit d754e77

File tree

2 files changed

+20
-17
lines changed

2 files changed

+20
-17
lines changed

lib/algora_web/controllers/webhooks/github_controller.ex

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -573,20 +573,19 @@ defmodule AlgoraWeb.Webhooks.GithubController do
573573
end
574574
end
575575

576+
defp execute_command(_webhook, {cmd, _args}) when cmd in [:bounty, :tip, :claim, :attempt] do
577+
{:ok, nil}
578+
end
579+
576580
defp execute_command(webhook, command) do
577581
github_ticket = get_github_ticket(webhook)
578582

579-
message =
580-
"Received unknown command: #{inspect(command)}. Ticket: #{github_ticket["html_url"]}. Hook ID: #{webhook.hook_id}"
581-
582-
case Algora.Admin.alert(message) do
583-
[] ->
584-
Logger.error(message)
585-
{:error, :unknown_command}
583+
Algora.Admin.alert(
584+
"Received unknown command: #{inspect(command)}. Ticket: #{github_ticket["html_url"]}. Hook ID: #{webhook.hook_id}",
585+
:error
586+
)
586587

587-
_jobs ->
588-
:ok
589-
end
588+
{:error, :unknown_command}
590589
end
591590

592591
def build_command({:claim, args}, commands) do

lib/algora_web/controllers/webhooks/stripe_controller.ex

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ defmodule AlgoraWeb.Webhooks.StripeController do
4747
{:error, error}
4848
end
4949

50-
@tracked_events ["charge.succeeded", "transfer.created", "checkout.session.completed"]
51-
5250
defp process_event(
5351
%Stripe.Event{
5452
type: "charge.succeeded",
@@ -98,7 +96,13 @@ defmodule AlgoraWeb.Webhooks.StripeController do
9896
end
9997
end
10098

101-
defp process_event(%Stripe.Event{type: type} = event) when type in @tracked_events do
99+
defp process_event(%Stripe.Event{type: type} = event) when type in ["checkout.session.completed"] do
100+
Algora.Admin.alert("Unhandled Stripe event: #{event.type} #{event.id}", :info)
101+
:ok
102+
end
103+
104+
defp process_event(%Stripe.Event{type: type} = event)
105+
when type in ["charge.succeeded", "transfer.created", "checkout.session.completed"] do
102106
Algora.Admin.alert("Unhandled Stripe event: #{event.type} #{event.id}", :error)
103107
:ok
104108
end
@@ -199,12 +203,12 @@ defmodule AlgoraWeb.Webhooks.StripeController do
199203
%{
200204
name: "Event",
201205
value: event.id,
202-
inline: true
206+
inline: false
203207
},
204208
%{
205209
name: event.data.object.object,
206210
value: event.data.object.id,
207-
inline: true
211+
inline: false
208212
}
209213
],
210214
url: "https://dashboard.stripe.com/payments?status[0]=successful",
@@ -240,12 +244,12 @@ defmodule AlgoraWeb.Webhooks.StripeController do
240244
%{
241245
name: "Event",
242246
value: event.id,
243-
inline: true
247+
inline: false
244248
},
245249
%{
246250
name: event.data.object.object,
247251
value: event.data.object.id,
248-
inline: true
252+
inline: false
249253
}
250254
],
251255
url: "https://dashboard.stripe.com/payments?status[0]=failed",

0 commit comments

Comments
 (0)