Files
openfoodnetwork/app/serializers/api/admin/product_serializer.rb
2025-03-28 14:48:40 +11:00

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