deploy-ease-platform/frontend/src/domain/dataSource/presets/cascade.ts
2025-10-23 23:17:48 +08:00

97 lines
2.0 KiB
TypeScript

/**
* 级联数据源预设配置
*/
import type { CascadeDataSourceConfig } from '../types';
/**
* 环境 → 项目
*/
export const environmentProjectsConfig: CascadeDataSourceConfig = {
description: '环境 → 项目',
levels: [
{
url: '/api/v1/environment/list',
labelField: 'name',
valueField: 'id'
},
{
url: '/api/v1/deployment-config/list',
parentParam: 'environmentId',
labelField: 'applicationName',
valueField: 'id',
isLeaf: () => true // 第二级是叶子节点
}
]
};
/**
* Jenkins 服务器 → View → Job
*/
export const jenkinsServerViewsJobsConfig: CascadeDataSourceConfig = {
description: 'Jenkins 服务器 → View → Job',
levels: [
{
url: '/api/v1/external-system/list',
params: { type: 'JENKINS' },
labelField: 'name',
valueField: 'id'
},
{
url: '/api/v1/jenkins/views',
parentParam: 'externalSystemId',
labelField: 'viewName',
valueField: 'id'
},
{
url: '/api/v1/jenkins/jobs',
parentParam: 'viewId',
labelField: 'jobName',
valueField: 'id',
isLeaf: () => true
}
]
};
/**
* 部门 → 用户
*/
export const departmentUsersConfig: CascadeDataSourceConfig = {
description: '部门 → 用户',
levels: [
{
url: '/api/v1/department/list',
labelField: 'name',
valueField: 'code'
},
{
url: '/api/v1/user/list',
parentParam: 'departmentCode',
labelField: 'nickname',
valueField: 'username',
isLeaf: () => true
}
]
};
/**
* 项目组 → 应用
*/
export const projectGroupAppsConfig: CascadeDataSourceConfig = {
description: '项目组 → 应用',
levels: [
{
url: '/api/v1/project-group/list',
labelField: 'name',
valueField: 'id'
},
{
url: '/api/v1/application/list',
parentParam: 'projectGroupId',
labelField: 'appName',
valueField: 'id',
isLeaf: () => true
}
]
};