import { ConvertJSONToFormData, ServerRequest } from "@/lib/actions";
import sendToPlatform from "@/services/projects/sendToPlatform";
import { socket } from "@/socket";
import dayjs from "dayjs";
import { toast } from "sonner";

type HandleSendToPlatformProps = {
  name: string;
  email: string;
  id?: string;
  dict?: Dictionary;
};
export default async function handleSendToPlatform({
  id,
  name,
  email,
  dict,
}: HandleSendToPlatformProps) {
  const promise = new Promise(async (resolve, reject) => {
    const formData = ConvertJSONToFormData({
      name,
      email,
    });

    const result = await ServerRequest(sendToPlatform(formData));

    if (!result.operation) {
      return reject(result);
    }

    socket.emit("send-to-platform", { name });

    return resolve(result);
  });

  toast.promise(promise, {
    loading: dict.alerts.toggle_project_status.loading,
    description: dayjs().format("MMM DD, YYYY HH:MM:ss"),
    success: ({ message }: any) => message,
    error: ({ message }: any) => message,
  });
}
