Sha256: 3d5770881346fe94f5d1e94a396b70b38ef9e890a6114f17732a2eed8b1067ef

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

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

        @oauth_logout = callback_urls['callback_urls'].find { |c| c['type'] == 'oauth_logout' }&.dig('url')
        @oauth_redirect = callback_urls['callback_urls'].find { |c| c['type'] == 'oauth_redirect' }&.dig('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 edit_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.6.0 app/controllers/spree/admin/bolt_callback_urls_controller.rb