Sha256: 8bbe592ef3d2f69bed7de511b9909e8ad6d93d1f959b2c6b46bbe63ad28522e2

Contents?: true

Size: 890 Bytes

Versions: 20

Compression:

Stored size: 890 Bytes

Contents

# frozen_string_literal: true

module SolidusPaypalCommercePlatform
  class ShippingRatesController < ::Spree::Api::BaseController
    before_action :load_order
    skip_before_action :authenticate_user

    def simulate_shipping_rates
      authorize! :show, @order, order_token

      @order.transaction do
        SolidusPaypalCommercePlatform::PaypalAddress.new(@order).simulate_update(params[:address])
        @errors = @order.ship_address.errors.dup
        @paypal_order = SolidusPaypalCommercePlatform::PaypalOrder.new(@order).to_replace_json
        raise ActiveRecord::Rollback
      end

      if @errors.none?
        render json: @paypal_order, status: :ok
      else
        render json: @errors.full_messages, status: :unprocessable_entity
      end
    end

    private

    def load_order
      @order = ::Spree::Order.find_by(number: params[:order_id])
    end
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
solidus_paypal_commerce_platform-1.0.3 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-1.0.2 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.7.1 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-1.0.1 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-1.0.0 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.7.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-1.0.0.beta3 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-1.0.0.beta2 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-1.0.0.beta1 lib/generators/solidus_paypal_commerce_platform/install/templates/app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.6.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.5.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.4.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.3.2 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.3.1 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.3.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.2.2 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.2.1 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.2.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.1.0 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb
solidus_paypal_commerce_platform-0.0.1 app/controllers/solidus_paypal_commerce_platform/shipping_rates_controller.rb