import { useQuery, useMutation, useQueryClient } from "react-query"; import api from "../services/api"; import { Processo } from "../types/entities"; export const useProcessos = () => { const queryClient = useQueryClient(); const { data: processos = [], isLoading } = useQuery( "processos", async () => { const response = await api.get("/processos"); return response.data; }, ); const getProcesso = async (id: string) => { const response = await api.get(`/processos/${id}`); return response.data; }; // Corrigido para usar createProcesso como mutação const createProcesso = useMutation( async (data: Partial) => { const response = await api.post("/processos", data); return response.data; }, { onSuccess: () => { queryClient.invalidateQueries("processos"); }, }, ); // Corrigido para usar updateProcesso como mutação const updateProcesso = useMutation( async ({ id, data }: { id: string; data: Partial }) => { const response = await api.put(`/processos/${id}`, data); return response.data; }, { onSuccess: () => { queryClient.invalidateQueries("processos"); }, }, ); // Corrigido para usar deleteProcesso como mutação const deleteProcesso = useMutation( async (id: string) => { await api.delete(`/processos/${id}`); }, { onSuccess: () => { queryClient.invalidateQueries("processos"); }, }, ); const updateResultado = useMutation( async ({ id, resultado }: { id: string; resultado: string }) => { const response = await api.patch(`/processos/${id}/resultado`, { resultado, }); return response.data; }, { onSuccess: () => { queryClient.invalidateQueries("processos"); }, }, ); return { processos, isLoading, getProcesso, createProcesso, updateProcesso, deleteProcesso, // Retornando a mutação updateResultado, }; };