IO-3000 Adjusted first approach at messaging WS changes.

This commit is contained in:
Patrick Fic
2024-11-19 15:52:57 -08:00
parent 289a666b6d
commit 299a675a9c
22 changed files with 1952 additions and 2570 deletions

View File

@@ -1,70 +1,70 @@
export default async function FcmHandler({ client, payload }) {
console.log("FCM", payload);
switch (payload.type) {
case "messaging-inbound":
client.cache.modify({
id: client.cache.identify({
__typename: "conversations",
id: payload.conversationid
}),
fields: {
messages_aggregate(cached) {
return { aggregate: { count: cached.aggregate.count + 1 } };
}
}
});
client.cache.modify({
fields: {
messages_aggregate(cached) {
return { aggregate: { count: cached.aggregate.count + 1 } };
}
}
});
break;
case "messaging-outbound":
client.cache.modify({
id: client.cache.identify({
__typename: "conversations",
id: payload.conversationid
}),
fields: {
updated_at(oldupdated0) {
return new Date();
}
// messages_aggregate(cached) {
// return { aggregate: { count: cached.aggregate.count + 1 } };
// },
}
});
break;
case "messaging-mark-conversation-read":
let previousUnreadCount = 0;
client.cache.modify({
id: client.cache.identify({
__typename: "conversations",
id: payload.conversationid
}),
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.");
break;
}
// switch (payload.type) {
// case "messaging-inbound":
// client.cache.modify({
// id: client.cache.identify({
// __typename: "conversations",
// id: payload.conversationid
// }),
// fields: {
// messages_aggregate(cached) {
// return { aggregate: { count: cached.aggregate.count + 1 } };
// }
// }
// });
// client.cache.modify({
// fields: {
// messages_aggregate(cached) {
// return { aggregate: { count: cached.aggregate.count + 1 } };
// }
// }
// });
// break;
// case "messaging-outbound":
// client.cache.modify({
// id: client.cache.identify({
// __typename: "conversations",
// id: payload.conversationid
// }),
// fields: {
// updated_at(oldupdated0) {
// return new Date();
// }
// // messages_aggregate(cached) {
// // return { aggregate: { count: cached.aggregate.count + 1 } };
// // },
// }
// });
// break;
// case "messaging-mark-conversation-read":
// let previousUnreadCount = 0;
// client.cache.modify({
// id: client.cache.identify({
// __typename: "conversations",
// id: payload.conversationid
// }),
// 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.");
// break;
// }
}