// API路径配置文件
// 这个文件确保所有API路径在一处统一管理，方便修改

import { pauseJob } from './schedule'

export const authApi = {
  login: '/auth/login',
  logout: '/auth/logout'
} as const

export const scrapydApi = {
  // scrapyd相关接口
  listProjects: '/scrapyd/listProjects',
  listVersions: '/scrapyd/listVersions',
  listSpiders: '/scrapyd/listSpiders',
  listJobsMerge: '/scrapyd/listJobsMerge',
  cancel: '/scrapyd/cancel',
  cancelAllJob: '/scrapyd/cancelAllJob',
  deleteVersion: '/scrapyd/deleteVersion',
  deleteProject: '/scrapyd/deleteProject',
  schedule: '/scrapyd/schedule',
  daemonStatus: '/scrapyd/daemonStatus',
  addVersion: '/scrapyd/addVersion',

  // 日志相关
  logs: '/scrapyd/logs',
  projectLogs: '/scrapyd/projectLogs',
  spiderLogs: '/scrapyd/spiderLogs',
  jobLog: '/scrapyd/jobLog',
  errorLogs: '/errorLogs/list'
} as const

export const scheduleApi = {
  // 调度任务相关
  addJob: '/schedule/addJob',
  getJobs: '/schedule/getJobs',
  pauseJob: '/schedule/pauseJob',
  resumeJob: '/schedule/resumeJob',
  removeJob: '/schedule/removeJob',
  jobDetail: '/schedule/jobDetail',
  state: '/schedule/state',
  start: '/schedule/start',
  shutdown: '/schedule/shutdown',
  pause: '/schedule/pause',
  resume: '/schedule/resume',
  removeAllJobs: '/schedule/removeAllJobs',
  scheduleLogs: '/schedule/scheduleLogs',
  removeScheduleLogs: '/schedule/removeScheduleLogs'
} as const

export const scrapydServerApi = {
  getScrapydServerPage: '/scrapydServer/getScrapydServerPage',
  addScrapydServer: '/scrapydServer/addScrapydServer',
  updateScrapydServer: '/scrapydServer/updateScrapydServer',
  updateScrapydServerStatus: '/scrapydServer/updateScrapydServerStatus',
  deleteScrapydServer: '/scrapydServer/deleteScrapydServer'
} as const

// 系统相关
export const systemApi = {
  systemInfo: '/system/systemInfo',
  systemData: '/system/systemData',
  systemConfig: '/system/systemConfig',
  loginHistoryList: '/actionHistory/loginHistoryList',
  scrapydServerList: '/system/scrapydServerList' // 没用
} as const

// 统计相关
export const statsApi = {
  statsList: '/statsCollection/listItem',
  statsDetail: '/statsCollection/detail',
  removeStats: '/statsCollection/delete',
  clearAllStats: '/statsCollection/clearAll' // TODO 未实现
} as const

// 系统用户相关接口
export const userApi = {
  userList: '/user/list',
  addUser: '/user/insert',
  updateUser: '/user/update',
  deleteUser: '/user/delete',
  batchDelete: '/user/batchDelete',
  getUserRole: '/user/getUserRole'
} as const

// 系统用户相关接口
export const spiderApi = {
  spiderList: '/scrapyd/listSpiders'
} as const

// 爬虫任务相关接口
export const spiderTaskApi = {
  taskList: '/schedule/getJobs',
  taskRecord: '/schedule/scheduleLogs',
  addTask: '/schedule/addJob',
  deleteTask: '/schedule/removeJob',
  pauseJob: '/schedule/pauseJob',
  resumeJob: '/schedule/resumeJob',
  jobDetail: '/schedule/jobDetail',
  taskCount: '/schedule/getAllJobCount',
  addSateNo: '/noradId/add',
  getSateIdList: '/noradId/list',
  deleteSateNoList: '/noradId/delete',
  addSateNoList: '/noradId/batchAdd'
} as const

// 爬虫数据相关接口
export const spiderDataApi = {
  dsnList: '/dsn/list',
  dsnDetail: '/dsn/detail',
  dsnDataDelete: '/dsn/delete',
  ituList: '/itu/list',
  ituDetail: '/itu/detail',
  ituDataDelete: '/itu/delete',
  stList: '/spaceTrack/list',
  stDetail: '/spaceTrack/detail',
  stDataDelete: '/sspaceTrackt/delete',
  exportSpiderData: '/export/downloadFile',
  esaList: '/esa/list',
  esaMissionDetail: '/esa/missionDetail',
  esaStationDetail: '/esa/stationDetail',
  exportRecordList: '/exportRecord/list'
} as const

// 爬虫数据相关接口
export const dataApi = {
  dataStatistics: '/statistic/dataStatistics',
  taskStatistics: '/statistic/taskStatistics',
  performanceStatistics: '/statistic/performanceStatistics',
  allSpiderTaskStatistics: '/statistic/getAllTaskStatistics'
} as const
