From 4c3f6e06b0afa93b4ce0e1afd967a72bb80f9a6f Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Thu, 9 Jan 2025 10:16:33 +0100 Subject: [PATCH 1/2] Add mobile apps listing to backend --- backend/app/app.py | 18 +++++++++++++ backend/app/apps.py | 1 + backend/app/search.py | 20 +++++++++++++++ backend/app/utils.py | 60 ++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 98 insertions(+), 1 deletion(-) diff --git a/backend/app/app.py b/backend/app/app.py index 897f7c42c..0a02d0f4f 100644 --- a/backend/app/app.py +++ b/backend/app/app.py @@ -281,6 +281,24 @@ def get_verified( return result +@router.get("/collection/mobile", tags=["app"]) +def get_mobile( + page: int | None = None, + per_page: int | None = None, + locale: str = "en", + response: Response = Response(), +): + if (page is None and per_page is not None) or ( + page is not None and per_page is None + ): + response.status_code = 400 + return response + + result = search.get_by_mobile(page, per_page, locale) + + return result + + @router.get("/popular/last-month", tags=["app"]) def get_popular_last_month( page: int | None = None, diff --git a/backend/app/apps.py b/backend/app/apps.py index cbee4547c..998d6ea0c 100644 --- a/backend/app/apps.py +++ b/backend/app/apps.py @@ -67,6 +67,7 @@ def add_to_search(app_id: str, app: dict, apps_locale: dict) -> dict: "id": utils.get_clean_app_id(app_id), "type": type, "name": app["name"], + "isMobileFriendly": app.get("isMobileFriendly", False), "summary": app["summary"], "translations": translations, "keywords": search_keywords, diff --git a/backend/app/search.py b/backend/app/search.py index 0404bd814..432ea7d96 100644 --- a/backend/app/search.py +++ b/backend/app/search.py @@ -45,6 +45,7 @@ class SearchQuery(BaseModel): "arches", "icon", "keywords", + "isMobileFriendly", ] ) @@ -240,6 +241,25 @@ def get_by_verified(page: int | None, hits_per_page: int | None, locale: str): ) +def get_by_mobile(page: int | None, hits_per_page: int | None, locale: str): + return _translate_name_and_summary( + locale, + client.index("apps").search( + "", + { + "filter": [ + "isMobileFriendly = true", + "type IN [console-application, desktop-application]", + "NOT icon IS NULL", + ], + "sort": ["trending:desc"], + "hitsPerPage": hits_per_page or 250, + "page": page or 1, + }, + ), + ) + + def get_by_developer( developer: str, page: int | None, hits_per_page: int | None, locale: str ): diff --git a/backend/app/utils.py b/backend/app/utils.py index c94d29e7e..25bbd3cbd 100644 --- a/backend/app/utils.py +++ b/backend/app/utils.py @@ -5,7 +5,7 @@ import os import re from datetime import datetime, timedelta -from typing import Any +from typing import Any, Literal import gi import jwt @@ -21,6 +21,9 @@ clean_id_re = re.compile("[^a-zA-Z0-9_-]+") remove_desktop_re = re.compile(r"\.desktop$") +mobile_min_size = 360 +mobile_max_size = 768 + class Hasher: """ @@ -96,6 +99,46 @@ def appstream2dict(appstream_url=None) -> dict[str, dict]: app["type"] = component.attrib.get("type", "generic") app["locales"] = {} + isMobileFriendly: list[bool] = [] + requires = component.find("requires") + if requires is not None: + if display_lengths := requires.findall("display_length"): + for display_length in display_lengths: + compare: Literal[ + "eq", + "ne", + "lt", + "gt", + "le", + "ge", + ] = display_length.attrib.get("compare") or "ge" + + isMobileFriendly.append( + compare_requires_is_between_mobile_target( + int(display_length.text), + compare, + ) + ) + + hasTouch = False + supports = component.find("supports") + if supports is not None: + if controls := supports.findall("control"): + for control in controls: + if control.text == "touch": + hasTouch = True + + recommends = component.find("recommends") + if recommends is not None: + if controls := recommends.findall("control"): + for control in controls: + if control.text == "touch": + hasTouch = True + + app["isMobileFriendly"] = ( + all(isMobileFriendly) and any(isMobileFriendly) and hasTouch + ) + descriptions = component.findall("description") if len(descriptions): for desc in descriptions: @@ -429,6 +472,21 @@ def appstream2dict(appstream_url=None) -> dict[str, dict]: return apps +def compare_requires_is_between_mobile_target( + display_length: int, + compare: Literal["ge", "lt", "gt", "le", "eq", "ne"], +): + if compare == "ge" and display_length <= mobile_max_size: + return True + if compare == "lt" and display_length > mobile_max_size: + return True + if compare == "gt" and display_length < mobile_min_size: + return True + if compare == "le" and display_length >= mobile_min_size: + return True + return False + + def get_clean_app_id(app_id: str): return re.sub(clean_id_re, "_", app_id) From a234f34acf36294c18c3010b41f2b0924b5bc237 Mon Sep 17 00:00:00 2001 From: Kolja Lampe Date: Thu, 9 Jan 2025 13:22:02 +0100 Subject: [PATCH 2/2] Update snapshots --- ...ps_by_category__test_apps_by_category.json | 15 ++---- ..._locale__test_apps_by_category_locale.json | 17 +++---- ..._by_developer__test_apps_by_developer.json | 15 ++---- ...locale__test_apps_by_developer_locale.json | 17 +++---- ...eam_by_appid__test_appstream_by_appid.json | 13 ++--- ...pid_fallback__test_appstream_by_appid.json | 13 ++--- ...ocale__test_appstream_by_appid_locale.json | 13 ++--- ...st_collection_by_one_recently_updated.json | 17 +++---- ...ection_by_one_recently_updated_locale.json | 17 +++---- ...__test_collection_by_recently_updated.json | 47 +++++++------------ ...collection_by_recently_updated_locale.json | 47 +++++++------------ ...r_last_month__test_popular_last_month.json | 47 +++++++------------ ...month_locale__test_popular_last_month.json | 47 +++++++------------ ...scription__test_search_query_by_appid.json | 15 ++---- ...le__test_search_query_by_appid_locale.json | 17 +++---- ...y_by_name__test_search_query_by_appid.json | 15 ++---- ...le__test_search_query_by_appid_locale.json | 17 +++---- ...al_name_2__test_search_query_by_appid.json | 15 ++---- ...le__test_search_query_by_appid_locale.json | 17 +++---- ...tial_name__test_search_query_by_appid.json | 15 ++---- ...le__test_search_query_by_appid_locale.json | 17 +++---- ...y_summary__test_search_query_by_appid.json | 15 ++---- ...le__test_search_query_by_appid_locale.json | 17 +++---- ...o_weeks__test_trending_last_two_weeks.json | 47 +++++++------------ ...__test_trending_last_two_weeks_locale.json | 47 +++++++------------ 25 files changed, 200 insertions(+), 379 deletions(-) diff --git a/backend/tests/snapshots/main__apps_by_category__test_apps_by_category.json b/backend/tests/snapshots/main__apps_by_category__test_apps_by_category.json index 354f3231a..ce289605e 100644 --- a/backend/tests/snapshots/main__apps_by_category__test_apps_by_category.json +++ b/backend/tests/snapshots/main__apps_by_category__test_apps_by_category.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", diff --git a/backend/tests/snapshots/main__apps_by_category_locale__test_apps_by_category_locale.json b/backend/tests/snapshots/main__apps_by_category_locale__test_apps_by_category_locale.json index a6c7023e3..bcd0bca58 100644 --- a/backend/tests/snapshots/main__apps_by_category_locale__test_apps_by_category_locale.json +++ b/backend/tests/snapshots/main__apps_by_category_locale__test_apps_by_category_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -42,4 +37,4 @@ "page": 1, "totalPages": 1, "totalHits": 1 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__apps_by_developer__test_apps_by_developer.json b/backend/tests/snapshots/main__apps_by_developer__test_apps_by_developer.json index 354f3231a..ce289605e 100644 --- a/backend/tests/snapshots/main__apps_by_developer__test_apps_by_developer.json +++ b/backend/tests/snapshots/main__apps_by_developer__test_apps_by_developer.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", diff --git a/backend/tests/snapshots/main__apps_by_developer_locale__test_apps_by_developer_locale.json b/backend/tests/snapshots/main__apps_by_developer_locale__test_apps_by_developer_locale.json index a6c7023e3..bcd0bca58 100644 --- a/backend/tests/snapshots/main__apps_by_developer_locale__test_apps_by_developer_locale.json +++ b/backend/tests/snapshots/main__apps_by_developer_locale__test_apps_by_developer_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -42,4 +37,4 @@ "page": 1, "totalPages": 1, "totalHits": 1 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__appstream_by_appid__test_appstream_by_appid.json b/backend/tests/snapshots/main__appstream_by_appid__test_appstream_by_appid.json index 4c77cdbdd..fbc84375b 100644 --- a/backend/tests/snapshots/main__appstream_by_appid__test_appstream_by_appid.json +++ b/backend/tests/snapshots/main__appstream_by_appid__test_appstream_by_appid.json @@ -129,12 +129,8 @@ "name": "Maze", "summary": "A simple maze game", "developer_name": "Sugar Labs Community", - "categories": [ - "Game" - ], - "kudos": [ - "HiDpiIcon" - ], + "categories": ["Game"], + "kudos": ["HiDpiIcon"], "project_license": "GPL-3.0-or-later", "launchable": { "value": "org.sugarlabs.Maze.desktop", @@ -392,5 +388,6 @@ "runtime": "org.gnome.Platform/x86_64/3.36", "sdk": "org.gnome.Sdk/x86_64/3.36" }, - "is_free_license": true -} \ No newline at end of file + "is_free_license": true, + "isMobileFriendly": false +} diff --git a/backend/tests/snapshots/main__appstream_by_appid_fallback__test_appstream_by_appid.json b/backend/tests/snapshots/main__appstream_by_appid_fallback__test_appstream_by_appid.json index 4c77cdbdd..fbc84375b 100644 --- a/backend/tests/snapshots/main__appstream_by_appid_fallback__test_appstream_by_appid.json +++ b/backend/tests/snapshots/main__appstream_by_appid_fallback__test_appstream_by_appid.json @@ -129,12 +129,8 @@ "name": "Maze", "summary": "A simple maze game", "developer_name": "Sugar Labs Community", - "categories": [ - "Game" - ], - "kudos": [ - "HiDpiIcon" - ], + "categories": ["Game"], + "kudos": ["HiDpiIcon"], "project_license": "GPL-3.0-or-later", "launchable": { "value": "org.sugarlabs.Maze.desktop", @@ -392,5 +388,6 @@ "runtime": "org.gnome.Platform/x86_64/3.36", "sdk": "org.gnome.Sdk/x86_64/3.36" }, - "is_free_license": true -} \ No newline at end of file + "is_free_license": true, + "isMobileFriendly": false +} diff --git a/backend/tests/snapshots/main__appstream_by_appid_locale__test_appstream_by_appid_locale.json b/backend/tests/snapshots/main__appstream_by_appid_locale__test_appstream_by_appid_locale.json index f91fbdea8..c252e4540 100644 --- a/backend/tests/snapshots/main__appstream_by_appid_locale__test_appstream_by_appid_locale.json +++ b/backend/tests/snapshots/main__appstream_by_appid_locale__test_appstream_by_appid_locale.json @@ -129,12 +129,8 @@ "name": "Maze", "summary": "Ein simples Irrgartenspiel", "developer_name": "Sugar Labs Community", - "categories": [ - "Game" - ], - "kudos": [ - "HiDpiIcon" - ], + "categories": ["Game"], + "kudos": ["HiDpiIcon"], "project_license": "GPL-3.0-or-later", "launchable": { "value": "org.sugarlabs.Maze.desktop", @@ -392,5 +388,6 @@ "runtime": "org.gnome.Platform/x86_64/3.36", "sdk": "org.gnome.Sdk/x86_64/3.36" }, - "is_free_license": true -} \ No newline at end of file + "is_free_license": true, + "isMobileFriendly": false +} diff --git a/backend/tests/snapshots/main__collection_by_one_recently_updated__test_collection_by_one_recently_updated.json b/backend/tests/snapshots/main__collection_by_one_recently_updated__test_collection_by_one_recently_updated.json index e16711da2..d1bbd8555 100644 --- a/backend/tests/snapshots/main__collection_by_one_recently_updated__test_collection_by_one_recently_updated.json +++ b/backend/tests/snapshots/main__collection_by_one_recently_updated__test_collection_by_one_recently_updated.json @@ -21,12 +21,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -38,12 +34,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false } ], "query": "", @@ -52,4 +47,4 @@ "page": 1, "totalPages": 3, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__collection_by_one_recently_updated_locale__test_collection_by_one_recently_updated_locale.json b/backend/tests/snapshots/main__collection_by_one_recently_updated_locale__test_collection_by_one_recently_updated_locale.json index 23bad688d..97c5ae4f1 100644 --- a/backend/tests/snapshots/main__collection_by_one_recently_updated_locale__test_collection_by_one_recently_updated_locale.json +++ b/backend/tests/snapshots/main__collection_by_one_recently_updated_locale__test_collection_by_one_recently_updated_locale.json @@ -11,12 +11,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false } ], "query": "", @@ -42,4 +37,4 @@ "page": 1, "totalPages": 3, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__collection_by_recently_updated__test_collection_by_recently_updated.json b/backend/tests/snapshots/main__collection_by_recently_updated__test_collection_by_recently_updated.json index 85e13ccf6..65e3d5e20 100644 --- a/backend/tests/snapshots/main__collection_by_recently_updated__test_collection_by_recently_updated.json +++ b/backend/tests/snapshots/main__collection_by_recently_updated__test_collection_by_recently_updated.json @@ -21,12 +21,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -38,12 +34,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false }, { "name": "WPS Office", @@ -57,12 +52,8 @@ "is_free_license": false, "app_id": "com.wps.Office", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.wps.Office.png", - "categories": [ - "Office" - ], - "main_categories": [ - "Office" - ], + "categories": ["Office"], + "main_categories": ["Office"], "sub_categories": [], "developer_name": "Kingsoft Office Corporation", "verification_verified": false, @@ -74,12 +65,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973768, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973768, "trending": 15.150000000000034, - "installs_last_month": 971 + "installs_last_month": 971, + "isMobileFriendly": false }, { "name": "Maze", @@ -98,12 +88,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -115,12 +101,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -129,4 +114,4 @@ "page": 1, "totalPages": 1, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__collection_by_recently_updated_locale__test_collection_by_recently_updated_locale.json b/backend/tests/snapshots/main__collection_by_recently_updated_locale__test_collection_by_recently_updated_locale.json index a68f15ee6..3ddf52656 100644 --- a/backend/tests/snapshots/main__collection_by_recently_updated_locale__test_collection_by_recently_updated_locale.json +++ b/backend/tests/snapshots/main__collection_by_recently_updated_locale__test_collection_by_recently_updated_locale.json @@ -11,12 +11,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false }, { "name": "WPS Office", @@ -47,12 +42,8 @@ "is_free_license": false, "app_id": "com.wps.Office", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.wps.Office.png", - "categories": [ - "Office" - ], - "main_categories": [ - "Office" - ], + "categories": ["Office"], + "main_categories": ["Office"], "sub_categories": [], "developer_name": "Kingsoft Office Corporation", "verification_verified": false, @@ -64,12 +55,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973768, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973768, "trending": 15.150000000000034, - "installs_last_month": 971 + "installs_last_month": 971, + "isMobileFriendly": false }, { "name": "Maze", @@ -88,12 +78,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -105,12 +91,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -119,4 +104,4 @@ "page": 1, "totalPages": 1, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__popular_last_month__test_popular_last_month.json b/backend/tests/snapshots/main__popular_last_month__test_popular_last_month.json index a8536f1de..b5950b4b7 100644 --- a/backend/tests/snapshots/main__popular_last_month__test_popular_last_month.json +++ b/backend/tests/snapshots/main__popular_last_month__test_popular_last_month.json @@ -12,12 +12,8 @@ "is_free_license": false, "app_id": "com.wps.Office", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.wps.Office.png", - "categories": [ - "Office" - ], - "main_categories": [ - "Office" - ], + "categories": ["Office"], + "main_categories": ["Office"], "sub_categories": [], "developer_name": "Kingsoft Office Corporation", "verification_verified": false, @@ -29,12 +25,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973768, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973768, "trending": 15.150000000000034, - "installs_last_month": 971 + "installs_last_month": 971, + "isMobileFriendly": false }, { "name": "AnyDesk", @@ -57,12 +52,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -74,12 +65,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false }, { "name": "Maze", @@ -98,12 +88,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -115,12 +101,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -129,4 +114,4 @@ "page": 1, "totalPages": 1, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__popular_last_month_locale__test_popular_last_month.json b/backend/tests/snapshots/main__popular_last_month_locale__test_popular_last_month.json index a22ffd5b5..6c04bbab2 100644 --- a/backend/tests/snapshots/main__popular_last_month_locale__test_popular_last_month.json +++ b/backend/tests/snapshots/main__popular_last_month_locale__test_popular_last_month.json @@ -12,12 +12,8 @@ "is_free_license": false, "app_id": "com.wps.Office", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.wps.Office.png", - "categories": [ - "Office" - ], - "main_categories": [ - "Office" - ], + "categories": ["Office"], + "main_categories": ["Office"], "sub_categories": [], "developer_name": "Kingsoft Office Corporation", "verification_verified": false, @@ -29,12 +25,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973768, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973768, "trending": 15.150000000000034, - "installs_last_month": 971 + "installs_last_month": 971, + "isMobileFriendly": false }, { "name": "AnyDesk", @@ -47,12 +42,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -64,12 +55,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false }, { "name": "Maze", @@ -88,12 +78,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -105,12 +91,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -119,4 +104,4 @@ "page": 1, "totalPages": 1, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__search_query_by_description__test_search_query_by_appid.json b/backend/tests/snapshots/main__search_query_by_description__test_search_query_by_appid.json index 9c5f34d98..85d4f2fc9 100644 --- a/backend/tests/snapshots/main__search_query_by_description__test_search_query_by_appid.json +++ b/backend/tests/snapshots/main__search_query_by_description__test_search_query_by_appid.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "finding your way out", diff --git a/backend/tests/snapshots/main__search_query_by_description_locale__test_search_query_by_appid_locale.json b/backend/tests/snapshots/main__search_query_by_description_locale__test_search_query_by_appid_locale.json index 9f3dc000c..bb6e8cea0 100644 --- a/backend/tests/snapshots/main__search_query_by_description_locale__test_search_query_by_appid_locale.json +++ b/backend/tests/snapshots/main__search_query_by_description_locale__test_search_query_by_appid_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "finding your way out", @@ -59,4 +54,4 @@ } }, "facetStats": {} -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__search_query_by_name__test_search_query_by_appid.json b/backend/tests/snapshots/main__search_query_by_name__test_search_query_by_appid.json index c8e82f8cf..6e0500abc 100644 --- a/backend/tests/snapshots/main__search_query_by_name__test_search_query_by_appid.json +++ b/backend/tests/snapshots/main__search_query_by_name__test_search_query_by_appid.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "Maze", diff --git a/backend/tests/snapshots/main__search_query_by_name_locale__test_search_query_by_appid_locale.json b/backend/tests/snapshots/main__search_query_by_name_locale__test_search_query_by_appid_locale.json index fcff728cd..0482c4f8a 100644 --- a/backend/tests/snapshots/main__search_query_by_name_locale__test_search_query_by_appid_locale.json +++ b/backend/tests/snapshots/main__search_query_by_name_locale__test_search_query_by_appid_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "Maze", @@ -59,4 +54,4 @@ } }, "facetStats": {} -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__search_query_by_partial_name_2__test_search_query_by_appid.json b/backend/tests/snapshots/main__search_query_by_partial_name_2__test_search_query_by_appid.json index f49b69b31..56176a191 100644 --- a/backend/tests/snapshots/main__search_query_by_partial_name_2__test_search_query_by_appid.json +++ b/backend/tests/snapshots/main__search_query_by_partial_name_2__test_search_query_by_appid.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "ma", diff --git a/backend/tests/snapshots/main__search_query_by_partial_name_2_locale__test_search_query_by_appid_locale.json b/backend/tests/snapshots/main__search_query_by_partial_name_2_locale__test_search_query_by_appid_locale.json index b6debd201..aea49a6c2 100644 --- a/backend/tests/snapshots/main__search_query_by_partial_name_2_locale__test_search_query_by_appid_locale.json +++ b/backend/tests/snapshots/main__search_query_by_partial_name_2_locale__test_search_query_by_appid_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "ma", @@ -59,4 +54,4 @@ } }, "facetStats": {} -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__search_query_by_partial_name__test_search_query_by_appid.json b/backend/tests/snapshots/main__search_query_by_partial_name__test_search_query_by_appid.json index ee609aedf..34f2ed1f0 100644 --- a/backend/tests/snapshots/main__search_query_by_partial_name__test_search_query_by_appid.json +++ b/backend/tests/snapshots/main__search_query_by_partial_name__test_search_query_by_appid.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "maz", diff --git a/backend/tests/snapshots/main__search_query_by_partial_name_locale__test_search_query_by_appid_locale.json b/backend/tests/snapshots/main__search_query_by_partial_name_locale__test_search_query_by_appid_locale.json index 1cfb3741b..61fd4e01c 100644 --- a/backend/tests/snapshots/main__search_query_by_partial_name_locale__test_search_query_by_appid_locale.json +++ b/backend/tests/snapshots/main__search_query_by_partial_name_locale__test_search_query_by_appid_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "maz", @@ -59,4 +54,4 @@ } }, "facetStats": {} -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__search_query_by_summary__test_search_query_by_appid.json b/backend/tests/snapshots/main__search_query_by_summary__test_search_query_by_appid.json index 6e0d8207c..7f9a9307a 100644 --- a/backend/tests/snapshots/main__search_query_by_summary__test_search_query_by_appid.json +++ b/backend/tests/snapshots/main__search_query_by_summary__test_search_query_by_appid.json @@ -17,12 +17,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -34,12 +30,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "maze game", diff --git a/backend/tests/snapshots/main__search_query_by_summary_locale__test_search_query_by_appid_locale.json b/backend/tests/snapshots/main__search_query_by_summary_locale__test_search_query_by_appid_locale.json index 66d676f6b..a29a14ef2 100644 --- a/backend/tests/snapshots/main__search_query_by_summary_locale__test_search_query_by_appid_locale.json +++ b/backend/tests/snapshots/main__search_query_by_summary_locale__test_search_query_by_appid_locale.json @@ -11,12 +11,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -28,12 +24,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "maze game", @@ -59,4 +54,4 @@ } }, "facetStats": {} -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__trending_last_two_weeks__test_trending_last_two_weeks.json b/backend/tests/snapshots/main__trending_last_two_weeks__test_trending_last_two_weeks.json index a8536f1de..b5950b4b7 100644 --- a/backend/tests/snapshots/main__trending_last_two_weeks__test_trending_last_two_weeks.json +++ b/backend/tests/snapshots/main__trending_last_two_weeks__test_trending_last_two_weeks.json @@ -12,12 +12,8 @@ "is_free_license": false, "app_id": "com.wps.Office", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.wps.Office.png", - "categories": [ - "Office" - ], - "main_categories": [ - "Office" - ], + "categories": ["Office"], + "main_categories": ["Office"], "sub_categories": [], "developer_name": "Kingsoft Office Corporation", "verification_verified": false, @@ -29,12 +25,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973768, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973768, "trending": 15.150000000000034, - "installs_last_month": 971 + "installs_last_month": 971, + "isMobileFriendly": false }, { "name": "AnyDesk", @@ -57,12 +52,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -74,12 +65,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false }, { "name": "Maze", @@ -98,12 +88,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -115,12 +101,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -129,4 +114,4 @@ "page": 1, "totalPages": 1, "totalHits": 3 -} \ No newline at end of file +} diff --git a/backend/tests/snapshots/main__trending_last_two_weeks_locale__test_trending_last_two_weeks_locale.json b/backend/tests/snapshots/main__trending_last_two_weeks_locale__test_trending_last_two_weeks_locale.json index a22ffd5b5..6c04bbab2 100644 --- a/backend/tests/snapshots/main__trending_last_two_weeks_locale__test_trending_last_two_weeks_locale.json +++ b/backend/tests/snapshots/main__trending_last_two_weeks_locale__test_trending_last_two_weeks_locale.json @@ -12,12 +12,8 @@ "is_free_license": false, "app_id": "com.wps.Office", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.wps.Office.png", - "categories": [ - "Office" - ], - "main_categories": [ - "Office" - ], + "categories": ["Office"], + "main_categories": ["Office"], "sub_categories": [], "developer_name": "Kingsoft Office Corporation", "verification_verified": false, @@ -29,12 +25,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973768, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973768, "trending": 15.150000000000034, - "installs_last_month": 971 + "installs_last_month": 971, + "isMobileFriendly": false }, { "name": "AnyDesk", @@ -47,12 +42,8 @@ "is_free_license": false, "app_id": "com.anydesk.Anydesk", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/com.anydesk.Anydesk.png", - "categories": [ - "Network" - ], - "main_categories": [ - "Network" - ], + "categories": ["Network"], + "main_categories": ["Network"], "sub_categories": [], "developer_name": "AnyDesk Software GmbH", "verification_verified": false, @@ -64,12 +55,11 @@ "verification_timestamp": null, "runtime": "org.freedesktop.Platform/x86_64/20.08", "updated_at": 1610973790, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973790, "trending": 13.650000000000034, - "installs_last_month": 886 + "installs_last_month": 886, + "isMobileFriendly": false }, { "name": "Maze", @@ -88,12 +78,8 @@ "is_free_license": true, "app_id": "org.sugarlabs.Maze", "icon": "https://dl.flathub.org/repo/appstream/x86_64/icons/128x128/org.sugarlabs.Maze.png", - "categories": [ - "Game" - ], - "main_categories": [ - "Game" - ], + "categories": ["Game"], + "main_categories": ["Game"], "sub_categories": [], "developer_name": "Sugar Labs Community", "verification_verified": false, @@ -105,12 +91,11 @@ "verification_timestamp": null, "runtime": "org.gnome.Platform/x86_64/3.36", "updated_at": 1610973680, - "arches": [ - "x86_64" - ], + "arches": ["x86_64"], "added_at": 1610973680, "trending": 5.0, - "installs_last_month": 567 + "installs_last_month": 567, + "isMobileFriendly": false } ], "query": "", @@ -119,4 +104,4 @@ "page": 1, "totalPages": 1, "totalHits": 3 -} \ No newline at end of file +}