Files
Chromacase/front/utils/likeSongMutation.ts
Clément Le Bihan 495380ec43 Fix CI
2023-12-29 18:13:40 +01:00

20 lines
590 B
TypeScript

import { useMutation, useQueryClient } from 'react-query';
import API from '../API';
/**
* Mutation to like/unlike a song
*/
export const useLikeSongMutation = () => {
const queryClient = useQueryClient();
return useMutation(({ songId, like }: { songId: number; like: boolean }) => {
const apiCall = like ? API.addLikedSong : API.removeLikedSong;
return apiCall(songId).then(() => {
queryClient.invalidateQueries({ queryKey: ['liked songs'] });
queryClient.invalidateQueries({ queryKey: ['songs'] });
queryClient.invalidateQueries({ queryKey: [songId] });
});
});
};