mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-08-14 04:40:36 +03:00
B: Fix cache invalidation logic
This commit is contained in:
parent
48c1c61647
commit
7ec53509b1
|
@ -4,17 +4,14 @@ import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { libraryApi } from './api';
|
import { libraryApi } from './api';
|
||||||
import { type ICreateVersionDTO } from './types';
|
import { type ICreateVersionDTO } from './types';
|
||||||
import { useUpdateTimestamp } from './use-update-timestamp';
|
|
||||||
|
|
||||||
export const useCreateVersion = () => {
|
export const useCreateVersion = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'create-version'],
|
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'create-version'],
|
||||||
mutationFn: libraryApi.createVersion,
|
mutationFn: libraryApi.createVersion,
|
||||||
onSuccess: data => {
|
onSuccess: data => {
|
||||||
client.setQueryData(KEYS.composite.rsItem({ itemID: data.schema.id }), data.schema);
|
client.setQueryData(KEYS.composite.rsItem({ itemID: data.schema.id }), data.schema);
|
||||||
updateTimestamp(data.schema.id);
|
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -9,11 +9,11 @@ export function useUpdateTimestamp() {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const libraryKey = useLibraryListKey();
|
const libraryKey = useLibraryListKey();
|
||||||
return {
|
return {
|
||||||
updateTimestamp: (target: number, timestamp?: string) =>
|
updateTimestamp: (target: number, timestamp: string) =>
|
||||||
client.setQueryData(
|
client.setQueryData(
|
||||||
libraryKey, //
|
libraryKey, //
|
||||||
(prev: RO<ILibraryItem[]> | undefined) =>
|
(prev: RO<ILibraryItem[]> | undefined) =>
|
||||||
prev?.map(item => (item.id === target ? { ...item, time_update: timestamp ?? Date() } : item))
|
prev?.map(item => (item.id === target ? { ...item, time_update: timestamp } : item))
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,13 +7,12 @@ import { type ICloneSchemaDTO } from './types';
|
||||||
|
|
||||||
export const useCloneSchema = () => {
|
export const useCloneSchema = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'clone-schema'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'clone-schema'],
|
||||||
mutationFn: ossApi.cloneSchema,
|
mutationFn: ossApi.cloneSchema,
|
||||||
onSuccess: data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.oss.id, data.oss.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
||||||
|
await client.invalidateQueries({ queryKey: KEYS.composite.libraryList });
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,12 +7,10 @@ import { type ITargetOperation } from './types';
|
||||||
|
|
||||||
export const useCreateInput = () => {
|
export const useCreateInput = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'create-input'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'create-input'],
|
||||||
mutationFn: ossApi.createInput,
|
mutationFn: ossApi.createInput,
|
||||||
onSuccess: async data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.oss.id, data.oss.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,13 +7,12 @@ import { type ICreateSchemaDTO } from './types';
|
||||||
|
|
||||||
export const useCreateSchema = () => {
|
export const useCreateSchema = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'create-schema'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'create-schema'],
|
||||||
mutationFn: ossApi.createSchema,
|
mutationFn: ossApi.createSchema,
|
||||||
onSuccess: data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.oss.id, data.oss.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
||||||
|
await client.invalidateQueries({ queryKey: KEYS.composite.libraryList });
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,13 +7,12 @@ import { type ICreateSynthesisDTO } from './types';
|
||||||
|
|
||||||
export const useCreateSynthesis = () => {
|
export const useCreateSynthesis = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'create-synthesis'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'create-synthesis'],
|
||||||
mutationFn: ossApi.createSynthesis,
|
mutationFn: ossApi.createSynthesis,
|
||||||
onSuccess: data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.oss.id, data.oss.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
||||||
|
await client.invalidateQueries({ queryKey: KEYS.composite.libraryList });
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -21,10 +21,6 @@ export const useDeleteBlock = () => {
|
||||||
}
|
}
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
|
||||||
client.invalidateQueries({ queryKey: [KEYS.rsform] })
|
|
||||||
]);
|
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
|
@ -10,7 +8,6 @@ import { type IDeleteOperationDTO } from './types';
|
||||||
|
|
||||||
export const useDeleteOperation = () => {
|
export const useDeleteOperation = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'delete-operation'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'delete-operation'],
|
||||||
mutationFn: ossApi.deleteOperation,
|
mutationFn: ossApi.deleteOperation,
|
||||||
|
@ -19,7 +16,6 @@ export const useDeleteOperation = () => {
|
||||||
variables.beforeUpdate();
|
variables.beforeUpdate();
|
||||||
await new Promise(resolve => setTimeout(resolve, PARAMETER.minimalTimeout));
|
await new Promise(resolve => setTimeout(resolve, PARAMETER.minimalTimeout));
|
||||||
}
|
}
|
||||||
updateTimestamp(data.id, data.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
import { PARAMETER } from '@/utils/constants';
|
import { PARAMETER } from '@/utils/constants';
|
||||||
|
|
||||||
|
@ -10,7 +8,6 @@ import { type IDeleteReplicaDTO } from './types';
|
||||||
|
|
||||||
export const useDeleteReplica = () => {
|
export const useDeleteReplica = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'delete-replica'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'delete-replica'],
|
||||||
mutationFn: ossApi.deleteReplica,
|
mutationFn: ossApi.deleteReplica,
|
||||||
|
@ -19,7 +16,6 @@ export const useDeleteReplica = () => {
|
||||||
variables.beforeUpdate();
|
variables.beforeUpdate();
|
||||||
await new Promise(resolve => setTimeout(resolve, PARAMETER.minimalTimeout));
|
await new Promise(resolve => setTimeout(resolve, PARAMETER.minimalTimeout));
|
||||||
}
|
}
|
||||||
updateTimestamp(data.id, data.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,12 +7,10 @@ import { type ITargetOperation } from './types';
|
||||||
|
|
||||||
export const useExecuteOperation = () => {
|
export const useExecuteOperation = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'execute-operation'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'execute-operation'],
|
||||||
mutationFn: ossApi.executeOperation,
|
mutationFn: ossApi.executeOperation,
|
||||||
onSuccess: async data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,13 +7,12 @@ import { type IImportSchemaDTO } from './types';
|
||||||
|
|
||||||
export const useImportSchema = () => {
|
export const useImportSchema = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'import-schema'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'import-schema'],
|
||||||
mutationFn: ossApi.importSchema,
|
mutationFn: ossApi.importSchema,
|
||||||
onSuccess: data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.oss.id, data.oss.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
|
||||||
|
await client.invalidateQueries({ queryKey: KEYS.composite.libraryList });
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -13,13 +13,9 @@ export const useMoveItems = () => {
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'move-items'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'move-items'],
|
||||||
mutationFn: ossApi.moveItems,
|
mutationFn: ossApi.moveItems,
|
||||||
onSuccess: async data => {
|
onSuccess: data => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
|
||||||
client.invalidateQueries({ queryKey: [KEYS.rsform] })
|
|
||||||
]);
|
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
||||||
|
|
||||||
import { useUpdateTimestamp } from '@/features/library/backend/use-update-timestamp';
|
|
||||||
|
|
||||||
import { KEYS } from '@/backend/configuration';
|
import { KEYS } from '@/backend/configuration';
|
||||||
|
|
||||||
import { ossApi } from './api';
|
import { ossApi } from './api';
|
||||||
|
@ -9,12 +7,10 @@ import { type IUpdateInputDTO } from './types';
|
||||||
|
|
||||||
export const useUpdateInput = () => {
|
export const useUpdateInput = () => {
|
||||||
const client = useQueryClient();
|
const client = useQueryClient();
|
||||||
const { updateTimestamp } = useUpdateTimestamp();
|
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'update-input'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'update-input'],
|
||||||
mutationFn: ossApi.updateInput,
|
mutationFn: ossApi.updateInput,
|
||||||
onSuccess: async data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
|
||||||
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
|
||||||
|
|
|
@ -14,7 +14,7 @@ export const useUpdateOperation = () => {
|
||||||
const mutation = useMutation({
|
const mutation = useMutation({
|
||||||
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'update-operation'],
|
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'update-operation'],
|
||||||
mutationFn: ossApi.updateOperation,
|
mutationFn: ossApi.updateOperation,
|
||||||
onSuccess: (data, variables) => {
|
onSuccess: async (data, variables) => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(KEYS.composite.ossItem({ itemID: data.id }), data);
|
client.setQueryData(KEYS.composite.ossItem({ itemID: data.id }), data);
|
||||||
const schemaID = data.operations.find(item => item.id === variables.data.target)?.result;
|
const schemaID = data.operations.find(item => item.id === variables.data.target)?.result;
|
||||||
|
@ -28,7 +28,7 @@ export const useUpdateOperation = () => {
|
||||||
item.id === schemaID ? { ...item, ...variables.data.item_data, time_update: Date() } : item
|
item.id === schemaID ? { ...item, ...variables.data.item_data, time_update: Date() } : item
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
return client.invalidateQueries({
|
await client.invalidateQueries({
|
||||||
queryKey: KEYS.composite.rsItem({ itemID: schemaID })
|
queryKey: KEYS.composite.rsItem({ itemID: schemaID })
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -16,13 +16,10 @@ export const useCreateConstituenta = () => {
|
||||||
onSuccess: async data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.schema.id, data.schema.time_update);
|
updateTimestamp(data.schema.id, data.schema.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
|
||||||
await Promise.allSettled([
|
await client.invalidateQueries({
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
queryKey: [rsformsApi.baseKey],
|
||||||
client.invalidateQueries({
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.schema.id)
|
||||||
queryKey: [rsformsApi.baseKey],
|
});
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.schema.id)
|
|
||||||
})
|
|
||||||
]);
|
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -17,7 +17,7 @@ export const useDeleteConstituents = () => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
client.invalidateQueries({ queryKey: [KEYS.oss] }), // substitutions might have changed
|
||||||
client.invalidateQueries({
|
client.invalidateQueries({
|
||||||
queryKey: [rsformsApi.baseKey],
|
queryKey: [rsformsApi.baseKey],
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
||||||
|
|
|
@ -17,7 +17,7 @@ export const useInlineSynthesis = () => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
client.invalidateQueries({ queryKey: [KEYS.oss] }), // substitutions might have changed
|
||||||
client.invalidateQueries({
|
client.invalidateQueries({
|
||||||
queryKey: [rsformsApi.baseKey],
|
queryKey: [rsformsApi.baseKey],
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
||||||
|
|
|
@ -15,13 +15,10 @@ export const useProduceStructure = () => {
|
||||||
onSuccess: async data => {
|
onSuccess: async data => {
|
||||||
updateTimestamp(data.schema.id, data.schema.time_update);
|
updateTimestamp(data.schema.id, data.schema.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
|
||||||
await Promise.allSettled([
|
await client.invalidateQueries({
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
queryKey: [rsformsApi.baseKey],
|
||||||
client.invalidateQueries({
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.schema.id)
|
||||||
queryKey: [rsformsApi.baseKey],
|
});
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.schema.id)
|
|
||||||
})
|
|
||||||
]);
|
|
||||||
},
|
},
|
||||||
onError: () => client.invalidateQueries()
|
onError: () => client.invalidateQueries()
|
||||||
});
|
});
|
||||||
|
|
|
@ -16,7 +16,7 @@ export const useResetAliases = () => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
client.invalidateQueries({ queryKey: [KEYS.oss] }), // substitutions might have changed
|
||||||
client.invalidateQueries({
|
client.invalidateQueries({
|
||||||
queryKey: [rsformsApi.baseKey],
|
queryKey: [rsformsApi.baseKey],
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
||||||
|
|
|
@ -17,7 +17,7 @@ export const useSubstituteConstituents = () => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
client.invalidateQueries({ queryKey: [KEYS.oss] }), // substitutions might have changed
|
||||||
client.invalidateQueries({
|
client.invalidateQueries({
|
||||||
queryKey: [rsformsApi.baseKey],
|
queryKey: [rsformsApi.baseKey],
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
||||||
|
|
|
@ -17,7 +17,7 @@ export const useUpdateConstituenta = () => {
|
||||||
updateTimestamp(data.id, data.time_update);
|
updateTimestamp(data.id, data.time_update);
|
||||||
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
client.invalidateQueries({ queryKey: [KEYS.oss] }), // substitutions might have changed
|
||||||
client.invalidateQueries({
|
client.invalidateQueries({
|
||||||
queryKey: [rsformsApi.baseKey],
|
queryKey: [rsformsApi.baseKey],
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
||||||
|
|
|
@ -19,7 +19,7 @@ export const useUploadTRS = () => {
|
||||||
);
|
);
|
||||||
|
|
||||||
await Promise.allSettled([
|
await Promise.allSettled([
|
||||||
client.invalidateQueries({ queryKey: [KEYS.oss] }),
|
client.invalidateQueries({ queryKey: [KEYS.oss] }), // substitutions might have changed
|
||||||
client.invalidateQueries({
|
client.invalidateQueries({
|
||||||
queryKey: [rsformsApi.baseKey],
|
queryKey: [rsformsApi.baseKey],
|
||||||
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
predicate: query => query.queryKey.length > 2 && query.queryKey[2] !== String(data.id)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user