import { GET, POST, PUT, DELETE } from "./http";
import type { VqdTaskTemplateBaseRes, VqdTaskTemplateRes, CreateVqdTaskTemplateReq, UpdateVqdTaskTemplateReq, VqdTaskTemplateDetailRes, VqdTaskTemplateReq } from "../types/vqdtasktemplate";

/**
 * 获取列表
 * @returns 列表
 */
export async function GetVqdTaskTemplate(data: VqdTaskTemplateReq) {
  return await GET<VqdTaskTemplateRes>(`/template`, data);
}

/**
 * 创建
 * @param data 创建参数
 */
export async function CreateVqdTaskTemplate(data: CreateVqdTaskTemplateReq) {
  return await POST<VqdTaskTemplateBaseRes>(`/template`, data);
}

/**
 * 获取详情
 * @param id ID
 */
export async function GetVqdTaskTemplateById(id: string) {
  return await GET<VqdTaskTemplateDetailRes>(`/template/${id}`);
}

/**
 * 更新
 * @param data 更新参数（需包含 id）
 */
export async function UpdateVqdTaskTemplate(data: UpdateVqdTaskTemplateReq) {
  const { id, ...payload } = data;
  return await PUT<VqdTaskTemplateBaseRes>(`/template/${id}`, payload);
}

/**
 * 删除
 * @param id ID
 */
export async function DeleteVqdTaskTemplate(id: number) {
  return await DELETE<VqdTaskTemplateBaseRes>(`/template/${id}`);
}
