Skip to content

Commit

Permalink
update elastic query to handle sorting
Browse files Browse the repository at this point in the history
  • Loading branch information
devketanpro committed Dec 2, 2024
1 parent 6cb0887 commit 8fa12ef
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
7 changes: 6 additions & 1 deletion newsroom/wire/search.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,9 @@ def get_bookmarks_count(self, user_id):
except Forbidden:
return 0

def get_items(self, item_ids, size=None, aggregations=None, apply_permissions=False):
def get_items(
self, item_ids, size=None, aggregations=None, apply_permissions=False, sort_by=None, sort_order="desc"
):
search = SearchQuery()

try:
Expand All @@ -155,6 +157,9 @@ def get_items(self, item_ids, size=None, aggregations=None, apply_permissions=Fa
if aggregations is not None:
search.source["aggs"] = aggregations

if sort_by:
search.source["sort"] = [{sort_by: {"order": sort_order}}]

req = ParsedRequest()
req.args = {"source": json.dumps(search.source)}

Expand Down
9 changes: 4 additions & 5 deletions newsroom/wire/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -545,15 +545,14 @@ def item(_id):
@login_required
def items(_ids):
item_ids = _ids.split(",")
items = superdesk.get_resource_service("wire_search").get_items(item_ids)
items = superdesk.get_resource_service("wire_search").get_items(
item_ids, sort_by="versioncreated", sort_order="desc"
)
for item in items:
set_permissions(
item,
"wire",
False if flask.request.args.get("ignoreLatest") == "false" else True,
)

# Sorting the list by versioncreated in descending order
sorted_items = sorted(items.docs, key=lambda item: item["versioncreated"], reverse=True)

return jsonify(sorted_items), 200
return jsonify(items.docs), 200

0 comments on commit 8fa12ef

Please sign in to comment.