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