fix(frontend): keep entity and message deletes in sync

This commit is contained in:
2026-03-27 03:38:41 -03:00
parent 726c8f3afd
commit 433874d11e
7 changed files with 112 additions and 4 deletions

View File

@@ -255,8 +255,15 @@ export default function EditTaskPage() {
const deleteGeneratedMessageMutation = useMutation({
mutationFn: (messageId: string) => deleteTaskGeneratedMessage(taskId, messageId),
onSuccess: async () => {
await queryClient.invalidateQueries({ queryKey: ['task-generated-messages', taskId] })
onSuccess: ( _data, messageId) => {
queryClient.setQueryData(
['task-generated-messages', taskId],
(
currentMessages:
| Awaited<ReturnType<typeof getTaskGeneratedMessages>>
| undefined
) => currentMessages?.filter((message) => message.id !== messageId) ?? []
)
},
})

View File

@@ -37,7 +37,13 @@ export default function EntitiesPage() {
const deleteMutation = useMutation({
mutationFn: (id: string) => deleteEntity(id),
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['entities'] }),
onSuccess: (_data, id) => {
queryClient.setQueryData(
['entities'],
(currentEntities: Awaited<ReturnType<typeof getEntities>> | undefined) =>
currentEntities?.filter((entity) => entity.id !== id) ?? []
)
},
})
return (