import { UseAccessToken } from "@/utils/conditions/getAccessToken";
import { getAxiosClient, makeGetRequest } from "./client";

type AccessToken = string | null | undefined;
type id = number;
export async function getCustomers(access_token: AccessToken) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, "/api/v1/customers");
}

export async function getSingleCustomers(access_token: AccessToken, id: id) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, `/api/v1/customers/details/${id}`);
}
export async function getSingleCarrierContactNames(
  access_token: AccessToken,
  id: id,
) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, `/api/v1/carriers/get-contact/${id}`);
}
export async function getSingleCarrier(access_token: AccessToken, id: id) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, `/api/v1/carriers/business-details/${id}`);
}
export async function getGeneralInformation(access_token: AccessToken, id: id) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, `/api/v1/client/details/${id}`);
}

export async function getMyFavCarriers(access_token: AccessToken, id) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, `/api/v1/customers/get-my-carriers/${id}`);
}
export async function getMyFavCarriersQuote(access_token: AccessToken, id: id) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(client, `/api/v1/customers/carrier/email/log/${id}`);
}
export async function favList(
  access_token: AccessToken,
  market: any,
  terminal: any,
  id,
) {
  const accessToken = await UseAccessToken();
  const client = getAxiosClient(accessToken);
  return makeGetRequest(
    client,
    `/api/v1/customers/favorite/carrier/email/${id}?market=${market}&terminal_id=${terminal}`,
  );
}
