unfollow-fix-2

This commit is contained in:
Untone 2024-03-11 13:37:35 +03:00
parent 1572c77882
commit e6cd0ecadc
2 changed files with 6 additions and 5 deletions

View File

@ -73,7 +73,6 @@ async def follow(_, info, what, slug):
@login_required
async def unfollow(_, info, what, slug):
follows = None
error = ''
try:
user_id = info.context.get('user_id')
if not user_id:
@ -81,6 +80,7 @@ async def unfollow(_, info, what, slug):
follower_query = select(Author).filter(Author.user == user_id)
[follower] = get_with_stat(follower_query)
if follower:
logger.info(f'@{follower.slug} unfollowing')
if what == 'AUTHOR':
if author_unfollow(follower.id, slug):
author_query = select(Author).where(Author.slug == slug)
@ -105,12 +105,11 @@ async def unfollow(_, info, what, slug):
community_unfollow(follower.id, slug)
elif what == 'REACTIONS':
reactions_unfollow(follower.id, slug)
return {'error': "", f'{what.lower()}s': follows}
except Exception as e:
error = e
import traceback
traceback.print_exc()
finally:
return {'error': str(error), f'{what.lower()}s': follows}
return {'error': str(e), f'{what.lower()}s': follows}
async def get_follows_by_user_id(user_id: str):

View File

@ -58,9 +58,11 @@ async def set_follows_authors_cache(follows, author_id: int):
async def update_follows_for_author(
follower: Author, entity_type: str, entity: dict, is_insert: bool
):
follows = []
redis_key = f'author:{follower.id}:follows-{entity_type}s'
follows_str = await redis.execute('GET', redis_key)
follows = json.loads(follows_str) if follows_str else []
if isinstance(follows_str, str):
follows = json.loads(follows_str)
if is_insert:
follows.append(entity)
else: