import axios from '@/common/services/axios-instance'

class ControlService {
  // 获取高速缓冲列表
  getCacheList(data) {
    return axios({
      url: `api/framework/v1/cache/caches`,
      method: 'get',
      params: data,
    })
  }

  // 清除缓冲管理
  removeCache(data) {
    return axios({
      url: `api/framework/v1/cache/clear`,
      method: 'get',
      params: data,
    })
  }

  // 获取注册码服务
  getRegisterInfo() {
    return axios({
      url: `api/framework/v1/app-register/server`,
      method: 'post',
    })
  }

  // 刷新注册码服务
  refreshRegisterInfo(data) {
    return axios({
      url: `api/framework/v1/app-register/refreshServer`,
      method: 'post',
      data,
    })
  }

  // 删除应用节点
  destoryApplicationNode(data) {
    return axios({
      url: `api/framework/v1/app-register/destoryApp`,
      method: 'post',
      data,
    })
  }

  // 获取定时任务列表
  getCronJobList(data) {
    return axios({
      url: `api/framework/v1/scheduler/get-jobs`,
      method: 'get',
      params: data,
    })
  }

  // 根据触发器名称获取执行规则
  getCronExpByTrigger(data) {
    return axios({
      url: `api/framework/v1/scheduler/findcronexpbytriggername`,
      method: 'get',
      params: data,
    })
  }

  // 新建定时任务
  addCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/creatnewjob`,
      method: 'get',
      params: data,
    })
  }

  // 暂停定时任务
  stopCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/pausejobs`,
      method: 'put',
      data,
    })
  }

  // 恢复定时任务
  resumeCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/resumejob`,
      method: 'get',
      params: data,
    })
  }

  // 删除定时任务
  removeCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/deletejobs`,
      method: 'post',
      data,
    })
  }

  // 立即执行定时任务
  executeCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/runjobnow`,
      method: 'get',
      params: data,
    })
  }

  // 修改执行规则
  editCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/updatecronexpression`,
      method: 'get',
      params: data,
    })
  }

  // 导入定时任务
  importCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/importjob`,
      method: 'post',
      data,
    })
  }

  // 导出定时任务
  exportCronJob(data) {
    return axios({
      url: `api/framework/v1/scheduler/exportjob`,
      method: 'post',
      data,
    })
  }

  // 新建级别管理
  createLevel(data) {
    return axios({
      url: `api/framework/v1/level-manager/level`,
      method: 'post',
      data,
    })
  }

  // 修改级别管理
  editLevel(data) {
    return axios({
      url: `api/framework/v1/level-manager/level`,
      method: 'put',
      data,
    })
  }

  // 批量删除级别管理
  batchDeleteLevel(data) {
    return axios({
      url: `api/framework/v1/level-manager/level`,
      method: 'delete',
      params: {
        ids: data.ids,
      },
    })
  }
}

export default new ControlService()
