Portal/rsconcept/frontend/src/features/library/backend/use-rename-location.ts

26 lines
830 B
TypeScript
Raw Normal View History

2025-01-23 19:41:31 +03:00
import { useMutation, useQueryClient } from '@tanstack/react-query';
import { KEYS } from '@/backend/configuration';
import { libraryApi } from './api';
2025-02-20 20:22:05 +03:00
import { type IRenameLocationDTO } from './types';
2025-01-23 19:41:31 +03:00
export const useRenameLocation = () => {
const client = useQueryClient();
const mutation = useMutation({
mutationKey: [libraryApi.baseKey, 'rename-location'],
mutationFn: libraryApi.renameLocation,
onSuccess: async () => {
await Promise.allSettled([
client.invalidateQueries({ queryKey: [KEYS.library] }),
client.invalidateQueries({ queryKey: [KEYS.rsform] }),
client.invalidateQueries({ queryKey: [KEYS.oss] })
]);
},
onError: () => client.invalidateQueries()
2025-01-23 19:41:31 +03:00
});
return {
2025-02-11 20:15:34 +03:00
renameLocation: (data: IRenameLocationDTO) => mutation.mutateAsync(data)
2025-01-23 19:41:31 +03:00
};
};