import http from '@/api'

/**
 * @name 查询生成表数据
 * @param query 参数
 * @returns 返回列表
 */
export const listTableApi = (query: any) => {
  return http.get<any>('/tool/gen/list', query, { loading: true })
}

/**
 * @name 查询db数据库列表
 * @param query 参数
 * @returns 返回列表
 */
export const listDbTableApi = (query: any) => {
  return http.get<any>('/tool/gen/db/list', query, { loading: true })
}

/**
 * @name 查询表详细信息
 * @param tableId tableId
 * @returns returns
 */
export const getTableApi = (tableId: any) => {
  return http.get<any>(`/tool/gen/${tableId}`)
}

/**
 * @name 修改代码生成信息
 * @param data data
 * @returns returns
 */
export const updateGenTableApi = (data: any) => {
  return http.put<any>('/tool/gen', data, { loading: false })
}

/**
 * @name 导入表
 * @param data data
 * @returns returns
 */
export const importTableApi = (data: any) => {
  return http.post<any>('/tool/gen/importTable', data, { loading: false })
}

/**
 * @name 预览生成代码
 * @param tableId tableId
 * @returns returns
 */
export const previewTableApi = (tableId: any) => {
  return http.get<any>(`/tool/gen/preview/${tableId}`)
}

/**
 * @name 删除表数据
 * @param tableId tableId
 * @returns returns
 */
export const delTableApi = (tableId: any) => {
  return http.delete<any>(`/tool/gen/${tableId}`)
}

/**
 * @name 生成代码（自定义路径）
 * @param tableId tableId
 * @returns returns
 */
export const genCodeApi = (tableId: any) => {
  return http.get<any>(`/tool/gen/genCode/${tableId}`)
}

/**
 * @name 同步数据库
 * @param tableName tableName
 * @returns returns
 */
export const synchDbApi = (tableName: any) => {
  return http.get<any>(`/tool/gen/syncDb/${tableName}`)
}

/**
 * @name 生成代码操作
 * @param tableId tableId
 * @returns returns
 */
export const batchGenCodeApi = (tableId: any) => {
  return http.downloadGet(`/tool/gen/batchGenCode?tables=${tableId}`)
}
