diff --git a/api/app/lib/controllers/metadataAcquisition/dataSource.js b/api/app/lib/controllers/metadataAcquisition/dataSource.js index 42f41f5..0b1a88f 100644 --- a/api/app/lib/controllers/metadataAcquisition/dataSource.js +++ b/api/app/lib/controllers/metadataAcquisition/dataSource.js @@ -6,10 +6,18 @@ function addDataSource(opts) { const models = ctx.fs.dc.models; try { - let rslt = ctx.request.body; - await models.DataSource.create(Object.assign({}, rslt)) - ctx.status = 204; - ctx.body = { message: '新建数据源成功' } + const { name } = ctx.request.body + const checkName = await models.DataSource.findOne({ where: { name, name } }); + if (checkName) { + ctx.status = 400; + ctx.body = { message: '该数据源名称已存在' } + } else { + let rslt = ctx.request.body; + await models.DataSource.create(Object.assign({}, rslt)) + let datasource = await models.DataSource.findOne({ where: { name } }) + ctx.status = 200; + ctx.body = { message: '新建数据源成功', id: datasource.id } + } } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; @@ -69,12 +77,19 @@ function editDataSource(opts) { const models = ctx.fs.dc.models; const { id } = ctx.params; const body = ctx.request.body; - await models.DataSource.update( - body, - { where: { id: id, } } - ) - ctx.status = 204; - ctx.body = { message: '修改数据源成功' } + const { name } = ctx.request.body + const checkName = await models.DataSource.findOne({ where: { id: { $not: id }, name, name } }); + if (checkName) { + ctx.status = 400; + ctx.body = { message: '该数据源名称已存在' } + } else { + await models.DataSource.update( + body, + { where: { id: id, } } + ) + ctx.status = 204; + ctx.body = { message: '修改数据源成功' } + } } catch (error) { ctx.fs.logger.error(`path: ${ctx.path}, error: ${error}`); ctx.status = 400; diff --git a/web/client/src/sections/metadataAcquisition/components/adapterStep.js b/web/client/src/sections/metadataAcquisition/components/adapterStep.js index 85d3597..8ad34ab 100644 --- a/web/client/src/sections/metadataAcquisition/components/adapterStep.js +++ b/web/client/src/sections/metadataAcquisition/components/adapterStep.js @@ -28,10 +28,10 @@ const AdapterStep = (props) => { setCurrent(current - 1); }; - const onFinish = () => { + const onFinish = (values) => { props.onFinish({ stepOneValues, - stepTwoValues + stepTwoValues: values || stepTwoValues }) } @@ -41,7 +41,7 @@ const AdapterStep = (props) => { const stepTwoValuesFinish = (values) => { setStepTwoValues(values) - if (stepProps == 2) onFinish() + if (stepProps == 2) onFinish(values) } const steps = [ diff --git a/web/client/src/sections/metadataAcquisition/components/dataSourceManagementModal.js b/web/client/src/sections/metadataAcquisition/components/dataSourceManagementModal.js index 079d6ae..96d27ac 100644 --- a/web/client/src/sections/metadataAcquisition/components/dataSourceManagementModal.js +++ b/web/client/src/sections/metadataAcquisition/components/dataSourceManagementModal.js @@ -22,7 +22,7 @@ function DataSourceModal(props) { onFinish={onFinish} stepProps={2} currentChange={c => { setCurrent(c) }} - stepOneInitValue={{ ...editData, ...editData?.adapterInfo }} + stepOneInitValue={{ ...editData, ...editData?.adapterInfo, description: editData?.description }} stepTwoInitValue={{ ...editData?.config }} {...props} /> diff --git a/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepOne.js b/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepOne.js index 6c96444..69dcbb2 100644 --- a/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepOne.js +++ b/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepOne.js @@ -18,15 +18,6 @@ function StepOne(props) { mountPath: 1, } - const checkName = async (rule, value) => { - let filter = dataSources?.rows?.find(s => s?.name == value && value !== stepOneInitValue?.name) - if (filter) { - return Promise.reject(new Error('已存该数据源名称!')); - } - return Promise.resolve(); - } - - const formItemLayout = { labelCol: { span: 3 }, wrapperCol: { span: 10 } }; return <> 测试} /> - - + + {({ retried }) => { + + return retried ? + <> + + + + + + : null + }} + + diff --git a/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepTwo.js b/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepTwo.js index 10eed79..ca0ada8 100644 --- a/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepTwo.js +++ b/web/client/src/sections/metadataAcquisition/components/steps/postgre/stepTwo.js @@ -68,7 +68,7 @@ function StepTwo(props) { key: 'value', render: (text, record) => { return { const obj = {}; @@ -116,12 +116,14 @@ function StepTwo(props) {
-
diff --git a/web/client/src/sections/metadataAcquisition/containers/dataSourceManagement.js b/web/client/src/sections/metadataAcquisition/containers/dataSourceManagement.js index 3b46e9b..4ffc3d6 100644 --- a/web/client/src/sections/metadataAcquisition/containers/dataSourceManagement.js +++ b/web/client/src/sections/metadataAcquisition/containers/dataSourceManagement.js @@ -125,13 +125,19 @@ function DataSourceManagement(props) { } if (editData) { dispatch(actions.metadataAcquisition.modifyDataSource(editData?.id, dataToSave)).then(res => { - setVisible(false) - queryData(); + if (res.success) { + setVisible(false); + setEditData(null); + queryData(); + } }) } else { dispatch(actions.metadataAcquisition.addDataSource(dataToSave)).then(res => { - setVisible(false) - queryData(); + if (res.success) { + setVisible(false); + setEditData(null); + queryData(); + } }) } }