|
@@ -8,7 +8,7 @@ import {
|
|
|
ProForm,
|
|
|
} from '@ant-design/pro-components'
|
|
|
import { Button, Col, message, Form } from 'antd'
|
|
|
-import { useEffect, useState } from 'react'
|
|
|
+import { useState } from 'react'
|
|
|
import {
|
|
|
testDataSourceConnection,
|
|
|
createDataSource,
|
|
@@ -30,7 +30,7 @@ export default function DatasourceAdd({ updateDataSource }) {
|
|
|
const [loading, setLoading] = useState(false)
|
|
|
|
|
|
const [keytabFile, setKeytabFile] = useState([])
|
|
|
- const [krd5File, setKrd5File] = useState([])
|
|
|
+ const [krb5File, setKrb5File] = useState([])
|
|
|
|
|
|
const [useSSL, setUseSSL] = useState(false)
|
|
|
// Form表单
|
|
@@ -61,8 +61,14 @@ export default function DatasourceAdd({ updateDataSource }) {
|
|
|
params['use_ssl'] = useSSL ? 1 : 0
|
|
|
params['kerberos'] = kerbsValid ? 1 : 0
|
|
|
if (kerbsValid) {
|
|
|
- const keytab = await uploadKerbFile(keytabFile)
|
|
|
- const krb5config = await uploadKerbFile(krd5File)
|
|
|
+ let keytab = ''
|
|
|
+ let krb5config = ''
|
|
|
+ if (keytabFile && keytabFile.length) {
|
|
|
+ keytab = await uploadKerbFile(keytabFile)
|
|
|
+ }
|
|
|
+ if (krb5File && krb5File.length) {
|
|
|
+ krb5config = await uploadKerbFile(krb5File)
|
|
|
+ }
|
|
|
params['keytab'] = keytab
|
|
|
params['krb5config'] = krb5config
|
|
|
params['kerberos_service_name'] = kerberosServiceName
|
|
@@ -110,14 +116,20 @@ export default function DatasourceAdd({ updateDataSource }) {
|
|
|
params['use_ssl'] = useSSL ? 1 : 0
|
|
|
params['kerberos'] = kerbsValid ? 1 : 0
|
|
|
if (kerbsValid) {
|
|
|
- const keytab = await uploadKerbFile(keytabFile)
|
|
|
- const krb5config = await uploadKerbFile(krd5File)
|
|
|
+ let keytab = ''
|
|
|
+ let krb5config = ''
|
|
|
+ if (keytabFile && keytabFile.length) {
|
|
|
+ keytab = await uploadKerbFile(keytabFile)
|
|
|
+ }
|
|
|
+ if (krb5File && krb5File.length) {
|
|
|
+ krb5config = await uploadKerbFile(krb5File)
|
|
|
+ }
|
|
|
params['keytab'] = keytab
|
|
|
params['krb5config'] = krb5config
|
|
|
params['kerberos_service_name'] = kerberosServiceName
|
|
|
params['principal'] = principal
|
|
|
if (checkKrb(keytab, krb5config, kerberosServiceName, principal)) {
|
|
|
- const { data } = await testDataSourceConnection(params)
|
|
|
+ const { data } = await createDataSource(params)
|
|
|
if (data.data) {
|
|
|
message.success('添加成功')
|
|
|
updateDataSource()
|
|
@@ -126,14 +138,13 @@ export default function DatasourceAdd({ updateDataSource }) {
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- const { data } = await testDataSourceConnection(params)
|
|
|
+ const { data } = await createDataSource(params)
|
|
|
if (data.data) {
|
|
|
message.success('连接成功')
|
|
|
} else {
|
|
|
message.error(data.msg)
|
|
|
}
|
|
|
}
|
|
|
- return true
|
|
|
}
|
|
|
|
|
|
// 校验krb
|
|
@@ -201,16 +212,16 @@ export default function DatasourceAdd({ updateDataSource }) {
|
|
|
|
|
|
const krd5UpProps = {
|
|
|
onRemove: file => {
|
|
|
- const index = krd5File.indexOf(file)
|
|
|
- const newFileList = krd5File.slice()
|
|
|
+ const index = krb5File.indexOf(file)
|
|
|
+ const newFileList = krb5File.slice()
|
|
|
newFileList.splice(index, 1)
|
|
|
- setKrd5File(newFileList)
|
|
|
+ setKrb5File(newFileList)
|
|
|
},
|
|
|
beforeUpload: file => {
|
|
|
- setKrd5File([...krd5File, file])
|
|
|
+ setKrb5File([...krb5File, file])
|
|
|
return false
|
|
|
},
|
|
|
- krd5File,
|
|
|
+ krb5File,
|
|
|
}
|
|
|
return (
|
|
|
<ModalForm
|