import formatAxiosErrors, { formatMessageErrors, formatResponse, } from "../utils/formatResponse"; import { AxiosInstance } from "axios"; import searchKeyAccountMock from "../mocks/search_key_account"; export interface GetParams { key: string; } const initializeService = (fetcher: AxiosInstance, isMock: boolean) => { const get = async (key: string) => { // MOCK TRUE if (isMock) { return formatResponse( searchKeyAccountMock, false, "Listado com sucesso" ); } // MOCK FALSE try { const response = await fetcher.request({ url: "/search-key-account/", method: "get", params: { key, }, }); if (!response.data) { return formatMessageErrors("Erro de api"); } if ( response.status === 401 || response.status === 400 || response.status === 500 ) { return formatResponse(response.data, true, "Erro na chamada"); } return formatResponse(response.data, false, "Listado com sucesso"); } catch (err) { return formatAxiosErrors(err); } }; return { get, }; }; export default initializeService;