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
24 lines
784 B
TypeScript
24 lines
784 B
TypeScript
// 应用发布 API // Logan.Li
|
|
|
|
import { http, type ListResponse } from '@/utils/request';
|
|
|
|
export const releaseApi = {
|
|
getReleases: async (params?: { page?: number; page_size?: number }) => {
|
|
return http.get<ListResponse>('/releases', params);
|
|
},
|
|
createRelease: async ( data: Record<string, unknown>) => {
|
|
return http.post('/releases', data);
|
|
},
|
|
approveRelease: async (id: number | string) => {
|
|
return http.post(`/releases/${id}/approve`);
|
|
},
|
|
rejectRelease: async (id: number | string) => {
|
|
return http.post(`/releases/${id}/reject`);
|
|
},
|
|
deployRelease: async (id: number | string) => {
|
|
return http.post(`/releases/${id}/deploy`);
|
|
},
|
|
rollbackRelease: async (id: number | string) => {
|
|
return http.post(`/releases/${id}/rollback`);
|
|
},
|
|
}; |