diff --git a/packages/api/src/utility/crypting.js b/packages/api/src/utility/crypting.js index 02823d1e6..98c267186 100644 --- a/packages/api/src/utility/crypting.js +++ b/packages/api/src/utility/crypting.js @@ -43,7 +43,12 @@ function getEncryptor() { } function encryptConnection(connection) { - if (connection && connection.password && !connection.password.startsWith('crypt:')) { + if ( + connection && + connection.password && + !connection.password.startsWith('crypt:') && + connection.passwordMode != 'saveRaw' + ) { return { ...connection, password: 'crypt:' + getEncryptor().encrypt(connection.password), diff --git a/packages/web/src/modals/ConnectionModal.js b/packages/web/src/modals/ConnectionModal.js index e42881002..15c1b3329 100644 --- a/packages/web/src/modals/ConnectionModal.js +++ b/packages/web/src/modals/ConnectionModal.js @@ -14,10 +14,10 @@ import { FormProvider, useForm } from '../utility/FormProvider'; function DriverFields({ extensions }) { const { values, setFieldValue } = useForm(); const { authType, engine } = values; - const driver = extensions.drivers.find(x => x.engine == engine); + const driver = extensions.drivers.find((x) => x.engine == engine); // const { authTypes } = driver || {}; const [authTypes, setAuthTypes] = React.useState(null); - const currentAuthType = authTypes && authTypes.find(x => x.name == authType); + const currentAuthType = authTypes && authTypes.find((x) => x.name == authType); const loadAuthTypes = async () => { const resp = await axios.post('plugins/auth-types', { engine }); @@ -29,7 +29,7 @@ function DriverFields({ extensions }) { React.useEffect(() => { setAuthTypes(null); - loadAuthTypes() + loadAuthTypes(); }, [values.engine]); if (!driver) return null; @@ -39,7 +39,7 @@ function DriverFields({ extensions }) { <> {!!authTypes && ( - {authTypes.map(auth => ( + {authTypes.map((auth) => ( @@ -50,6 +50,12 @@ function DriverFields({ extensions }) { + {!disabledFields.includes('password') && ( + + + + + )} ); } @@ -60,7 +66,7 @@ export default function ConnectionModal({ modalState, connection = undefined }) const [isTesting, setIsTesting] = React.useState(false); const testIdRef = React.useRef(0); - const handleTest = async values => { + const handleTest = async (values) => { setIsTesting(true); testIdRef.current += 1; const testid = testIdRef.current; @@ -76,7 +82,7 @@ export default function ConnectionModal({ modalState, connection = undefined }) setIsTesting(false); }; - const handleSubmit = async values => { + const handleSubmit = async (values) => { axios.post('connections/save', values); modalState.close(); }; @@ -86,8 +92,8 @@ export default function ConnectionModal({ modalState, connection = undefined }) - - {extensions.drivers.map(driver => ( + + {extensions.drivers.map((driver) => (