import { hubspot } from "@hubspot/ui-extensions";

export const updateHubspotInfo = async (
  body: {
    email: string;
    phone?: string;
    mobilePhone?: string;
    whatsapp?: string;
    hubspot_id: string;
    firstName?: string;
    lastName?: string;
  },
): Promise<{
  status: "ok" | "ErrorUpdate" | "ErrorDuplicate";
}> => {
  try {
    const res = await hubspot.serverless('update_contact_function', {
      parameters: body,
    });

    console.log("Response from updateContact:", res);

    if (res.statusCode !== 200) {
      if (res.body?.error?.errors[0]?.code === "INVALID_PHONE_NUMBER") {
        alert("El número de teléfono proporcionado no es válido. Por favor, verifique el formato.");
        return {
          status: "ErrorUpdate",
        };
      }

      return {
        status: "ErrorUpdate",
      };
    }

    return { status: "ok" };
  } catch (err) {
    console.warn(err);
    return { status: "ErrorUpdate" };
  }
};
