21 lines
515 B
Ruby
21 lines
515 B
Ruby
# frozen_string_literal: true
|
|
|
|
class WebhooksController < ApplicationController
|
|
skip_forgery_protection only: :receive
|
|
rescue_with Stripe::SignatureVerificationError, status: 400
|
|
rescue_with DiscordSlashCommand::WebhookVerificationError, status: 401
|
|
|
|
def receive
|
|
case params[:source]
|
|
when "stripe"
|
|
UserUpgrade.receive_webhook(request)
|
|
head 200
|
|
when "discord"
|
|
json = DiscordSlashCommand.receive_webhook(request)
|
|
render json: json
|
|
else
|
|
head 400
|
|
end
|
|
end
|
|
end
|