author-cache-removed

This commit is contained in:
2024-04-19 14:28:21 +03:00
parent 41af1a7349
commit 3c219bfa69
4 changed files with 24 additions and 77 deletions

View File

@@ -6,7 +6,7 @@ from typing import Any, Dict, List, Optional, Union
from models.chat import ChatPayload
from resolvers.chats import create_chat
from services.auth import login_required
from services.core import CacheStorage
from services.core import get_author_by_id
from services.rediscache import redis
from services.schema import query
@@ -113,12 +113,15 @@ async def load_chats(
member_ids = c["members"].copy()
c["members"] = []
for member_id in member_ids:
a = CacheStorage.authors_by_id.get(str(member_id))
if a:
a["online"] = a.get("id") in members_online
c["members"].append(a)
else:
logger.error(f"cant find author by id {member_id}")
if isinstance(member_id, int):
a = await get_author_by_id(int(member_id))
if a:
a["online"] = a.get("id") in members_online
c["members"].append(a)
else:
logger.error(f"cant find author by id {member_id}")
elif 'members' in member_id and member_id not in c['members']:
c['members'].append(member_id)
chats.append(c)
else:

View File

@@ -3,7 +3,7 @@ from typing import Any, Dict, List, Union
from resolvers.load import load_messages
from services.auth import login_required
from services.core import CacheStorage
from services.core import get_author_by_id
from services.rediscache import redis
from services.schema import query
@@ -24,14 +24,11 @@ async def search_recipients(_, info, text: str, limit: int = 50, offset: int = 0
members_ids = await redis.execute("SMEMBERS", f"/chats/{chat_id}/members")
if isinstance(members_ids, set):
for member_id in members_ids:
author = CacheStorage.authors_by_id.get(str(member_id))
author = await get_author_by_id(member_id)
if author:
if author["name"].startswith(text):
result.add(author)
more_amount = limit - len(result)
if more_amount > 0:
result.update(CacheStorage.authors[0:more_amount])
return {"members": list(result), "error": None}