| .. | ||
| cascade.ts | ||
| infrastructure.ts | ||
| README.md | ||
数据源预设配置
本目录包含所有预定义的数据源配置。
已注册的数据源
部署相关 (deploy.ts)
1. ENVIRONMENTS - 环境列表
import { DataSourceType, loadDataSource } from '@/domain/dataSource';
// 使用示例
const options = await loadDataSource(DataSourceType.ENVIRONMENTS);
接口: GET /api/v1/environments/list?enabled=true
返回格式:
{
label: string; // 环境名称
value: number; // 环境 ID
code: string; // 环境代码
type: string; // 环境类型
description: string;// 描述
}
2. PROJECT_GROUPS - 项目组列表
const options = await loadDataSource(DataSourceType.PROJECT_GROUPS);
接口: GET /api/v1/project-groups/list?enabled=true
返回格式:
{
label: string; // 项目组名称
value: number; // 项目组 ID
code: string; // 项目组代码
description: string;// 描述
}
3. APPLICATIONS - 应用列表
const options = await loadDataSource(DataSourceType.APPLICATIONS);
接口: GET /api/v1/applications/list?enabled=true
返回格式:
{
label: string; // 应用名称
value: number; // 应用 ID
code: string; // 应用代码
projectGroupId: number; // 所属项目组 ID
description: string; // 描述
}
外部系统 (jenkins.ts, k8s.ts, git.ts, docker.ts)
- JENKINS_SERVERS - Jenkins 服务器列表
- K8S_CLUSTERS - K8s 集群列表
- GIT_REPOSITORIES - Git 仓库列表
- DOCKER_REGISTRIES - Docker 镜像仓库列表
通知相关 (notification.ts)
- NOTIFICATION_CHANNEL_TYPES - 通知渠道类型
- NOTIFICATION_CHANNELS - 通知渠道列表
用户相关 (user.ts)
- USERS - 用户列表
- ROLES - 角色列表
- DEPARTMENTS - 部门列表
使用示例
在 React 组件中使用
import { useState, useEffect } from 'react';
import { DataSourceType, loadDataSource } from '@/domain/dataSource';
function MyComponent() {
const [environments, setEnvironments] = useState([]);
const [projectGroups, setProjectGroups] = useState([]);
const [applications, setApplications] = useState([]);
useEffect(() => {
// 加载环境列表
loadDataSource(DataSourceType.ENVIRONMENTS).then(setEnvironments);
// 加载项目组列表
loadDataSource(DataSourceType.PROJECT_GROUPS).then(setProjectGroups);
// 加载应用列表
loadDataSource(DataSourceType.APPLICATIONS).then(setApplications);
}, []);
return (
<select>
{environments.map(env => (
<option key={env.value} value={env.value}>
{env.label}
</option>
))}
</select>
);
}
在表单设计器中使用
这些数据源可以直接在表单设计器的下拉框、单选框等组件中使用:
{
type: 'select',
label: '选择环境',
dataSource: DataSourceType.ENVIRONMENTS
}
添加新数据源
- 在
types.ts中添加枚举类型 - 在
presets/目录创建配置文件 - 在
DataSourceRegistry.ts中注册
详见主 README.md。