Class: Spree::Api::V2::Storefront::LineItemsController

Inherits:
ResourceController
  • Object
show all
Defined in:
app/controllers/spree/api/v2/storefront/line_items_controller.rb

Instance Method Summary collapse

Instance Method Details

#allowed_sort_attributesObject



19
20
21
22
# File 'app/controllers/spree/api/v2/storefront/line_items_controller.rb', line 19

def allowed_sort_attributes
  super << :to_date
  super << :from_date
end

#collectionObject



6
7
8
9
10
11
12
# File 'app/controllers/spree/api/v2/storefront/line_items_controller.rb', line 6

def collection
  if spree_current_user.nil?
    line_items_by_order_tokens
  else
    spree_current_user.line_items.filter_by_event(params[:event])
  end
end

#collection_serializerObject



28
29
30
# File 'app/controllers/spree/api/v2/storefront/line_items_controller.rb', line 28

def collection_serializer
  Spree::V2::Storefront::LineItemSerializer
end

#line_items_by_order_tokensObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'app/controllers/spree/api/v2/storefront/line_items_controller.rb', line 32

def line_items_by_order_tokens
  order_tokens = params[:order_tokens]
  event = params[:event]

  return Spree::LineItem.none if order_tokens.blank?

  Spree::LineItem.joins(:order)
                 .where(spree_orders: { token: order_tokens, state: 'complete', user_id: nil })
                 .filter_by_event(event)
                 .page(params[:page])
                 .per(params[:per_page])
end

#resource_serializerObject



24
25
26
# File 'app/controllers/spree/api/v2/storefront/line_items_controller.rb', line 24

def resource_serializer
  Spree::V2::Storefront::LineItemSerializer
end

#showObject



14
15
16
17
# File 'app/controllers/spree/api/v2/storefront/line_items_controller.rb', line 14

def show
  line_item = Spree::LineItem.find(params[:id])
  render_serialized_payload { serialize_resource(line_item) }
end