Class: Spree::Api::V2::Storefront::InventoryItemsController

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

Instance Method Summary collapse

Instance Method Details

#collectionObject

override



20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/spree/api/v2/storefront/inventory_items_controller.rb', line 20

def collection
  return @collection if defined?(@collection)

  scope = if include_reserved_blocks?
            SpreeCmCommissioner::InventoryItem.includes(:prices, :reserved_blocks)
          else
            SpreeCmCommissioner::InventoryItem.includes(:prices)
          end

  @collection = scope.where(variant_id: params[:variant_ids], inventory_date: params[:inventory_dates])
  @collection
end

#collection_serializerObject

override



34
35
36
# File 'app/controllers/spree/api/v2/storefront/inventory_items_controller.rb', line 34

def collection_serializer
  SpreeCmCommissioner::V2::Storefront::InventoryItemSerializer
end

#indexObject

GET /api/v2/storefront/inventory_items?



10
11
12
13
14
15
16
17
# File 'app/controllers/spree/api/v2/storefront/inventory_items_controller.rb', line 10

def index
  render_serialized_payload do
    collection_serializer.new(
      collection,
      { include: resource_includes, params: serializer_params }
    ).serializable_hash
  end
end

#required_schemaObject

override



39
40
41
# File 'app/controllers/spree/api/v2/storefront/inventory_items_controller.rb', line 39

def required_schema
  SpreeCmCommissioner::InventoryItemSchema
end

#serializer_paramsObject

override



44
45
46
# File 'app/controllers/spree/api/v2/storefront/inventory_items_controller.rb', line 44

def serializer_params
  super.merge(include_reserved_blocks: include_reserved_blocks?)
end