From 1586cd399296f3aec3b185a80b320e9cc5320816 Mon Sep 17 00:00:00 2001 From: Rohan Mitchell Date: Fri, 29 Jul 2016 15:39:08 +1000 Subject: [PATCH] Uncache enterprise producer properties - we have no cache invalidation for this --- app/serializers/api/enterprise_serializer.rb | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/app/serializers/api/enterprise_serializer.rb b/app/serializers/api/enterprise_serializer.rb index 127aee1a08..d30c2d8677 100644 --- a/app/serializers/api/enterprise_serializer.rb +++ b/app/serializers/api/enterprise_serializer.rb @@ -21,6 +21,7 @@ end class Api::UncachedEnterpriseSerializer < ActiveModel::Serializer attributes :orders_close_at, :active + has_many :properties, serializer: Api::PropertySerializer def orders_close_at options[:data].earliest_closing_times[object.id] @@ -29,6 +30,14 @@ class Api::UncachedEnterpriseSerializer < ActiveModel::Serializer def active options[:data].active_distributors.andand.include? object end + + def properties + # This results in 3 queries per enterprise + product_properties = Spree::Property.applied_by(object) + producer_properties = object.properties + + OpenFoodNetwork::PropertyMerge.merge product_properties, producer_properties + end end class Api::CachedEnterpriseSerializer < ActiveModel::Serializer @@ -49,8 +58,6 @@ class Api::CachedEnterpriseSerializer < ActiveModel::Serializer attributes :taxons, :supplied_taxons has_one :address, serializer: Api::AddressSerializer - has_many :properties, serializer: Api::PropertySerializer - def taxons ids_to_objs options[:data].distributed_taxons[object.id] end @@ -59,14 +66,6 @@ class Api::CachedEnterpriseSerializer < ActiveModel::Serializer ids_to_objs options[:data].supplied_taxons[object.id] end - def properties - # This results in 3 queries per enterprise - product_properties = Spree::Property.applied_by(object) - producer_properties = object.properties - - OpenFoodNetwork::PropertyMerge.merge product_properties, producer_properties - end - def pickup services = options[:data].shipping_method_services[object.id] services ? services[:pickup] : false