From 26d83aba7aefb8849fe795876d0e978e2bfe5a7a Mon Sep 17 00:00:00 2001 From: Untone Date: Wed, 7 Aug 2024 13:51:35 +0300 Subject: [PATCH] json-agg-fix --- resolvers/reader.py | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/resolvers/reader.py b/resolvers/reader.py index d3f1fd56..9122a1b7 100644 --- a/resolvers/reader.py +++ b/resolvers/reader.py @@ -10,7 +10,7 @@ from sqlalchemy.sql.expression import ( select, text, ) -from sqlalchemy.dialects.postgresql import array_agg +from sqlalchemy.dialects.postgresql import json_agg from orm.author import Author, AuthorFollower from orm.reaction import Reaction, ReactionKind from orm.shout import Shout, ShoutAuthor, ShoutTopic, ShoutReactionsFollower @@ -48,32 +48,32 @@ def query_shouts(): ) ).label("rating_stat"), func.max(aliased_reaction.created_at).label("last_reacted_at"), - array_agg( + json_agg( func.distinct( - func.json_build_object( - "id", - Author.id, - "name", - Author.name, - "slug", - Author.slug, - "pic", - Author.pic, - ) + func.json_build_object( + "id", + Author.id, + "name", + Author.name, + "slug", + Author.slug, + "pic", + Author.pic, + ) ) ).label("authors"), - array_agg( + json_agg( func.distinct( - func.json_build_object( - "id", - Topic.id, - "title", - Topic.title, - "body", - Topic.body, - "slug", - Topic.slug, - ) + func.json_build_object( + "id", + Topic.id, + "title", + Topic.title, + "body", + Topic.body, + "slug", + Topic.slug, + ) ) ).label("topics"), )