author-shouts-counter-fix
All checks were successful
Deploy to core / deploy (push) Successful in 1m49s

This commit is contained in:
2024-01-30 11:58:17 +03:00
parent e4d7284681
commit e28f03d7db
4 changed files with 15 additions and 23 deletions

View File

@@ -27,7 +27,7 @@ logger.setLevel(logging.DEBUG)
def add_author_stat_columns(q):
shout_author_aliased = aliased(ShoutAuthor)
q = q.outerjoin(shout_author_aliased, shout_author_aliased.author == Author.id).add_columns(
q = q.outerjoin(shout_author_aliased).add_columns(
func.count(distinct(shout_author_aliased.shout)).label('shouts_stat')
)
@@ -51,9 +51,9 @@ async def get_authors_from_query(q):
for [author, shouts_stat, followers_stat, followings_stat] in session.execute(q):
author.stat = {
'shouts': shouts_stat,
'viewed': await ViewedStorage.get_author(author.slug),
'followers': followers_stat,
'followings': followings_stat,
'viewed': await ViewedStorage.get_author(author.slug),
}
authors.append(author)
return authors

View File

@@ -286,7 +286,9 @@ async def load_shouts_feed(_, info, options):
# print(q.compile(compile_kwargs={"literal_binds": True}))
for [shout, reacted_stat, commented_stat, likes_stat, dislikes_stat, _last_comment] in session.execute(q).unique():
for [shout, reacted_stat, commented_stat, likes_stat, dislikes_stat, _last_comment] in session.execute(
q
).unique():
main_topic = (
session.query(Topic.slug)
.join(
@@ -306,7 +308,7 @@ async def load_shouts_feed(_, info, options):
'viewed': await ViewedStorage.get_shout(shout.slug),
'reacted': reacted_stat,
'commented': commented_stat,
'rating': likes_stat - dislikes_stat
'rating': likes_stat - dislikes_stat,
}
shouts.append(shout)
@@ -383,7 +385,7 @@ async def get_shouts_from_query(q, author_id=None):
'reacted': reacted_stat,
'commented': commented_stat,
'rating': int(likes_stat or 0) - int(dislikes_stat or 0),
'last_comment': last_comment
'last_comment': last_comment,
}
return shouts