Loading web/src/hooks/useTown.tsx +19 −6 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ import { useState } from "react"; import { TownDatasourceProd } from "../data/datasources/prod/town_datasource" import { TownRepositoryProd } from "../data/repositories/prod/town_repository"; import { FieldErrors, Resolver, SubmitHandler, useForm } from "react-hook-form"; import { Town, TownFormValues } from "../infraestructure/entities/town"; import { Town } from "../infraestructure/entities/town"; import { toast } from "react-toastify"; import axios, { AxiosError } from "axios"; import { showErrorAxios } from "../utils/Messages"; Loading @@ -10,8 +10,8 @@ import { showErrorAxios } from "../utils/Messages"; const townDatasource = new TownDatasourceProd(); const townRepository = new TownRepositoryProd(townDatasource); const resolver: Resolver<TownFormValues> = async (data) => { const errors: FieldErrors<TownFormValues> = {}; const resolver: Resolver<Town> = async (data) => { const errors: FieldErrors<Town> = {}; if (!data.name) { errors.name = { Loading Loading @@ -60,11 +60,11 @@ export const useTown = (forceRenderList?: () => void) => { handleSubmit, formState: {errors}, setValue } = useForm<TownFormValues>({resolver}); } = useForm<Town>({resolver}); const [townsList, setTownsList] = useState<Town[]>([]); const [errorMessage, setErrorMessage] = useState(""); const onSubmit: SubmitHandler<TownFormValues> = (data: TownFormValues) => { const onSubmit: SubmitHandler<Town> = (data: Town) => { const fetch = async () => { try{ await townRepository.registerTown(data); Loading Loading @@ -107,5 +107,18 @@ export const useTown = (forceRenderList?: () => void) => { } } return {register, handleSubmit, errors, onSubmit, setValue, townsList, getTownsByState, setTownsList}; const getTownById = async (idTown: number): Promise<Town | null> => { try{ const town = await townRepository.getTown(idTown); return town; }catch(error: any){ if(axios.isAxiosError(error)){ error as AxiosError; showErrorAxios(error); } } return null; } return {register, handleSubmit, errors, onSubmit, setValue, townsList, getTownsByState, setTownsList, getTownById}; } No newline at end of file Loading
web/src/hooks/useTown.tsx +19 −6 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ import { useState } from "react"; import { TownDatasourceProd } from "../data/datasources/prod/town_datasource" import { TownRepositoryProd } from "../data/repositories/prod/town_repository"; import { FieldErrors, Resolver, SubmitHandler, useForm } from "react-hook-form"; import { Town, TownFormValues } from "../infraestructure/entities/town"; import { Town } from "../infraestructure/entities/town"; import { toast } from "react-toastify"; import axios, { AxiosError } from "axios"; import { showErrorAxios } from "../utils/Messages"; Loading @@ -10,8 +10,8 @@ import { showErrorAxios } from "../utils/Messages"; const townDatasource = new TownDatasourceProd(); const townRepository = new TownRepositoryProd(townDatasource); const resolver: Resolver<TownFormValues> = async (data) => { const errors: FieldErrors<TownFormValues> = {}; const resolver: Resolver<Town> = async (data) => { const errors: FieldErrors<Town> = {}; if (!data.name) { errors.name = { Loading Loading @@ -60,11 +60,11 @@ export const useTown = (forceRenderList?: () => void) => { handleSubmit, formState: {errors}, setValue } = useForm<TownFormValues>({resolver}); } = useForm<Town>({resolver}); const [townsList, setTownsList] = useState<Town[]>([]); const [errorMessage, setErrorMessage] = useState(""); const onSubmit: SubmitHandler<TownFormValues> = (data: TownFormValues) => { const onSubmit: SubmitHandler<Town> = (data: Town) => { const fetch = async () => { try{ await townRepository.registerTown(data); Loading Loading @@ -107,5 +107,18 @@ export const useTown = (forceRenderList?: () => void) => { } } return {register, handleSubmit, errors, onSubmit, setValue, townsList, getTownsByState, setTownsList}; const getTownById = async (idTown: number): Promise<Town | null> => { try{ const town = await townRepository.getTown(idTown); return town; }catch(error: any){ if(axios.isAxiosError(error)){ error as AxiosError; showErrorAxios(error); } } return null; } return {register, handleSubmit, errors, onSubmit, setValue, townsList, getTownsByState, setTownsList, getTownById}; } No newline at end of file