magen
Version:
Magen, generate react apps with module architecture
50 lines (45 loc) • 1.31 kB
Plain Text
import { AxiosError } from "axios";
import { axios } from "~/lib/axios";
import { useQuery, useMutation } from "@tanstack/react-query";
type ExampleResponse = {
message: string;
};
export const {{lowerFirstLetterSectionName}}Router = {
example: () => {
const result = useQuery({
queryKey: ["example{{sectionName}}"],
queryFn: async () => {
try {
const res = await axios.get<ExampleResponse>("/example");
return res.data;
} catch (error) {
if (error instanceof AxiosError) {
throw new Error(
error.response?.data.message ?? "Error desconocido"
);
}
throw new Error("Error desconocido");
}
},
});
return result;
},
exampleMutate: () => {
const mutation = useMutation({
mutationFn: async () => {
try {
const res = await axios.post<ExampleResponse>("/example");
return res.data;
} catch (error) {
if (error instanceof AxiosError) {
throw new Error(
error.response?.data.message ?? "Error desconocido"
);
}
throw new Error("Error desconocido");
}
},
});
return mutation;
},
};