import { createCoreAPIClient } from "../coreClient";
import type { Destination } from "./types";

const coreClient = createCoreAPIClient();

export async function addDestination(payload: {
  code: string;
  content_id: string;
}) {
  const response = await coreClient<Destination>("/admin/v1/destinations", {
    method: "POST",
    body: JSON.stringify(payload),
  });
  return response;
}

export async function deleteDestination(payload: { id: string }) {
  const response = await coreClient<Destination>(
    `/admin/v1/destinations/${payload.id}`,
    {
      method: "DELETE",
    },
  );
  return response;
}

export async function updateDestination(payload: {
  id: string;
  code?: string;
  content_id?: string;
  is_active?: boolean;
  is_deleted?: boolean;
}) {
  const response = await coreClient<Destination>(
    `/admin/v1/destinations/${payload.id}`,
    {
      method: "PATCH",
      body: JSON.stringify({
        code: payload.code,
        content_id: payload.content_id,
        is_active: payload.is_active,
        is_deleted: payload.is_deleted,
      }),
    },
  );
  return response;
}
