import { GET, POST, PUT, DELETE } from "./http";
import type { AudioEncodeBaseRes, AudioEncodeRes, CreateAudioEncodeReq, UpdateAudioEncodeReq, AudioEncodeDetailRes, EncodeReq } from "../types/audioencode";

/**
 * 获取文件列表
 * @returns 文件列表
 */
export async function GetAudioEncode(data: EncodeReq) {
  return await GET<AudioEncodeRes>(`/audioencode`, data);
}

/**
 * 创建
 * @param data 创建参数
 */
export async function CreateAudioEncode(data: CreateAudioEncodeReq) {
  return await POST<AudioEncodeBaseRes>(`/audioencode`, data);
}


/**
 * 重新转码
 * @param id ID
 */
export async function GetAudioEncodeCode(id: number) {
  return await GET<AudioEncodeBaseRes>(`/audioencode/${id}/code`);
}

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

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

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