Sha256: 2b173d7818fffaa302a317be2fa40c11869855841a0aff368ac237637a6937a7

Contents?: true

Size: 716 Bytes

Versions: 9

Compression:

Stored size: 716 Bytes

Contents

module Spree
  module Api
    module V1
      class PromotionsController < Spree::Api::BaseController
        before_action :requires_admin
        before_action :load_promotion

        def show
          if @promotion
            respond_with(@promotion, default_template: :show)
          else
            raise ActiveRecord::RecordNotFound
          end
        end

        private 
          def requires_admin
            return if @current_user_roles.include?("admin")
            unauthorized and return
          end

          def load_promotion
            @promotion = Spree::Promotion.find_by(id: params[:id]) || Spree::Promotion.with_coupon_code(params[:id])
          end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
spree_api-3.3.6 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.5 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.4 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.3 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.2 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.1 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.0 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.0.rc4 app/controllers/spree/api/v1/promotions_controller.rb
spree_api-3.3.0.rc3 app/controllers/spree/api/v1/promotions_controller.rb