import request from '@/config/axios'

// nl2sql配置 VO
export interface Nl2sqlVO {
  id: number // 角色编号
  embeddingModelId: number // 向量模型编号
  embeddingModel: string // 向量模型标识
  name: string // 业务名称
  datasourceId: number // 数据源ID
  tableNames: string // 表名,半角逗号分割
  vectorStoreFile: string // 向量存储文件路径
}

// nl2sql配置 API
export const Nl2sqlApi = {
  // 查询nl2sql配置分页
  getChatNl2sqlPage: async (params: any) => {
    return await request.get({ url: `/ai/chat-nl2sql/page`, params })
  },

  // 查询nl2sql配置详情
  getChatNl2sql: async (id: number) => {
    return await request.get({ url: `/ai/chat-nl2sql/get?id=` + id })
  },

  // 新增nl2sql配置
  createChatNl2sql: async (data: Nl2sqlVO) => {
    return await request.post({ url: `/ai/chat-nl2sql/create`, data })
  },

  // 修改nl2sql配置
  updateChatNl2sql: async (data: Nl2sqlVO) => {
    return await request.put({ url: `/ai/chat-nl2sql/update`, data })
  },

  // 删除nl2sql配置
  deleteChatNl2sql: async (id: number) => {
    return await request.delete({ url: `/ai/chat-nl2sql/delete?id=` + id })
  },

  // 导出nl2sql配置 Excel
  exportChatNl2sql: async (params) => {
    return await request.download({ url: `/ai/chat-nl2sql/export-excel`, params })
  },
  // 查询nl2sql配置分页
  getSimpleNl2sqlList: async () => {
    return await request.get({ url: `/ai/chat-nl2sql/simple-list` })
  }
}
