delete-reaction-fix
Some checks failed
Deploy on push / deploy (push) Failing after 18s

This commit is contained in:
Untone 2024-03-06 12:03:26 +03:00
parent cb535cffea
commit 8bbbe2b0c7

View File

@ -284,15 +284,15 @@ async def update_reaction(_, info, reaction):
@mutation.field('delete_reaction') @mutation.field('delete_reaction')
@login_required @login_required
async def delete_reaction(_, info, reaction_id: int): async def delete_reaction(_, info, reaction_id: int):
user_id = info.context['user_id'] user_id = info.context.get('user_id')
roles = info.context['roles'] roles = info.context('roles', [])
if isinstance(reaction_id, int) and user_id and isinstance(roles, list): if isinstance(reaction_id, int) and user_id and isinstance(roles, list):
with local_session() as session: with local_session() as session:
try: try:
author = session.query(Author).filter(Author.user == user_id).one() author = session.query(Author).filter(Author.user == user_id).one()
r = session.query(Reaction).filter(Reaction.id == reaction_id).one() r = session.query(Reaction).filter(Reaction.id == reaction_id).one()
if r and author: if r and author:
if r.created_by is author.id and 'editor' not in roles: if r.created_by != author.id and 'editor' not in roles:
return {'error': 'access denied'} return {'error': 'access denied'}
if r.kind in [ReactionKind.LIKE.value, ReactionKind.DISLIKE.value]: if r.kind in [ReactionKind.LIKE.value, ReactionKind.DISLIKE.value]: