fix double prepend

This commit is contained in:
tonyrewin 2022-11-26 02:35:26 +03:00
parent 152c3362a0
commit dec9efc49b
2 changed files with 14 additions and 11 deletions

View File

@ -63,12 +63,14 @@ async def create_chat(_, info, title="", members=[]):
cids = await redis.execute("SMEMBERS", f"chats_by_user/{user.slug}") cids = await redis.execute("SMEMBERS", f"chats_by_user/{user.slug}")
for cid in cids: for cid in cids:
c = await redis.execute("GET", F"chats/{cid.decode('utf-8')}") c = await redis.execute("GET", F"chats/{cid.decode('utf-8')}")
isc = [x for x in c["users"] if x not in chat["users"]] if c:
if isc == [] and chat["title"] == c["title"]: c = json.loads(c)
return { isc = [x for x in c["users"] if x not in chat["users"]]
"error": "chat was created before", if isc == [] and chat["title"] == c["title"]:
"chat": chat return {
} "error": "chat was created before",
"chat": chat
}
for m in members: for m in members:
await redis.execute("SADD", f"chats_by_user/{m}", chat_id) await redis.execute("SADD", f"chats_by_user/{m}", chat_id)

View File

@ -98,11 +98,12 @@ async def topic_follow(user, slug):
async def topic_unfollow(user, slug): async def topic_unfollow(user, slug):
with local_session() as session: with local_session() as session:
sub = ( sub = (
session.query(TopicFollower) session.query(TopicFollower).filter(
.filter( and_(
and_(TopicFollower.follower == user.slug, TopicFollower.topic == slug) TopicFollower.follower == user.slug,
) TopicFollower.topic == slug
.first() )
).first()
) )
if not sub: if not sub:
raise Exception("[resolvers.topics] follower not exist") raise Exception("[resolvers.topics] follower not exist")