import { requestClient } from '#/api/request';

const prefix = 'code/';
// /**
//  * 分页查询代码生成列表
//  * @param data
//  */
// export async function getAdminList(data: any) {
//   return requestClient.get<any>(`${prefix}list`, { params: data });
// }
// /**
//  * 分页查询代码生成列表
//  * @param data
//  */
// export async function getAdminAccountBalance(data: any = {}) {
//   return requestClient.get<any>(`${prefix}my-balance`, { params: data });
// }
//
// /**
//  * 获取代码生成详情
//  * @param id
//  */
// export async function getAdminInfo(id: number) {
//   return requestClient.get<any>(`${prefix}detail`, { params: { id } });
// }

/**
 * 代码生成记录
 * @param data
 */
export async function getCodeGenerationListApi(data: Record<string, any> = {}) {
  return requestClient.get<any>(`${prefix}list`, { params: data });
}
/**
 * 代码生成
 * @param data
 */
export async function generationApi(data: Record<string, any>) {
  return requestClient.post<any>(`${prefix}generation`, data);
}

/**
 * 批量代码生成
 * @param data 数组格式的代码生成数据
 */
export async function batchGenerationApi(data: Record<string, any>[]) {
  return requestClient.post<any>(`${prefix}batch-generation`, data);
}

/**
 * 下载压缩包信息
 */
export async function downloadInfoApi(id: any) {
  return requestClient.get(`${prefix}download-info`, { params: { id } });
}

/**
 * 下载压缩包
 */
export async function codeGenerationDownloadApi(id: any) {
  return requestClient.download(`${prefix}download?id=${id}`);
}

/**
 * 获取数据库表列表
 */
export async function getTablesApi() {
  return requestClient.get<any>(`${prefix}get-tables`);
}

/**
 * 获取表结构
 * @param tableName 表名
 */
export async function getTableStructureApi(tableName: string) {
  return requestClient.get<any>(`${prefix}get-table-structure`, { params: { table_name: tableName } });
}

/**
 * 从数据库表生成代码生成数据
 * @param data 包含表名和其他配置的数据
 */
export async function generateFromTableApi(data: Record<string, any>) {
  return requestClient.post<any>(`${prefix}generate-from-table`, data);
}
