All files / src/services/api businessProfile.ts

93.33% Statements 14/15
75% Branches 3/4
80% Functions 4/5
93.33% Lines 14/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51              49x         24x   24x           49x         24x   24x           49x 48x 48x 24x 24x 24x     48x     49x            
import { customInstance } from ".";
import { buildMerchantEndpoints } from "./utils.api";
 
type TOptions = {
  filter: string;
};
 
export const getLegalEntityByID = (
  id: number,
  merchantId?: number,
  options?: Partial<TOptions>,
) => {
  const url = addOptionsToURL(`legal-entities/${id}`, options);
 
  return customInstance({
    url: buildMerchantEndpoints(url, merchantId),
    method: "GET",
  });
};
 
export const getLegalEntities = (
  merchantId?: number,
  options?: TOptions,
  useGlobalEndpoint?: boolean,
) => {
  const url = addOptionsToURL(`legal-entities`, options);
 
  return customInstance({
    url: useGlobalEndpoint ? url : buildMerchantEndpoints(url, merchantId),
    method: "GET",
  });
};
 
const addOptionsToURL = (baseURL: string, options?: Partial<TOptions>) => {
  let URL = baseURL;
  if (options) {
    URL += "?";
    Object.keys(options).forEach(
      (option) => (URL += `&${option}=${options[option as keyof TOptions]}`),
    );
  }
  return URL;
};
 
export const updateLegalEntity = (id: number, data: any) =>
  customInstance({
    url: buildMerchantEndpoints(`legal-entities/${id}`),
    method: "PATCH",
    data: data,
  });