delete task and update task
This commit is contained in:
@@ -1,6 +1,14 @@
|
||||
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||
import * as api from "../service/TaskService";
|
||||
import { CreateTaskType } from "../types/TaskTypes";
|
||||
import { CreateTaskType, UpdateTaskType } from "../types/TaskTypes";
|
||||
|
||||
export const useGetTaskDetail = (id: string, enabled = true) => {
|
||||
return useQuery({
|
||||
queryKey: ["task-detail", id],
|
||||
queryFn: () => api.getTaskDetail(id),
|
||||
enabled: !!id && enabled,
|
||||
});
|
||||
};
|
||||
|
||||
export const useCreateTask = () => {
|
||||
const queryClient = useQueryClient();
|
||||
@@ -12,3 +20,28 @@ export const useCreateTask = () => {
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateTask = () => {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: ({ id, params }: { id: string; params: UpdateTaskType }) => api.updateTask(id, params),
|
||||
onSuccess: (_data, variables) => {
|
||||
queryClient.invalidateQueries({ queryKey: ["task-detail", variables.id] });
|
||||
queryClient.invalidateQueries({ queryKey: ["project"] });
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
export const useDeleteTask = () => {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation({
|
||||
mutationFn: ({ id }: { id: string; projectId: string }) => api.deleteTask(id),
|
||||
onSuccess: (_data, variables) => {
|
||||
queryClient.invalidateQueries({ queryKey: ["task-detail", variables.id] });
|
||||
queryClient.invalidateQueries({ queryKey: ["project", variables.projectId] });
|
||||
queryClient.invalidateQueries({ queryKey: ["project"] });
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user