Sha256: 1fe2734681df3165ad6992a905cca73209316cf43c05cf125f716321817b2052

Contents?: true

Size: 1.15 KB

Versions: 29

Compression:

Stored size: 1.15 KB

Contents

module Spree
  module Api
    module V2
      module Platform
        class PromotionsController < ResourceController
          include ::Spree::Api::V2::Platform::PromotionRuleParams
          include ::Spree::Api::V2::Platform::PromotionCalculatorParams

          private

          def model_class
            Spree::Promotion
          end

          def scope_includes
            [:promotion_category, :promotion_rules, :promotion_actions]
          end

          def spree_permitted_attributes
            conditional_params = action_name == 'update' ? [:id] : []

            super + [{ promotion_actions_attributes: Spree::PromotionAction.json_api_permitted_attributes.concat(conditional_params) + [{
              promotion_action_line_items_attributes: Spree::PromotionActionLineItem.json_api_permitted_attributes.concat(conditional_params),
              calculator_attributes: Spree::Calculator.json_api_permitted_attributes.concat(conditional_params, calculator_params)
            }], promotion_rules_attributes: Spree::PromotionRule.json_api_permitted_attributes.concat(conditional_params, rule_params) }]
          end
        end
      end
    end
  end
end

Version data entries

29 entries across 29 versions & 3 rubygems

Version Path
spree_api-4.10.1 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.10.0 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.9.0 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.8.3 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.8.2 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.7.3 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.6 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.5.5 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.4.1 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.5.4 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.5 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.7.2 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.7.1 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.4 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.7.0 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.3 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.2 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.1 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.6.0 app/controllers/spree/api/v2/platform/promotions_controller.rb
spree_api-4.5.3 app/controllers/spree/api/v2/platform/promotions_controller.rb