Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
427 changes: 329 additions & 98 deletions ui/src/api/config.ts

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion ui/src/api/env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { IUpdateEnvItem, IEnvQuery } from '../../types/env';
* 获取环境列表
*/
export function getEnvList(biz_id: string, project_id: string, query: IEnvQuery) {
return http.post(`/config/biz/${biz_id}/projects/${project_id}/envs/list`, {
return http.post(`/config/biz/${biz_id}/projects/${project_id}/envs:list`, {
...query,
});
}
Expand Down
43 changes: 26 additions & 17 deletions ui/src/api/group.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,12 @@ export const delCategory = (app_id: number, group_category_id: number) =>
* 获取服务下分组列表
* @param biz_id 空间ID
* @param app_id 应用ID
* @param projectId 项目ID
* @param envId 环境ID
* @returns
*/
export const getServiceGroupList = (biz_id: string, app_id: number) =>
http.get(`/config/biz/${biz_id}/apps/${app_id}/groups`).then((res) => {
export const getServiceGroupList = (biz_id: string, app_id: number, projectId: string, envId: string) =>
http.get(`/config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps/${app_id}/groups`).then((res) => {
const defaultGroup = res.data.details.find((item: IGroupItemInService) => item.group_id === 0);
if (defaultGroup) {
defaultGroup.group_name = localT('全部实例');
Expand All @@ -48,63 +50,70 @@ export const getServiceGroupList = (biz_id: string, app_id: number) =>
/**
* 获取空间下分组
* @param biz_id 空间ID
* @param projectId 项目ID
* @returns
*/
export const getSpaceGroupList = (biz_id: string, topId?: number) =>
http.get(`/config/biz/${biz_id}/groups`, { params: { top_ids: topId } }).then((res) => res.data);
export const getSpaceGroupList = (biz_id: string, projectId?: string, topId?: number) =>
http.get(`/config/biz/${biz_id}/projects/${projectId}/groups`, { params: { top_ids: topId } }).then((res) => res.data);

/**
* 新增分组
* @param app_id 应用ID
* @param biz_id 空间ID
* @param projectId 项目ID
* @param params 分组编辑参数
* @returns
*/
export const createGroup = (biz_id: string, params: IGroupEditArg) =>
http.post(`/config/biz/${biz_id}/groups`, params).then((res) => res.data);
export const createGroup = (biz_id: string, projectId?: string, params: IGroupEditArg) =>
http.post(`/config/biz/${biz_id}/projects/${projectId}/groups`, params).then((res) => res.data);

/**
* 编辑分组
* @param biz_id 空间ID
* @param group_id 分组ID
* @param projectId 项目ID
* @param params 分组编辑参数
* @returns
*/
export const updateGroup = (biz_id: string, group_id: number, params: IGroupEditArg) =>
http.put(`/config/biz/${biz_id}/groups/${group_id}`, params).then((res) => res.data);
export const updateGroup = (biz_id: string, group_id: number, projectId?: string, params: IGroupEditArg) =>
http.put(`/config/biz/${biz_id}/projects/${projectId}/groups/${group_id}`, params).then((res) => res.data);

/**
* 删除分组
* @param biz_id 空间ID
* @param group_id 分组ID
* @param projectId 项目ID
* @returns
*/
export const deleteGroup = (biz_id: string, group_id: number) =>
http.delete(`/config/biz/${biz_id}/groups/${group_id}`);
export const deleteGroup = (biz_id: string, group_id: number, projectId?: string) =>
http.delete(`/config/biz/${biz_id}/projects/${projectId}/groups/${group_id}`);

/**
* 批量删除分组
* @param biz_id 空间ID
* @param projectId 项目ID
* @param ids 分组ID列表
* @returns
*/
export const batchDeleteGroup = (biz_id: string, ids: number[]) =>
http.post(`/config/biz/${biz_id}/groups/batch_delete`, { ids });
export const batchDeleteGroup = (biz_id: string, projectId?: string, ids: number[]) =>
http.post(`/config/biz/${biz_id}/projects/${projectId}/groups:batch_delete`, { ids });

/**
* 获取分组已上线服务
* @param biz_id 空间ID
* @param group_id 分组ID
* @param params 查询参数
* @param projectId 项目ID
* @returns
*/
export const getGroupReleasedApps = (biz_id: string, group_id: number, params: ICommonQuery) =>
http.get(`/config/biz/${biz_id}/groups/${group_id}/released_apps`, { params }).then((res) => res.data);
export const getGroupReleasedApps = (biz_id: string, group_id: number, params: ICommonQuery, projectId?: string) =>
http.get(`/config/biz/${biz_id}/projects/${projectId}/groups/${group_id}/released_apps`, { params }).then((res) => res.data);

/**
* 获取分组选择器
* @param biz_id 空间ID
* @param label_name 标签名称
* @param projectId 项目ID
* @returns
*/
export const getGroupSelector = (biz_id: string, label_name: string) =>
http.get(`/config/biz/${biz_id}/groups/selector/${label_name}`).then((res) => res.data);
export const getGroupSelector = (biz_id: string, label_name: string, projectId?: string) =>
http.get(`/config/biz/${biz_id}/projects/${projectId}/groups:selector/${label_name}`).then((res) => res.data);
54 changes: 35 additions & 19 deletions ui/src/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,68 +41,84 @@ export const getSpaceFeatureFlag = (biz: string) =>
/**
* 获取服务列表
* @param biz_id 业务ID
* @param params 查询过滤条件
* @param projectId 项目ID
* @param envId 环境ID
* @param query 查询过滤条件
* @returns
*/
export const getAppList = (biz_id: string, query: IAppListQuery = {}) =>
http.post(`config/list/app/app/biz_id/${biz_id}`, query).then((resp) => {
export const getAppList = (biz_id: string, projectId: string, envId: string, query: IAppListQuery = {}) =>
http.post(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps:list`, query).then((resp) => {
resp.data.details.forEach((item: IAppItem) => {
// @ts-ignore
item.permissions = resp.web_annotations.perms[item.id] || {};
});
return resp.data;
});

/**
/**
* 获取服务下配置文件数量、更新时间等信息
* @param biz_id 业务ID
* @param projectId 项目ID
* @param envId 环境ID
* @param app_id 服务ID数组
* @returns
*/
export const getAppsConfigData = (biz_id: string, app_id: number[]) =>
http.post(`/config/config_item_count/biz_id/${biz_id}`, { biz_id, app_id }).then((resp) => resp.data);
export const getAppsConfigData = (biz_id: string, projectId: string, envId: string, app_id: number[]) =>
http.post(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/config_items/count`, { biz_id, app_id }).then((resp) => resp.data);

/**
* 获取服务详情
* @param biz_id 业务ID
* @param projectId 项目ID
* @param envId 环境ID
* @param app_id 服务ID
* @returns
*/
export const getAppDetail = (biz_id: string, app_id: number) =>
http.get(`config/biz/${biz_id}/apps/${app_id}`).then((resp) => resp.data);
export const getAppDetail = (biz_id: string, projectId: string, envId: string, app_id: number) =>
http.get(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps/${app_id}`).then((resp) => resp.data);

/**
* 删除服务
* @param id 服务ID
* @param biz_id 业务ID
* @param projectId 项目ID
* @param envId 环境ID
* @param id 服务ID
* @returns
*/
export const deleteApp = (id: number, biz_id: number) =>
http.delete(`config/delete/app/app/app_id/${id}/biz_id/${biz_id}`);
export const deleteApp = (biz_id: string, projectId: string, envId: string, id: number) =>
http.delete(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps/${id}`);

/**
* 创建服务
* @param biz_id 业务ID
* @param params
* @param projectId 项目ID
* @param envId 环境ID
* @param params 服务参数
* @returns
*/
export const createApp = (biz_id: string, params: any) =>
http.post(`config/create/app/app/biz_id/${biz_id}`, { biz_id, ...params }).then((resp) => resp.data);
export const createApp = (biz_id: string, projectId: string, envId: string, params: any) =>
http.post(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps`, { ...params, biz_id }).then((resp) => resp.data);

/**
* 更新服务
* @param params { id, biz_id, name?, memo?, reload_type?, reload_file_path? }
* @param params { id, biz_id, projectId, envId, name?, memo?, reload_type?, reload_file_path? }
* @returns
*/
export const updateApp = (params: any) => {
const { id, biz_id, data } = params;
return http.put(`config/update/app/app/app_id/${id}/biz_id/${biz_id}`, data).then((resp) => resp.data);
const { biz_id, projectId, envId, id, data } = params;
return http.put(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps/${id}`, data).then((resp) => resp.data);
};

/**
* 克隆服务
* @param biz_id 业务ID
* @param projectId 项目ID
* @param envId 环境ID
* @param params { id, biz_id, name?, memo?, reload_type?, reload_file_path? }
* @returns
*/
export const cloneApp = (biz_id: string, params: any) => {
return http.post(`config/biz/${biz_id}/clone_app`, { biz_id, ...params }).then((resp) => resp.data);
export const cloneApp = (biz_id: string, projectId: string, envId: string, params: any) => {
return http.post(`config/biz/${biz_id}/projects/${projectId}/envs/${envId}/apps:clone`, { ...params, biz_id }).then((resp) => resp.data);
};

/**
Expand Down
2 changes: 1 addition & 1 deletion ui/src/api/project.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { IProjectQuery, IProjectEditArg } from '../../types/project';
* @returns
*/
export const getProjectList = (biz_id: string, params: IProjectQuery) =>
http.post(`/config/biz/${biz_id}/projects/list`, params);
http.post(`/config/biz/${biz_id}/projects:list`, params);

/**
* 创建项目
Expand Down
Loading
Loading