97 lines
2.0 KiB
TypeScript
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
|
|
}
|
|
]
|
|
};
|
|
|