R: Fix onSuccess typing for react-query

This commit is contained in:
Ivan 2025-06-05 15:46:01 +03:00
parent 53d8dfc3d6
commit 2b65b19d08
22 changed files with 49 additions and 45 deletions

View File

@ -10,12 +10,13 @@ export const useRenameLocation = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [libraryApi.baseKey, 'rename-location'], mutationKey: [libraryApi.baseKey, 'rename-location'],
mutationFn: libraryApi.renameLocation, mutationFn: libraryApi.renameLocation,
onSuccess: () => onSuccess: async () => {
Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.library] }), client.invalidateQueries({ queryKey: [KEYS.library] }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }), client.invalidateQueries({ queryKey: [KEYS.rsform] }),
client.invalidateQueries({ queryKey: [KEYS.oss] }) client.invalidateQueries({ queryKey: [KEYS.oss] })
]), ]);
},
onError: () => client.invalidateQueries() onError: () => client.invalidateQueries()
}); });
return { return {

View File

@ -16,12 +16,12 @@ export const useSetAccessPolicy = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-location'], mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-location'],
mutationFn: libraryApi.setAccessPolicy, mutationFn: libraryApi.setAccessPolicy,
onSuccess: (_, variables) => { onSuccess: async (_, variables) => {
const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID }); const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID });
const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey); const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey);
if (ossData) { if (ossData) {
client.setQueryData(ossKey, { ...ossData, access_policy: variables.policy }); client.setQueryData(ossKey, { ...ossData, access_policy: variables.policy });
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
...ossData.operations ...ossData.operations
.map(item => { .map(item => {
@ -33,6 +33,7 @@ export const useSetAccessPolicy = () => {
}) })
.filter(item => !!item) .filter(item => !!item)
]); ]);
return;
} }
const rsKey = KEYS.composite.rsItem({ itemID: variables.itemID }); const rsKey = KEYS.composite.rsItem({ itemID: variables.itemID });

View File

@ -12,12 +12,12 @@ export const useSetEditors = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-location'], mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-location'],
mutationFn: libraryApi.setEditors, mutationFn: libraryApi.setEditors,
onSuccess: (_, variables) => { onSuccess: async (_, variables) => {
const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID }); const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID });
const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey); const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey);
if (ossData) { if (ossData) {
client.setQueryData(ossKey, { ...ossData, editors: variables.editors }); client.setQueryData(ossKey, { ...ossData, editors: variables.editors });
return Promise.allSettled( await Promise.allSettled(
ossData.operations ossData.operations
.map(item => { .map(item => {
if (!item.result) { if (!item.result) {
@ -28,6 +28,7 @@ export const useSetEditors = () => {
}) })
.filter(item => !!item) .filter(item => !!item)
); );
return;
} }
const rsKey = KEYS.composite.rsItem({ itemID: variables.itemID }); const rsKey = KEYS.composite.rsItem({ itemID: variables.itemID });

View File

@ -16,12 +16,12 @@ export const useSetLocation = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-location'], mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-location'],
mutationFn: libraryApi.setLocation, mutationFn: libraryApi.setLocation,
onSuccess: (_, variables) => { onSuccess: async (_, variables) => {
const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID }); const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID });
const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey); const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey);
if (ossData) { if (ossData) {
client.setQueryData(ossKey, { ...ossData, location: variables.location }); client.setQueryData(ossKey, { ...ossData, location: variables.location });
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: libraryApi.libraryListKey }), client.invalidateQueries({ queryKey: libraryApi.libraryListKey }),
...ossData.operations ...ossData.operations
.map(item => { .map(item => {
@ -33,6 +33,7 @@ export const useSetLocation = () => {
}) })
.filter(item => !!item) .filter(item => !!item)
]); ]);
return;
} }
const rsKey = KEYS.composite.rsItem({ itemID: variables.itemID }); const rsKey = KEYS.composite.rsItem({ itemID: variables.itemID });

View File

@ -16,12 +16,12 @@ export const useSetOwner = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-owner'], mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'set-owner'],
mutationFn: libraryApi.setOwner, mutationFn: libraryApi.setOwner,
onSuccess: (_, variables) => { onSuccess: async (_, variables) => {
const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID }); const ossKey = KEYS.composite.ossItem({ itemID: variables.itemID });
const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey); const ossData: IOperationSchemaDTO | undefined = client.getQueryData(ossKey);
if (ossData) { if (ossData) {
client.setQueryData(ossKey, { ...ossData, owner: variables.owner }); client.setQueryData(ossKey, { ...ossData, owner: variables.owner });
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: libraryApi.libraryListKey }), client.invalidateQueries({ queryKey: libraryApi.libraryListKey }),
...ossData.operations ...ossData.operations
.map(item => { .map(item => {

View File

@ -16,7 +16,7 @@ export const useUpdateItem = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'update-item'], mutationKey: [KEYS.global_mutation, libraryApi.baseKey, 'update-item'],
mutationFn: libraryApi.updateItem, mutationFn: libraryApi.updateItem,
onSuccess: (data: ILibraryItem) => { onSuccess: async (data: ILibraryItem) => {
const itemKey = const itemKey =
data.item_type === LibraryItemType.RSFORM data.item_type === LibraryItemType.RSFORM
? KEYS.composite.rsItem({ itemID: data.id }) ? KEYS.composite.rsItem({ itemID: data.id })
@ -30,7 +30,7 @@ export const useUpdateItem = () => {
if (data.item_type === LibraryItemType.RSFORM) { if (data.item_type === LibraryItemType.RSFORM) {
const schema: IRSFormDTO | undefined = client.getQueryData(itemKey); const schema: IRSFormDTO | undefined = client.getQueryData(itemKey);
if (schema) { if (schema) {
return Promise.allSettled( await Promise.allSettled(
schema.oss.map(item => client.invalidateQueries({ queryKey: KEYS.composite.ossItem({ itemID: item.id }) })) schema.oss.map(item => client.invalidateQueries({ queryKey: KEYS.composite.ossItem({ itemID: item.id }) }))
); );
} }

View File

@ -10,9 +10,9 @@ export const useCreateInput = () => {
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: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.oss.id }).queryKey, data.oss);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -10,9 +10,9 @@ export const useDeleteBlock = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'delete-block'], mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'delete-block'],
mutationFn: ossApi.deleteBlock, mutationFn: ossApi.deleteBlock,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -10,9 +10,9 @@ export const useDeleteOperation = () => {
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,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -10,9 +10,9 @@ export const useExecuteOperation = () => {
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: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -10,9 +10,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: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -10,9 +10,9 @@ export const useRelocateConstituents = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'relocate-constituents'], mutationKey: [KEYS.global_mutation, ossApi.baseKey, 'relocate-constituents'],
mutationFn: ossApi.relocateConstituents, mutationFn: ossApi.relocateConstituents,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -10,9 +10,9 @@ export const useUpdateInput = () => {
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: data => { onSuccess: async data => {
client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(ossApi.getOssQueryOptions({ itemID: data.id }).queryKey, data);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: KEYS.composite.libraryList }), client.invalidateQueries({ queryKey: KEYS.composite.libraryList }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }) client.invalidateQueries({ queryKey: [KEYS.rsform] })
]); ]);

View File

@ -13,11 +13,11 @@ export const useCreateConstituenta = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'create-constituenta'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'create-constituenta'],
mutationFn: rsformsApi.createConstituenta, mutationFn: rsformsApi.createConstituenta,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
updateTimestamp(data.schema.id); updateTimestamp(data.schema.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -13,11 +13,11 @@ export const useDeleteConstituents = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'delete-constituents'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'delete-constituents'],
mutationFn: rsformsApi.deleteConstituents, mutationFn: rsformsApi.deleteConstituents,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
updateTimestamp(data.id); updateTimestamp(data.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -13,11 +13,11 @@ export const useInlineSynthesis = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'inline-synthesis'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'inline-synthesis'],
mutationFn: rsformsApi.inlineSynthesis, mutationFn: rsformsApi.inlineSynthesis,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
updateTimestamp(data.id); updateTimestamp(data.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -12,11 +12,11 @@ export const useProduceStructure = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'produce-structure'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'produce-structure'],
mutationFn: rsformsApi.produceStructure, mutationFn: rsformsApi.produceStructure,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
updateTimestamp(data.schema.id); updateTimestamp(data.schema.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -13,11 +13,11 @@ export const useRenameConstituenta = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'rename-constituenta'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'rename-constituenta'],
mutationFn: rsformsApi.renameConstituenta, mutationFn: rsformsApi.renameConstituenta,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.schema.id }).queryKey, data.schema);
updateTimestamp(data.schema.id); updateTimestamp(data.schema.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -12,11 +12,11 @@ export const useResetAliases = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'reset-aliases'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'reset-aliases'],
mutationFn: rsformsApi.resetAliases, mutationFn: rsformsApi.resetAliases,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
updateTimestamp(data.id); updateTimestamp(data.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -13,11 +13,11 @@ export const useSubstituteConstituents = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'substitute-constituents'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'substitute-constituents'],
mutationFn: rsformsApi.substituteConstituents, mutationFn: rsformsApi.substituteConstituents,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data); client.setQueryData(rsformsApi.getRSFormQueryOptions({ itemID: data.id }).queryKey, data);
updateTimestamp(data.id); updateTimestamp(data.id);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],

View File

@ -13,10 +13,10 @@ export const useUpdateConstituenta = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'update-constituenta'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'update-constituenta'],
mutationFn: rsformsApi.updateConstituenta, mutationFn: rsformsApi.updateConstituenta,
onSuccess: (_, variables) => { onSuccess: async (_, variables) => {
updateTimestamp(variables.itemID); updateTimestamp(variables.itemID);
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ queryKey: [rsformsApi.baseKey] }) client.invalidateQueries({ queryKey: [rsformsApi.baseKey] })
]); ]);

View File

@ -12,13 +12,13 @@ export const useUploadTRS = () => {
const mutation = useMutation({ const mutation = useMutation({
mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'load-trs'], mutationKey: [KEYS.global_mutation, rsformsApi.baseKey, 'load-trs'],
mutationFn: rsformsApi.upload, mutationFn: rsformsApi.upload,
onSuccess: data => { onSuccess: async data => {
client.setQueryData(KEYS.composite.rsItem({ itemID: data.id }), data); client.setQueryData(KEYS.composite.rsItem({ itemID: data.id }), data);
client.setQueryData(KEYS.composite.libraryList, (prev: ILibraryItem[] | undefined) => client.setQueryData(KEYS.composite.libraryList, (prev: ILibraryItem[] | undefined) =>
prev?.map(item => (item.id === data.id ? data : item)) prev?.map(item => (item.id === data.id ? data : item))
); );
return Promise.allSettled([ await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.oss] }), client.invalidateQueries({ queryKey: [KEYS.oss] }),
client.invalidateQueries({ client.invalidateQueries({
queryKey: [rsformsApi.baseKey], queryKey: [rsformsApi.baseKey],