expose is_recommended in autocomplete API too
This commit is contained in:
Родитель
95d85feaf4
Коммит
41be103b28
|
@ -118,7 +118,7 @@ for autocomplete though, there are a couple key differences:
|
|||
:query string tag: Filter by exact tag name. Multiple tag names can be specified, separated by comma(s).
|
||||
:query string type: Filter by :ref:`add-on type <addon-detail-type>`.
|
||||
:query string sort: The sort parameter. The available parameters are documented in the :ref:`table below <addon-search-sort>`.
|
||||
:>json array results: An array of :ref:`add-ons <addon-detail-object>`. Only the ``id``, ``icon_url``, ``name``, ``type`` and ``url`` fields are supported though.
|
||||
:>json array results: An array of :ref:`add-ons <addon-detail-object>`. Only the ``id``, ``icon_url``, ``is_recommended``, ``name``, ``type`` and ``url`` fields are supported though.
|
||||
|
||||
|
||||
------
|
||||
|
|
|
@ -323,6 +323,7 @@ v4 API changelog
|
|||
* 2019-04-11: removed ``id``, ``username`` and ``url`` from the ``user`` object in the activity review notes APIs. https://github.com/mozilla/addons-server/issues/11002
|
||||
* 2019-05-09: added ``is_recommended`` to addons API. https://github.com/mozilla/addons-server/issues/11278
|
||||
* 2019-05-16: added /reviewers/canned-responses/ endpoint. https://github.com/mozilla/addons-server/issues/11276
|
||||
* 2019-05-23: added ``is_recommended`` to addons autocomplete API also. https://github.com/mozilla/addons-server/issues/11439
|
||||
|
||||
----------------
|
||||
v5 API changelog
|
||||
|
|
|
@ -710,7 +710,7 @@ class ESAddonSerializer(BaseESSerializer, AddonSerializer):
|
|||
|
||||
class ESAddonAutoCompleteSerializer(ESAddonSerializer):
|
||||
class Meta(ESAddonSerializer.Meta):
|
||||
fields = ('id', 'icon_url', 'name', 'type', 'url')
|
||||
fields = ('id', 'icon_url', 'is_recommended', 'name', 'type', 'url')
|
||||
model = Addon
|
||||
|
||||
def get_url(self, obj):
|
||||
|
|
|
@ -1259,11 +1259,12 @@ class TestESAddonAutoCompleteSerializer(ESTestCase):
|
|||
result = self.serialize()
|
||||
assert (
|
||||
set(result.keys()) ==
|
||||
{'id', 'name', 'icon_url', 'type', 'url'}
|
||||
{'id', 'name', 'icon_url', 'is_recommended', 'type', 'url'}
|
||||
)
|
||||
assert result['id'] == self.addon.pk
|
||||
assert result['name'] == {'en-US': six.text_type(self.addon.name)}
|
||||
assert result['icon_url'] == absolutify(self.addon.get_icon_url(64))
|
||||
assert result['is_recommended'] == self.addon.is_recommended is False
|
||||
assert result['type'] == 'extension'
|
||||
assert result['url'] == absolutify(self.addon.get_url_path())
|
||||
|
||||
|
@ -1310,7 +1311,7 @@ class TestESAddonAutoCompleteSerializer(ESTestCase):
|
|||
result = self.serialize()
|
||||
assert (
|
||||
set(result.keys()) ==
|
||||
{'id', 'name', 'icon_url', 'type', 'url'}
|
||||
{'id', 'name', 'icon_url', 'is_recommended', 'type', 'url'}
|
||||
)
|
||||
assert result['type'] == 'persona'
|
||||
assert result['icon_url'] == absolutify(self.addon.get_icon_url(64))
|
||||
|
@ -1334,7 +1335,7 @@ class TestESAddonAutoCompleteSerializer(ESTestCase):
|
|||
result = self.serialize()
|
||||
assert (
|
||||
set(result.keys()) ==
|
||||
{'id', 'name', 'icon_url', 'type', 'url'}
|
||||
{'id', 'name', 'icon_url', 'is_recommended', 'type', 'url'}
|
||||
)
|
||||
assert result['type'] == 'persona'
|
||||
assert result['icon_url'] == absolutify(self.addon.get_icon_url(64))
|
||||
|
|
|
@ -1926,7 +1926,7 @@ class TestAddonAutoCompleteSearchView(ESTestCase):
|
|||
qset = view.get_queryset()
|
||||
|
||||
includes = set((
|
||||
'default_locale', 'icon_type', 'id', 'modified',
|
||||
'default_locale', 'icon_type', 'id', 'is_recommended', 'modified',
|
||||
'name_translations', 'persona', 'slug', 'type'))
|
||||
|
||||
assert set(qset.to_dict()['_source']['includes']) == includes
|
||||
|
|
|
@ -391,7 +391,8 @@ class AddonAutoCompleteSearchView(AddonSearchView):
|
|||
# only needs to return very few things.
|
||||
included_fields = (
|
||||
'icon_type', # Needed for icon_url.
|
||||
'id', # Needed for... id.
|
||||
'id', # Needed for... id
|
||||
'is_recommended',
|
||||
'modified', # Needed for icon_url.
|
||||
'name_translations', # Needed for... name.
|
||||
'default_locale', # Needed for translations to work.
|
||||
|
|
Загрузка…
Ссылка в новой задаче