mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
37 lines
839 B
Ruby
37 lines
839 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Api
|
|
module Admin
|
|
class ProductSerializer < ActiveModel::Serializer
|
|
attributes :id, :name, :sku, :inherits_properties, :price, :import_date, :image_url,
|
|
:thumb_url, :variants
|
|
|
|
def variants
|
|
ActiveModel::ArraySerializer.new(
|
|
object.variants,
|
|
each_serializer: Api::Admin::VariantSerializer,
|
|
image: thumb_url,
|
|
)
|
|
end
|
|
|
|
def image_url
|
|
object.image&.url(:product) || Spree::Image.default_image_url(:product)
|
|
end
|
|
|
|
def thumb_url
|
|
object.image&.url(:mini) || Spree::Image.default_image_url(:mini)
|
|
end
|
|
|
|
def on_hand
|
|
return 0 if object.on_hand.nil?
|
|
|
|
object.on_hand
|
|
end
|
|
|
|
def price
|
|
object.price.nil? ? '0.0' : object.price
|
|
end
|
|
end
|
|
end
|
|
end
|