2019-08-14 09:48:44 +00:00
|
|
|
class Api::V1::WebhooksController < ApplicationController
|
|
|
|
skip_before_action :authenticate_user!, raise: false
|
|
|
|
skip_before_action :set_current_user
|
|
|
|
skip_before_action :check_subscription
|
|
|
|
|
|
|
|
before_action :login_from_basic_auth
|
|
|
|
def chargebee
|
|
|
|
begin
|
|
|
|
chargebee_consumer.consume
|
|
|
|
head :ok
|
|
|
|
rescue => e
|
|
|
|
Raven.capture_exception(e)
|
|
|
|
head :ok
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
def login_from_basic_auth
|
|
|
|
authenticate_or_request_with_http_basic do |username, password|
|
2019-08-21 07:29:56 +00:00
|
|
|
username == ENV['CHARGEBEE_WEBHOOK_USERNAME'] && password == ENV['CHARGEBEE_WEBHOOK_PASSWORD']
|
2019-08-14 09:48:44 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def chargebee_consumer
|
|
|
|
@consumer ||= ::Webhooks::Chargebee.new(params)
|
|
|
|
end
|
|
|
|
end
|