From 4afd688fbecc17bb8de63d1a392de0ef2c07e54e Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 17 Jul 2023 11:50:59 +0200 Subject: [PATCH] count unread messages on create room --- backend/src/schema/resolvers/rooms.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/schema/resolvers/rooms.ts b/backend/src/schema/resolvers/rooms.ts index f87f89f2e..b0ff6925e 100644 --- a/backend/src/schema/resolvers/rooms.ts +++ b/backend/src/schema/resolvers/rooms.ts @@ -29,13 +29,16 @@ export default { ON CREATE SET room.createdAt = toString(datetime()), room.id = apoc.create.uuid() - WITH room, user, currentUser, + WITH room, user, currentUser + OPTIONAL MATCH (room)<-[:INSIDE]-(message:Message)<-[:CREATED]-(sender:User) + WHERE NOT sender.id = $currentUserId AND NOT message.seen + WITH room, user, currentUser, message, user.name AS roomName RETURN room { .*, users: [properties(currentUser), properties(user)], roomName: roomName, - unreadCount: toString(0) + unreadCount: toString(COUNT(DISTINCT message)) } ` const createRommTxResponse = await transaction.run(createRoomCypher, {