import axios from "axios";
import { UseAccessToken } from "@/utils/conditions/getAccessToken";
const baseURL = process.env.NEXT_PUBLIC_API_BASE_URL;
type AccessToken = string | null | undefined;
type Token = string | null | undefined;
function getAxiosClient(access_token: AccessToken) {
  const client = axios.create({
    baseURL: baseURL,
  });
  client.interceptors.request.use((config) => {
    config.headers["Accept"] = "application/json";
    if (access_token) {
      config.headers["Authorization"] = `Bearer ${access_token}`;
    }
    return config;
  });

  return client;
}
export async function CustomerAccessorialFeesUpload(token: Token, file: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/upload-accessorial-fee`, file, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function fallBackCsvUpload(token: Token, file: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/fallback/file/upload`, file, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CarriersCsvUpload(token: Token, file: any) {
 
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/carrier/file/update`, file, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function CsvUploadssl(token: Token, file: any) {
  try {
    const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/ssl/file/upload`, file, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function MarketTerminalUpload(token: Token, file: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/market/file/import`, file, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CustomerFuelSurchargeUpoad(token: Token, file: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/customers/fuel-surcharge-upload`,
      file,
      {
        headers: {
          "Content-Type": "multipart/form-data",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function CarrierFuelSurchargeUpoad(token: Token, file: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/carriers/fuel-surcharge-upload`,
      file,
      {
        headers: {
          "Content-Type": "multipart/form-data",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function AdminFuelSurchargeUpoad(token: Token, file: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/admin/fuel-surcharge-upload`,
      file,
      {
        headers: {
          "Content-Type": "multipart/form-data",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CarrierLogoUpdate(token: Token, id: number, logo: any) {
  try {
    const postElment = {
      carrier_id: id,
      logo: logo,
    };

     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/carriers/logo/update`,
      postElment,
      {
        headers: {
          "Content-Type": "multipart/form-data",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function AdminLogoUpdate(token: Token, logo: any) {
  try {
    const postElment = {
      // carrier_id: id,
      logo: logo,
    };

     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/admin/logo/update`,
      postElment,
      {
        headers: {
          "Content-Type": "multipart/form-data",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CustomerLogoUpdate(token: Token, id: number, logo: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/customers/update-logo/${id}`,
      logo,
      {
        headers: {
          "Content-Type": "multipart/form-data",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function CarrierBillingAddressUpdate(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/carriers/update/billings-details/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function getAssociateDetails(
  token: Token,
  id: number,
  
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/child/user/listing`,
      id,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function CustomerChildAdd(token: Token, payload: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/customers/child/create`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function ChildUpdate(token: Token, payload: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/invite/child/user`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function cancelSubscriptionDetails(token: Token, payload: any) {
  
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/subscriptions/remaining-days`,
      {user_id: payload},
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function sendCancelReq(token: Token, id: any,reason: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/subscriptions/cancel/message`,
      {
        cancel_reasons: reason, payment_id: id },
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CustomerChildUpdate(token: Token, payload: any, id: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/customers/child/update/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
// export async function UpdateAssociate(token: Token, payload: any, id: any) {
//   try {
//      const accessToken = await UseAccessToken();
//      const client = getAxiosClient(accessToken);
//     const response = await client.post(
//       `/api/v1/customers/child/update/${id}`,
//       payload,
//       {
//         headers: {
//           "Content-Type": "application/json",
//         },
//       },
//     );
//     return response.data;
//   } catch (error: any) {
//     return {
//       ...error.response?.data,
//       status_code: error.response?.status,
//     };
//   }
// }

export async function AssociateChildUpdate(token: Token, payload: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/assign/direct/permission`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function GetAccociateDetails(token: Token, payload: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/child/user/details`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}


export async function CustomerChilddeleteid(token: any, id: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/customers/child/delete/${id}`);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function userDelete(token: any, id: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/users/delete`, id);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function userRestore(token: any, id: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/restore/users`, id);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CustomerBillingAddressUpdate(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/customers/update/billings-details/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function SubscriptionUpdate(
  token: Token,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/subscription/details/update`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function Subscription(
  token: Token,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/subscription/status/update`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function GetGeneralInfoUpdate(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/general/info/update`,
      {
        "business_company": payload?.business_company,
        "phone": payload?.business_phone.replace(/\D/g, ""),
        "business_fax": payload?.business_fax,
        "business_address": payload?.business_address,
        "business_web_site": payload?.business_web_site,
        "scac_code": payload?.scac_code,
        "city": payload?.business_city,
        "country": payload?.country,
        "state": payload?.business_state_code,
        "business_zip": payload?.business_zip,
        "is_active": payload?.is_active,
        "leagal_name": payload?.leagal_name,
        "mc_number": payload?.mc_number ? payload?.mc_number:null,
        "dot_number": payload?.dot_number ? payload?.dot_number : null,
        "sw_dba_name": payload?.sw_dba_name === "N/A" ? null : payload?.sw_dba_name,
        "sw_drivers_total": payload?.sw_drivers_total === "N/A" ? null : payload?.sw_drivers_total ,
        "sw_power_units_total": payload?.sw_power_units_total === "N/A" ? null : payload?.sw_power_units_total,
        "entity_type": payload?.entity_type,
        "user_id": payload?.user_id
      },

      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function BillingInfoUpdate(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/billing/info/update`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function BusinessAddressUpdate(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/customers/update/business-details/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function BusinessCarrierUpdate(token: Token, payload: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/carrier/web/update`, payload, {
      headers: {
        "Content-Type": "application/json",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function sendBulletin(token: Token, payload: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/carriers/bulletin/update`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function ContactNamesUpdateCarrier(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/carriers/add-contact/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function BusinessAddressUpdateCarrier(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/carriers/update/business-details/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function UserAddressUpdateCarrier(
  token: Token,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/client/business/update`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CustomerAdditionalContacts(token: Token, id: number) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/customers/get-contact/${id}`);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function getfuel(token: Token) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/fuel/surchage/file`);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function getAccesorialfuel(token: Token) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/accessorial/file`);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function getCarrierparsonalDetails(token: Token, id: number) {
  try {
    if (!id) {
      return {
        status: "error"
      }
    }
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/carriers/info/details/${id}`, {
      headers: {
        "Content-Type": "application/json",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function carrierparsonalDetailsUpdate(
  token: Token,
  id: number,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/carriers/update/personal-details/${id}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function getCustomersparsonalDetails(token: Token, id: number) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/customers/details/${id}`, {
      headers: {
        "Content-Type": "application/json",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function customersparsonalDetailsUpdate(
  token: Token,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.put(
      `/api/v1/customers/parsonal/info/update`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function carriersinfoDetails(token: Token, id: number) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/carriers/info/details/${id}`, {
      headers: {
        "Content-Type": "application/json",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function carriersinfoDetailsUpdate(
  token: string,
  payload: string,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(`/api/v1/carriers/info/update`, payload);
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function carrierLogoGet(token: Token, id: number) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/carriers/logo/${id}`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function notificationCount(token: Token) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/all/notification`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function adminLogoGet(token: Token, id: number) {

  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/admin/logo`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function customerLogoGet(token: Token, id: number) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/customers/logo/${id}`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function GetId(token: Token) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/blocked/carrier/ids`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function CustomerContactDetails(
  token: Token,
  Carrierid: any,
  payload: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/customers/add-contact/${Carrierid}`,
      payload,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function seenStatus(
  token: Token,
  Carrierid: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/notification/seen`,
       Carrierid,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function seenAllStatus(
  token: Token,
  Carrierid: any,
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/quote/notification/seen`,
       Carrierid,
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function AllseenStatus(
  token: Token,
  
) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/all/notification/seen`,
       
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function AccessorialUpload(token: Token, payload: any, id: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.post(
      `/api/v1/customers/update/website/terms/${id}`,
      {
        business_web_site: payload?.business_web_site,
        business_address: payload?.business_address,
      },
      {
        headers: {
          "Content-Type": "application/json",
        },
      },
    );
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

export async function WebsiteDetails(token: Token) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/customers/website`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}
export async function GetDetails(token: Token, id: any) {
  try {
     const accessToken = await UseAccessToken();
    const client = getAxiosClient(accessToken);
    const response = await client.get(`/api/v1/drayage-quote-details/${id}`, {
      headers: {
        "Content-Type": "multipart/form-data",
      },
    });
    return response.data;
  } catch (error: any) {
    return {
      ...error.response?.data,
      status_code: error.response?.status,
    };
  }
}

