Skip to content

Commit

Permalink
Add useUpdateProgramManagementMutation hook
Browse files Browse the repository at this point in the history
  • Loading branch information
AleksTeresh committed Oct 9, 2024
1 parent 0d28fc5 commit f63723c
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions src/client/hooks/useProgramManagementMutation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,41 @@ export const useDeleteProgramManagementMutation = () => {

return mutation
}

interface UpdateProgramManagementData {
programManagementId: string
isThesisApprover: boolean
}
export const useUpdateProgramManagementMutation = () => {
const mutationFn = async ({
programManagementId,
isThesisApprover,
}: UpdateProgramManagementData) => {
await apiClient.put(`/program-managements/${programManagementId}`, {
isThesisApprover,
})
}

const mutation = useMutation({
mutationFn,
onSuccess: (_, { programManagementId, isThesisApprover }) => {
queryClient.setQueryData(
['program-managements'],
(oldData: ProgramManagementData[]) =>
oldData.map((programManagement) =>
programManagement.id === programManagementId
? {
...programManagement,
isThesisApprover,
}
: programManagement
)
)
queryClient.invalidateQueries({
queryKey: ['program-managements'],
})
},
})

return mutation
}

0 comments on commit f63723c

Please sign in to comment.