[Bugfix]Connect-JSON模式下的JSON格式和官方API的格式不一致(#1048) (#1153)

请不要在没有先创建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:
erge
2023-10-18 09:39:21 +08:00
committed by GitHub
parent 3f817991aa
commit 1adfa639ac
2 changed files with 20 additions and 20 deletions

View File

@@ -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(

View File

@@ -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();
}, },