Commit 1d4f242a authored by Omar Luna Hernández's avatar Omar Luna Hernández
Browse files

Se crea un nuevo error cuando se detecte una excepción cuando se crea un pueblo

parent 3559b78f
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ 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 { toast } from "react-toastify";
import axios, { AxiosError } from "axios";

const townDatasource = new TownDatasourceProd();
const townRepository = new TownRepositoryProd(townDatasource);
@@ -60,6 +61,7 @@ export const useTown = (forceRenderList?: () => void) => {
    setValue
  } = useForm<TownFormValues>({resolver});
  const [townsList, setTownsList] = useState<Town[] | null>(null);
  const [errorMessage, setErrorMessage] = useState("");
  
  const onSubmit: SubmitHandler<TownFormValues> = (data: TownFormValues) => {
    const fetch = async () => {
@@ -69,14 +71,25 @@ export const useTown = (forceRenderList?: () => void) => {
          forceRenderList();
        }
      }catch(error: any){

        if(axios.isAxiosError(error)){
          error as AxiosError;
          switch(error.code){
            case(axios.AxiosError.ERR_BAD_REQUEST):
              setErrorMessage("Acceso no autorizado");
              break;
            case(axios.AxiosError.ERR_NETWORK):
              setErrorMessage("Conexión con el servidor fallida");
              break;
          }
        }
        throw new Error;
      }
    }
    toast.promise(
      fetch(),{
        pending: "Subiendo datos...",
        success: "Los datos se han subido correctamente",
        error: "Sucedio un error"
        error: errorMessage
      }
    )
  }