- 工具配置:新增卸载 API/UI、Go 工具链、流水线构建自动安装依赖 - 修复 ListTools VerifyTool 递归栈溢出导致获取工具配置失败 - Node.js Alpine 安装改用 unofficial-builds musl 预编译包与 index.json 解析 LTS - 站点拨测:详情页路由、告警自动恢复、并发拨测与默认可观测频率 - 日志中心:RBAC、查询构建器、ES/Loki 增强与审计 request/response 展示 - 发布配置:构建节点、流水线远程执行、Deploy RBAC 导航拆分
48 lines
3.5 KiB
TypeScript
48 lines
3.5 KiB
TypeScript
// 部署配置:仓库 / 镜像 / 环境 / 组 / 工具 / Item Role // Logan.Li
|
|
|
|
import { http, type ListResponse } from '@/utils/request';
|
|
|
|
export const deployApi = {
|
|
// Git 仓库认证
|
|
getRepos: () => http.get<ListResponse>('/deploy/repos'),
|
|
getRepo: (id: number | string) => http.get(`/deploy/repos/${id}`),
|
|
createRepo: ( data: Record<string, unknown>) => http.post('/deploy/repos', data),
|
|
updateRepo: (id: number | string, data: Record<string, unknown>) => http.put(`/deploy/repos/${id}`, data),
|
|
deleteRepo: (id: number | string) => http.delete(`/deploy/repos/${id}`),
|
|
// 镜像仓库认证
|
|
getRegistries: () => http.get<ListResponse>('/deploy/registries'),
|
|
getRegistry: (id: number | string) => http.get(`/deploy/registries/${id}`),
|
|
createRegistry: ( data: Record<string, unknown>) => http.post('/deploy/registries', data),
|
|
updateRegistry: (id: number | string, data: Record<string, unknown>) => http.put(`/deploy/registries/${id}`, data),
|
|
deleteRegistry: (id: number | string) => http.delete(`/deploy/registries/${id}`),
|
|
// 环境管理
|
|
getEnvironments: () => http.get<ListResponse>('/deploy/environments'),
|
|
createEnvironment: ( data: Record<string, unknown>) => http.post('/deploy/environments', data),
|
|
updateEnvironment: (id: number | string, data: Record<string, unknown>) => http.put(`/deploy/environments/${id}`, data),
|
|
deleteEnvironment: (id: number | string) => http.delete(`/deploy/environments/${id}`),
|
|
// Item Role 权限管理 (Jenkins Role Strategy 风格)
|
|
getItemRoles: () => http.get<ListResponse>('/admin/item-roles'),
|
|
createItemRole: ( data: Record<string, unknown>) => http.post('/admin/item-roles', data),
|
|
updateItemRole: (id: number | string, data: Record<string, unknown>) => http.put(`/admin/item-roles/${id}`, data),
|
|
deleteItemRole: (id: number | string) => http.delete(`/admin/item-roles/${id}`),
|
|
getUserItemRoles: (userId: number | string) => http.get(`/admin/users/${userId}/item-roles`),
|
|
assignItemRole: (userId: number | string, data: { user_id: number; item_role_id: number }) => http.post(`/admin/users/${userId}/item-roles`, data),
|
|
removeItemRole: (userId: number | string, roleId: number | string) => http.delete(`/admin/users/${userId}/item-roles/${roleId}`),
|
|
// 用户组管理
|
|
getGroups: () => http.get<ListResponse>('/deploy/groups'),
|
|
createGroup: ( data: Record<string, unknown>) => http.post('/deploy/groups', data),
|
|
updateGroup: (id: number | string, data: Record<string, unknown>) => http.put(`/deploy/groups/${id}`, data),
|
|
deleteGroup: (id: number | string) => http.delete(`/deploy/groups/${id}`),
|
|
getGroupMembers: (id: number | string) => http.get(`/deploy/groups/${id}/members`),
|
|
addGroupMember: (id: number | string, data: { username: string }) => http.post(`/deploy/groups/${id}/members`, data),
|
|
removeGroupMember: (id: number | string, memberId: number | string) => http.delete(`/deploy/groups/${id}/members/${memberId}`),
|
|
// 工具配置
|
|
getTools: () => http.get<ListResponse>('/deploy/tools'),
|
|
getTool: (id: number | string) => http.get(`/deploy/tools/${id}`),
|
|
updateTool: (id: number | string, data: Record<string, unknown>) => http.put(`/deploy/tools/${id}`, data),
|
|
installTool: (id: number | string, version?: string) =>
|
|
http.post(`/deploy/tools/${id}/install`, version ? { version } : {}),
|
|
uninstallTool: (id: number | string) => http.post(`/deploy/tools/${id}/uninstall`),
|
|
checkTool: (id: number | string) => http.post(`/deploy/tools/${id}/check`),
|
|
getToolVersions: (id: number | string) => http.get(`/deploy/tools/${id}/versions`),
|
|
}; |