diff --git a/apps/search_indexes/serializers.py b/apps/search_indexes/serializers.py index 42ea19bc..dffd6e77 100644 --- a/apps/search_indexes/serializers.py +++ b/apps/search_indexes/serializers.py @@ -20,6 +20,19 @@ class TagsDocumentSerializer(serializers.Serializer): return get_translated_value(obj.label) +class EstablishmentTypeSerializer(serializers.Serializer): + """Establishment type serializer for ES Document""" + + id = serializers.IntegerField() + name_translated = serializers.SerializerMethodField() + index_name = serializers.CharField() + + def get_name_translated(self, obj): + if isinstance(obj, dict): + return get_translated_value(obj.get('name')) + return get_translated_value(obj.name) + + class ProductSubtypeDocumentSerializer(serializers.Serializer): """Product subtype serializer for ES Document.""" @@ -149,6 +162,8 @@ class NewsDocumentSerializer(DocumentSerializer): class EstablishmentDocumentSerializer(DocumentSerializer): """Establishment document serializer.""" + establishment_type = EstablishmentTypeSerializer() + establishment_subtypes = EstablishmentTypeSerializer(many=True) address = AddressDocumentSerializer(allow_null=True) tags = TagsDocumentSerializer(many=True) schedule = ScheduleDocumentSerializer(many=True, allow_null=True)