mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 03:42:07 +08:00
请不要在没有先创建Issue的情况下创建Pull Request。 ## 变更的目的是什么 XXXXX ## 简短的更新日志 XX ## 验证这一变化 XXXX 请遵循此清单,以帮助我们快速轻松地整合您的贡献: * [ ] 一个 PR(Pull Request的简写)只解决一个问题,禁止一个 PR 解决多个问题; * [ ] 确保 PR 有对应的 Issue(通常在您开始处理之前创建),除非是书写错误之类的琐碎更改不需要 Issue ; * [ ] 格式化 PR 及 Commit-Log 的标题及内容,例如 #861 。PS:Commit-Log 需要在 Git Commit 代码时进行填写,在 GitHub 上修改不了; * [ ] 编写足够详细的 PR 描述,以了解 PR 的作用、方式和原因; * [ ] 编写必要的单元测试来验证您的逻辑更正。如果提交了新功能或重大更改,请记住在 test 模块中添加 integration-test; * [ ] 确保编译通过,集成测试通过;
This commit is contained in:
@@ -949,7 +949,7 @@ export default forwardRef(
|
|||||||
success?: {
|
success?: {
|
||||||
connectClusterId: number;
|
connectClusterId: number;
|
||||||
connectorName: string;
|
connectorName: string;
|
||||||
configs: {
|
config: {
|
||||||
[key: string]: any;
|
[key: string]: any;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -991,7 +991,7 @@ export default forwardRef(
|
|||||||
success: {
|
success: {
|
||||||
connectClusterId: res[0].connectClusterId,
|
connectClusterId: res[0].connectClusterId,
|
||||||
connectorName: result['name'],
|
connectorName: result['name'],
|
||||||
configs: result,
|
config: result,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -1015,7 +1015,7 @@ export default forwardRef(
|
|||||||
curClusterName = cluster.label;
|
curClusterName = cluster.label;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
(jsonRef as any)?.onOpen(operateInfo.type, curClusterName, info.success.configs);
|
(jsonRef as any)?.onOpen(operateInfo.type, curClusterName, info.success.config);
|
||||||
onClose();
|
onClose();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -1028,9 +1028,9 @@ export default forwardRef(
|
|||||||
setCurrentStep(info.error);
|
setCurrentStep(info.error);
|
||||||
} else {
|
} else {
|
||||||
setSubmitLoading(true);
|
setSubmitLoading(true);
|
||||||
Object.entries(info.success.configs).forEach(([key, val]) => {
|
Object.entries(info.success.config).forEach(([key, val]) => {
|
||||||
if (val === null) {
|
if (val === null) {
|
||||||
delete info.success.configs[key];
|
delete info.success.config[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Utils.put(api.validateConnectorConfig, info.success).then(
|
Utils.put(api.validateConnectorConfig, info.success).then(
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const PLACEHOLDER = `配置格式如下
|
|||||||
|
|
||||||
{
|
{
|
||||||
"connectClusterName": "", // Connect Cluster 名称
|
"connectClusterName": "", // Connect Cluster 名称
|
||||||
"configs": { // 具体配置项
|
"config": { // 具体配置项
|
||||||
"name": "",
|
"name": "",
|
||||||
"connector.class": "",
|
"connector.class": "",
|
||||||
"tasks.max": 1,
|
"tasks.max": 1,
|
||||||
@@ -47,7 +47,7 @@ export default forwardRef((props: any, ref) => {
|
|||||||
configs: JSON.stringify(
|
configs: JSON.stringify(
|
||||||
{
|
{
|
||||||
connectClusterName,
|
connectClusterName,
|
||||||
configs: defaultConfigs,
|
config: defaultConfigs,
|
||||||
},
|
},
|
||||||
null,
|
null,
|
||||||
2
|
2
|
||||||
@@ -63,13 +63,13 @@ export default forwardRef((props: any, ref) => {
|
|||||||
form.validateFields().then(
|
form.validateFields().then(
|
||||||
(data) => {
|
(data) => {
|
||||||
const postData = JSON.parse(data.configs);
|
const postData = JSON.parse(data.configs);
|
||||||
postData.connectorName = postData.configs.name;
|
postData.connectorName = postData.config.name;
|
||||||
postData.connectClusterId = connectClusters.find((cluster) => cluster.label === postData.connectClusterName).value;
|
postData.connectClusterId = connectClusters.find((cluster) => cluster.label === postData.connectClusterName).value;
|
||||||
delete postData.connectClusterName;
|
delete postData.connectClusterName;
|
||||||
|
|
||||||
Object.entries(postData.configs).forEach(([key, val]) => {
|
Object.entries(postData.config).forEach(([key, val]) => {
|
||||||
if (val === null) {
|
if (val === null) {
|
||||||
delete postData.configs[key];
|
delete postData.config[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
Utils.put(api.validateConnectorConfig, postData).then(
|
Utils.put(api.validateConnectorConfig, postData).then(
|
||||||
@@ -198,20 +198,20 @@ export default forwardRef((props: any, ref) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!v.configs || typeof v.configs !== 'object') {
|
if (!v.config || typeof v.config !== 'object') {
|
||||||
return Promise.reject('内容缺少 configs 字段或字段格式错误');
|
return Promise.reject('内容缺少 config 字段或字段格式错误');
|
||||||
} else {
|
} else {
|
||||||
// 校验 connectorName 字段
|
// 校验 connectorName 字段
|
||||||
if (!v.configs.name) {
|
if (!v.config.name) {
|
||||||
return Promise.reject('configs 字段下缺少 name 项');
|
return Promise.reject('config 字段下缺少 name 项');
|
||||||
} else {
|
} else {
|
||||||
if (type === 'edit' && v.configs.name !== defaultConfigs.name) {
|
if (type === 'edit' && v.config.name !== defaultConfigs.name) {
|
||||||
return Promise.reject('编辑模式下不允许修改 name 字段');
|
return Promise.reject('编辑模式下不允许修改 name 字段');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!v.configs['connector.class']) {
|
if (!v.config['connector.class']) {
|
||||||
return Promise.reject('configs 字段下缺少 connector.class 项');
|
return Promise.reject('config 字段下缺少 connector.class 项');
|
||||||
} else if (type === 'edit' && v.configs['connector.class'] !== defaultConfigs['connector.class']) {
|
} else if (type === 'edit' && v.config['connector.class'] !== defaultConfigs['connector.class']) {
|
||||||
return Promise.reject('编辑模式下不允许修改 connector.class 字段');
|
return Promise.reject('编辑模式下不允许修改 connector.class 字段');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -219,13 +219,13 @@ export default forwardRef((props: any, ref) => {
|
|||||||
if (type === 'create') {
|
if (type === 'create') {
|
||||||
// 异步校验 connector 名称是否重复 以及 className 是否存在
|
// 异步校验 connector 名称是否重复 以及 className 是否存在
|
||||||
return Promise.all([
|
return Promise.all([
|
||||||
Utils.request(api.isConnectorExist(connectClusterId, v.configs.name)),
|
Utils.request(api.isConnectorExist(connectClusterId, v.config.name)),
|
||||||
Utils.request(api.getConnectorPlugins(connectClusterId)),
|
Utils.request(api.getConnectorPlugins(connectClusterId)),
|
||||||
]).then(
|
]).then(
|
||||||
([data, plugins]: [any, ConnectorPlugin[]]) => {
|
([data, plugins]: [any, ConnectorPlugin[]]) => {
|
||||||
return data?.exist
|
return data?.exist
|
||||||
? Promise.reject('name 与已有 Connector 重复')
|
? Promise.reject('name 与已有 Connector 重复')
|
||||||
: plugins.every((plugin) => plugin.className !== v.configs['connector.class'])
|
: plugins.every((plugin) => plugin.className !== v.config['connector.class'])
|
||||||
? Promise.reject('该 connectCluster 下不存在 connector.class 项配置的插件')
|
? Promise.reject('该 connectCluster 下不存在 connector.class 项配置的插件')
|
||||||
: Promise.resolve();
|
: Promise.resolve();
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user