Class: FlowcommerceSpree::WebhooksController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- FlowcommerceSpree::WebhooksController
- Defined in:
- app/controllers/flowcommerce_spree/webhooks_controller.rb
Instance Method Summary collapse
-
#handle_flow_io_event ⇒ Object
forward incoming requests to respective Flow Webhooks Service objects /flow/event-target endpoint.
Instance Method Details
#handle_flow_io_event ⇒ Object
forward incoming requests to respective Flow Webhooks Service objects /flow/event-target endpoint
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/flowcommerce_spree/webhooks_controller.rb', line 11 def handle_flow_io_event %i[event_id organization discriminator].each_with_object(params) { |key, obj| obj.require(key) } return unless organization_valid? webhook_result = "FlowcommerceSpree::Webhooks::#{params['discriminator'].classify}".constantize.process(params) @result = {} @result[:error] = webhook_result..join("\n") if webhook_result.errors.any? rescue StandardError => e @result = { error: e.class.to_s, message: e., backtrace: e.backtrace } ensure logger.info(@result) if (error = @result[:error]) render json: @result.except(:backtrace), status: error ? :unprocessable_entity : :ok end |