This commit is contained in:
parent
0d618116e1
commit
b73cce5431
|
@ -155,7 +155,6 @@ async def _create_reaction(session, shout, author_id: int, reaction):
|
||||||
await update_author_stat(author_id)
|
await update_author_stat(author_id)
|
||||||
|
|
||||||
rdict["shout"] = shout.dict()
|
rdict["shout"] = shout.dict()
|
||||||
rdict["created_by"] = author_id
|
|
||||||
rdict["stat"] = {"commented": 0, "reacted": 0, "rating": 0}
|
rdict["stat"] = {"commented": 0, "reacted": 0, "rating": 0}
|
||||||
|
|
||||||
# notifications call
|
# notifications call
|
||||||
|
@ -203,12 +202,13 @@ def prepare_new_rating(reaction: dict, shout_id: int, session, author_id: int):
|
||||||
@mutation.field("create_reaction")
|
@mutation.field("create_reaction")
|
||||||
@login_required
|
@login_required
|
||||||
async def create_reaction(_, info, reaction):
|
async def create_reaction(_, info, reaction):
|
||||||
logger.debug(f"{info.context} for {reaction}")
|
# logger.debug(f"{info.context} for {reaction}")
|
||||||
info.context.get("user_id")
|
info.context.get("user_id")
|
||||||
author_id = info.context.get("author", {}).get("id")
|
author_dict = info.context.get("author", {})
|
||||||
shout_id = reaction.get("shout")
|
if not isinstance(author_dict, dict):
|
||||||
if not author_id:
|
|
||||||
return {"error": "Unauthorized"}
|
return {"error": "Unauthorized"}
|
||||||
|
author_id = author_dict.get("id")
|
||||||
|
shout_id = reaction.get("shout")
|
||||||
if not shout_id:
|
if not shout_id:
|
||||||
return {"error": "Shout ID is required to create a reaction."}
|
return {"error": "Shout ID is required to create a reaction."}
|
||||||
|
|
||||||
|
@ -235,7 +235,7 @@ async def create_reaction(_, info, reaction):
|
||||||
rdict = await _create_reaction(session, shout, author_id, reaction)
|
rdict = await _create_reaction(session, shout, author_id, reaction)
|
||||||
|
|
||||||
# TODO: call recount ratings periodically
|
# TODO: call recount ratings periodically
|
||||||
|
rdict["created_by"] = author_dict
|
||||||
return {"reaction": rdict}
|
return {"reaction": rdict}
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
import traceback
|
import traceback
|
||||||
|
|
|
@ -67,7 +67,9 @@ def after_shout_update(_mapper, _connection, shout: Shout):
|
||||||
.filter(ShoutAuthor.shout == shout.id) # Filter by shout.id
|
.filter(ShoutAuthor.shout == shout.id) # Filter by shout.id
|
||||||
)
|
)
|
||||||
|
|
||||||
for author_with_stat in get_with_stat(authors_query):
|
authors_updated = get_with_stat(authors_query)
|
||||||
|
|
||||||
|
for author_with_stat in authors_updated:
|
||||||
asyncio.create_task(cache_author(author_with_stat.dict()))
|
asyncio.create_task(cache_author(author_with_stat.dict()))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user