Portal/rsconcept/frontend/src/features/library/backend/useRenameLocation.tsx

25 lines
804 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';
import { 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: () =>
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
};
};