Files
aiops/backend/static/assets/server-Cnj_Y0tD.js
T
attacker b553c7956d refactor(q1): src/api 全量清零 any + types/monitor 扩展输入 DTO
ROADMAP Q1 推进(前端类型安全治理 in_progress):

- src/api/ 整个目录 any 清零(含 monitor/ deploy/ 子目录 12+ 文件)
  create/update 入参 any -> Record<string, unknown> / object
  mock 桩 trace/grafana 对接 types/ 标准类型(Trace/GrafanaDashboard)
  典型接口 LdapFormData/ProbeForm 等强类型表单用 object 接收
- types/monitor.ts 扩展 ~150 行接口:
  ZabbixDatasource / AlertSilence / 7 个输入 DTO
  Trace / TraceSpan / TraceServiceMetrics / GrafanaDashboard / DashboardPanel
  HealthProbeInput

验证:
- 整个 src/api/ 目录 any=0
- ESLint no-explicit-any: 995 -> 937 (本项目此轮贡献 -58)
- tsc -b 零错误, npm run build ✓ (17.06s)
- API 回归 8/8 核心端点通过, Docker 部署 healthy
2026-06-26 03:37:56 +08:00

2 lines
1.2 KiB
JavaScript

import{h as r}from"./index-o4rKtKfJ.js";const o={getServers:async e=>r.get("/servers",e),getServerDetail:async e=>r.get(`/servers/${e}`),getServerStats:async()=>r.get("/servers/stats"),createServer:async e=>r.post("/servers",e),updateServer:async(e,t)=>r.put(`/servers/${e}`,t),deleteServer:async e=>r.delete(`/servers/${e}`),batchDelete:async e=>r.post("/servers/batch-delete",{ids:e}),batchCreate:async e=>r.post("/servers/batch",e),getMetrics:async e=>r.get("/dashboard/metrics"),installAgent:async(e,t,n)=>{const s={token:t};return n&&Object.assign(s,n),r.post(`/servers/${e}/install-agent`,s)},batchInstallAgent:async(e,t)=>r.post(`/servers/install-agent?token=${encodeURIComponent(t)}`,{server_ids:e}),listFiles:async(e,t)=>r.get(`/servers/${e}/files?path=${encodeURIComponent(t)}`),downloadFile:async(e,t)=>r.download(`/servers/${e}/files/download?path=${encodeURIComponent(t)}`),uploadFile:async(e,t,n)=>{const s=new FormData;return s.append("file",n),r.upload(`/servers/${e}/files/upload?path=${encodeURIComponent(t)}`,s)},deleteFile:async(e,t)=>r.delete(`/servers/${e}/files?path=${encodeURIComponent(t)}`),mkdir:async(e,t)=>r.post(`/servers/${e}/files/mkdir`,{path:t})};export{o as s};