From 3e05b21c909f3ad7fd2a8067c6b293d539834a3e Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Tue, 7 Nov 2023 08:55:59 -0800 Subject: [PATCH] IO-2426 Add FCM Cache update for conversation aggregate count. --- client/src/utils/fcm-handler.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/client/src/utils/fcm-handler.js b/client/src/utils/fcm-handler.js index 07193e8b6..9a0f4472c 100644 --- a/client/src/utils/fcm-handler.js +++ b/client/src/utils/fcm-handler.js @@ -12,6 +12,13 @@ export default async function FcmHandler({ client, payload }) { }, }, }); + client.cache.modify({ + fields: { + messages_aggregate(cached) { + return { aggregate: { count: cached.aggregate.count + 1 } }; + }, + }, + }); break; case "messaging-outbound": client.cache.modify({ @@ -30,6 +37,7 @@ export default async function FcmHandler({ client, payload }) { }); break; case "messaging-mark-conversation-read": + let previousUnreadCount = 0; client.cache.modify({ id: client.cache.identify({ __typename: "conversations", @@ -37,10 +45,22 @@ export default async function FcmHandler({ client, payload }) { }), fields: { messages_aggregate(cached) { + previousUnreadCount = cached.aggregate.count; return { aggregate: { count: 0 } }; }, }, }); + client.cache.modify({ + fields: { + messages_aggregate(cached) { + return { + aggregate: { + count: cached.aggregate.count - previousUnreadCount, + }, + }; + }, + }, + }); break; default: console.log("No payload type set.");