From dd840b63cae23ffaff2addd274e36b843d0f7fb0 Mon Sep 17 00:00:00 2001 From: Untone Date: Fri, 29 Mar 2024 02:56:25 +0300 Subject: [PATCH] rating-fix-8 --- resolvers/rating.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/resolvers/rating.py b/resolvers/rating.py index e8405c72..0135c24f 100644 --- a/resolvers/rating.py +++ b/resolvers/rating.py @@ -142,27 +142,29 @@ def add_rating_columns(q, group_list): ) # by shouts rating + shout_reaction = aliased(Reaction) shouts_rating_subq = ( select( Author.id, func.coalesce(func.sum( case( - (Reaction.kind == ReactionKind.LIKE.value, 1), - (Reaction.kind == ReactionKind.DISLIKE.value, -1), + (shout_reaction.kind == ReactionKind.LIKE.value, 1), + (shout_reaction.kind == ReactionKind.DISLIKE.value, -1), else_=0 ) )).label('shouts_rating') ) - .select_from(Reaction) + .select_from(shout_reaction) .outerjoin( Shout, - Shout.authors.any(Author.id == Author.id) + Shout.authors.any(id=Author.id) ) .outerjoin( - Reaction, + shout_reaction, and_( - Reaction.shout == Shout.id, - Reaction.deleted_at.is_(None), + shout_reaction.reply_to.is_(None), + shout_reaction.shout == Shout.id, + shout_reaction.deleted_at.is_(None), ), ) .group_by(Author.id)