import request from '@/assets/js/utils/request'
import getUrl from '@/assets/js/utils/get-url'

/**
 * 获取智能体列表
 * @param {Object} data - 请求参数, 默认为空对象
 * @returns {Promise} - 返回 Promise 对象
 */
const agentList = (data = {}) => {
  return request({
    url: getUrl('/intelligent/app/page'),
    method: 'post',
    data
  })
}

/**
 * 查看智能体详情
 * @param {string} id - 请求 ID
 */
function agentDetail(id) {
  return request({
    url: getUrl('/intelligent/ex/query'),
    method: 'get',
    params: { appId: id }
  })
}

/**
 * 增加智能体
 * @param {Object} data - 请求参数, 默认为空对象
 * @returns {Promise} - 返回 Promise 对象
 */
const agentAdd = data => {
  if (!data) {
    console.warn('need data', data)
    return
  }
  return request({
    url: getUrl('/intelligent/ex/create'),
    method: 'post',
    data
  })
}

/**
 * 删除智能体
 * @param {Array} data - 请求参数, 默认为空对象
 * @returns {Promise} - 返回 Promise 对象
 */
const agentDelete = data => {
  if (!data || !data.length) {
    console.warn('need data', data)
    return
  }
  return request({
    url: getUrl('/intelligent/ex/delete'),
    method: 'post',
    data
  })
}

/**
 * 编辑智能体
 * @param {Object} data - 请求参数, 默认为空对象
 * @returns {Promise} - 返回 Promise 对象
 */
const agentEdit = data => {
  if (!data || !data.id) {
    console.warn('need data', data)
    return
  }

  return request({
    url: getUrl('/intelligent/ex/update'),
    method: 'post',
    data
  })
}
/**
 * 编辑智能体
 * @param {Object} data - 请求参数, 默认为空对象
 * @returns {Promise} - 返回 Promise 对象
 */
const getAccessToken = data => {
  return request({
    url: getUrl('/third/access_token'),
    method: 'get'
  })
}

export {
  agentList,
  agentEdit,
  agentDelete,
  agentAdd,
  agentDetail,
  getAccessToken
}
