author-cache-removed
This commit is contained in:
@@ -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:
|
||||
|
@@ -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}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user