feature/IO-3048-Fix-Job-Bug-Messaging - Fix tag weirdness and a vite error
Signed-off-by: Dave Richer <dave@imexsystems.ca>
This commit is contained in:
@@ -334,12 +334,47 @@ export const registerMessagingHandlers = ({ socket, client }) => {
|
||||
break;
|
||||
|
||||
case "tag-added":
|
||||
// Ensure `job_conversations` is properly formatted
|
||||
const formattedJobConversations = job_conversations.map((jc) => ({
|
||||
__typename: "job_conversations",
|
||||
jobid: jc.jobid || jc.job?.id,
|
||||
conversationid: conversationId,
|
||||
job: jc.job || {
|
||||
__typename: "jobs",
|
||||
id: data.selectedJob.id,
|
||||
ro_number: data.selectedJob.ro_number,
|
||||
ownr_co_nm: data.selectedJob.ownr_co_nm,
|
||||
ownr_fn: data.selectedJob.ownr_fn,
|
||||
ownr_ln: data.selectedJob.ownr_ln
|
||||
}
|
||||
}));
|
||||
|
||||
client.cache.modify({
|
||||
id: client.cache.identify({ __typename: "conversations", id: conversationId }),
|
||||
fields: {
|
||||
job_conversations: (existing = []) => [...existing, ...job_conversations]
|
||||
job_conversations: (existing = []) => {
|
||||
// Ensure no duplicates based on `jobid`
|
||||
const existingIds = new Set(
|
||||
existing.map(
|
||||
(jc) =>
|
||||
client.cache.readFragment({
|
||||
id: client.cache.identify(jc),
|
||||
fragment: gql`
|
||||
fragment JobConversationId on job_conversations {
|
||||
jobid
|
||||
}
|
||||
`
|
||||
})?.jobid
|
||||
)
|
||||
);
|
||||
|
||||
const newItems = formattedJobConversations.filter((jc) => !existingIds.has(jc.jobid));
|
||||
|
||||
return [...existing, ...newItems];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
break;
|
||||
|
||||
case "tag-removed":
|
||||
|
||||
Reference in New Issue
Block a user