/**
 * 应用管理API
 * @author pangu
 */
import request from '@/utils/request'

/**
 * 获取应用分页列表
 * @param {Object} params - 查询参数
 */
export function getApplicationList(params) {
  return request({
    url: '/api/app/list',
    method: 'get',
    params
  })
}

/**
 * 获取应用详情
 * @param {number} appId - 应用ID
 */
export function getApplicationDetail(appId) {
  return request({
    url: `/api/app/${appId}`,
    method: 'get'
  })
}

/**
 * 新增应用
 * @param {Object} data - 应用数据（appName, appDesc, contactPerson, contactPhone, status, apiCodes）
 */
export function addApplication(data) {
  return request({
    url: '/api/app',
    method: 'post',
    data
  })
}

/**
 * 修改应用
 * @param {Object} data - 应用数据（含 appId）
 */
export function updateApplication(data) {
  return request({
    url: '/api/app',
    method: 'put',
    data
  })
}

/**
 * 删除应用
 * @param {number} appId - 应用ID
 */
export function deleteApplication(appId) {
  return request({
    url: `/api/app/${appId}`,
    method: 'delete'
  })
}

/**
 * 重置应用密钥
 * @param {number} appId - 应用ID
 * @returns {Promise} data.appSecret 为新密钥
 */
export function resetAppSecret(appId) {
  return request({
    url: `/api/app/resetSecret/${appId}`,
    method: 'put'
  })
}

/**
 * 获取API接口列表（用于接口授权勾选）
 * @returns {Promise} data: [{ apiCode, apiName, apiPath, apiMethod }]
 */
export function getApplicationApiList() {
  return request({
    url: '/api/app/apiList',
    method: 'get'
  })
}
