From 3dfeed14327e1a7c522b883cf6714c1d2f11b6d0 Mon Sep 17 00:00:00 2001 From: jeffvli Date: Mon, 8 May 2023 03:35:51 -0700 Subject: [PATCH] Invalidate playlist list on creation --- .../playlists/mutations/create-playlist-mutation.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/renderer/features/playlists/mutations/create-playlist-mutation.ts b/src/renderer/features/playlists/mutations/create-playlist-mutation.ts index 3116a165..9f0fd45c 100644 --- a/src/renderer/features/playlists/mutations/create-playlist-mutation.ts +++ b/src/renderer/features/playlists/mutations/create-playlist-mutation.ts @@ -1,12 +1,14 @@ -import { useMutation } from '@tanstack/react-query'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; import { HTTPError } from 'ky'; import { api } from '/@/renderer/api'; import { CreatePlaylistArgs, CreatePlaylistResponse } from '/@/renderer/api/types'; import { MutationHookArgs } from '/@/renderer/lib/react-query'; import { getServerById } from '/@/renderer/store'; +import { queryKeys } from '../../../api/query-keys'; export const useCreatePlaylist = (args: MutationHookArgs) => { const { options } = args || {}; + const queryClient = useQueryClient(); return useMutation< CreatePlaylistResponse, @@ -19,6 +21,12 @@ export const useCreatePlaylist = (args: MutationHookArgs) => { if (!server) throw new Error('Server not found'); return api.controller.createPlaylist({ ...args, apiClientProps: { server } }); }, + onSuccess: (_args, variables) => { + const server = getServerById(variables.serverId); + if (server) { + queryClient.invalidateQueries(queryKeys.playlists.list(server.id)); + } + }, ...options, }); };