reaction-api-upgrade
This commit is contained in:
parent
4cb70d951a
commit
438baeb1a2
|
@ -19,8 +19,15 @@ def add_stat_columns(q):
|
|||
aliased_reaction = aliased(Reaction)
|
||||
|
||||
q = q.outerjoin(aliased_reaction).add_columns(
|
||||
func.sum(aliased_reaction.id).label("reacted_stat"),
|
||||
func.sum(case((aliased_reaction.kind == ReactionKind.COMMENT.value, 1), else_=0)).label("commented_stat"),
|
||||
# func.sum(aliased_reaction.id).label("reacted_stat"),
|
||||
func.sum(
|
||||
case(
|
||||
(aliased_reaction.kind == ReactionKind.COMMENT.value, 1),
|
||||
(aliased_reaction.kind == ReactionKind.PROOF.value, 1),
|
||||
(aliased_reaction.kind == ReactionKind.DISPROOF.value, 1),
|
||||
else_=0
|
||||
)
|
||||
).label("commented_stat"),
|
||||
func.sum(
|
||||
case(
|
||||
(aliased_reaction.kind == ReactionKind.AGREE.value, 1),
|
||||
|
@ -84,11 +91,13 @@ async def get_shout(_, _info, slug=None, shout_id=None):
|
|||
q = q.filter(Shout.deleted_at.is_(None)).group_by(Shout.id)
|
||||
|
||||
try:
|
||||
[shout, reacted_stat, commented_stat, rating_stat, _last_comment] = session.execute(q).first()
|
||||
results = session.execute(q).first()
|
||||
if results:
|
||||
[shout, commented_stat, rating_stat, _last_comment] = results
|
||||
|
||||
shout.stat = {
|
||||
"viewed": await ViewedStorage.get_shout(shout.slug),
|
||||
"reacted": reacted_stat,
|
||||
# "reacted": reacted_stat,
|
||||
"commented": commented_stat,
|
||||
"rating": rating_stat,
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user