Sha256: 4aa20aa09667ab4f7d83943f44821a12ed67702993bda3794a6767a596ba4c2c

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

# frozen_string_literal: true

module Spree
  module Admin
    class BoltCallbackUrlsController < Spree::Admin::BaseController
      def new
        callback_urls = SolidusBolt::MerchantConfiguration::GetCallbackUrlsService.call

        @oauth_logout = callback_urls['callback_urls'].find { |c| c['type'] == 'oauth_logout' }['url']
        @oauth_redirect = callback_urls['callback_urls'].find { |c| c['type'] == 'oauth_redirect' }['url']
      end

      def update
        SolidusBolt::MerchantConfiguration::SetCallbackUrlsService.call(
          oauth_logout: params[:bolt_callback_urls][:oauth_logout],
          oauth_redirect: params[:bolt_callback_urls][:oauth_redirect]
        )
        flash[:success] = "Successfully updated callback urls."

        redirect_to new_admin_bolt_callback_urls_path
      rescue SolidusBolt::ServerError => e
        flash[:error] = e.message

        render :new
      end

      private

      def bolt_webhook_params
        params
          .require(:bolt_webhook)
          .permit(
            :event,
            :webhook_url,
          )
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
solidus_bolt-0.5.0 app/controllers/spree/admin/bolt_callback_urls_controller.rb