import request from '@/utils/request'

// 查询生成表数据
export function listTable(query) {
  return request({
    url: '/code/gen/list',
    method: 'get',
    params: query
  })
}

// 查询db数据库列表
export function listDbTable(query) {
  return request({
    url: '/code/gen/db/list',
    method: 'get',
    params: query
  })
}

// 查询db所有数据库列表
export function listDbTableAll() {
  return request({
    url: '/code/gen/db/listAll',
    method: 'get'
  })
}

// 查询表详细信息
export function getGenTable(tableId) {
  return request({
    url: '/code/gen/' + tableId,
    method: 'get'
  })
}

// 修改代码生成信息
export function updateGenTable(data) {
  return request({
    url: '/code/gen',
    method: 'put',
    data: data
  })
}

// 导入表
export function importTable(tables, dbName) {
  return request({
    url: '/code/gen/importTable',
    method: 'post',
    params: {
      tables: tables,
      dbName: dbName
    }
  })
}

// 预览生成代码
export function previewTable(tableId) {
  return request({
    url: '/code/gen/preview/' + tableId,
    method: 'get'
  })
}

// 删除表数据
export function delTable(tableId) {
  return request({
    url: '/code/gen/' + tableId,
    method: 'delete'
  })
}

// 生成代码（自定义路径）
export function genCode(tableName) {
  return request({
    url: '/code/gen/genCode/' + tableName,
    method: 'get'
  })
}

// 同步数据库
export function synchDb(tableName,dbName) {
  return request({
    url: '/code/gen/synchDb/' + tableName+'/'+dbName,
    method: 'get'
  })
}

// 查询所有数据库名称
export function selDbNameAll() {
  return request({
    url: '/code/gen/selDbNameAll',
    method: 'get'
  })
}

// 根据数据库名称与表名称查询表字段
export function selectDbTableColumnsByName(dbName,table) {
  return request({
    url: '/code/gen/selectDbTableColumnsByName',
    method: 'get',
    params: {
      dbName: dbName,
      table: table
    }
  })
}
