@@ -20,6 +20,7 @@ import { FormControlLabel, Switch } from "@material-ui/core";
2020import Grid from "@material-ui/core/Grid" ;
2121import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper" ;
2222import RadioGroupSelector from "../Common/FormComponents/RadioGroupSelector/RadioGroupSelector" ;
23+ import SelectWrapper from "../Common/FormComponents/SelectWrapper/SelectWrapper" ;
2324
2425interface IConfPostgresProps {
2526 onChange : ( newValue : Map < string , string > ) => void ;
@@ -39,7 +40,7 @@ const ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {
3940 const [ port , setPort ] = useState < string > ( "" ) ;
4041 const [ user , setUser ] = useState < string > ( "" ) ;
4142 const [ password , setPassword ] = useState < string > ( "" ) ;
42- const [ sslMode , setSslMode ] = useState < boolean > ( true ) ;
43+ const [ sslMode , setSslMode ] = useState < string > ( "require" ) ;
4344
4445 const [ table , setTable ] = useState < string > ( "" ) ;
4546 const [ format , setFormat ] = useState < string > ( "namespace" ) ;
@@ -120,8 +121,8 @@ const ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {
120121 if ( port !== "" ) {
121122 strValue = `${ strValue } port=${ port } ` ;
122123 }
123- const sslModeVal = sslMode ? "enable" : "disable" ;
124- strValue = `${ strValue } sslmode=${ sslModeVal } ` ;
124+
125+ strValue = `${ strValue } sslmode=${ sslMode } ` ;
125126
126127 return strValue . trim ( ) ;
127128 } , [ host , dbName , user , password , port , sslMode ] ) ;
@@ -208,7 +209,9 @@ const ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {
208209 setPassword (
209210 kv . get ( "password" ) ? kv . get ( "password" ) + "" : ""
210211 ) ;
211- setSslMode ( kv . get ( "sslmode" ) === "true" ) ;
212+ setSslMode (
213+ kv . get ( "sslmode" ) ? kv . get ( "sslmode" ) + "" : "require"
214+ ) ;
212215 }
213216
214217 setUseConnectionString ( event . target . checked ) ;
@@ -271,17 +274,21 @@ const ConfPostgres = ({ onChange, classes }: IConfPostgresProps) => {
271274 </ Grid >
272275
273276 < Grid item xs = { 12 } >
274- < RadioGroupSelector
275- currentSelection = { sslMode + "" }
277+ < SelectWrapper
278+ value = { sslMode }
279+ label = "SSL Mode"
276280 id = "sslmode"
277281 name = "sslmode"
278- label = "SSL Mode"
279- onChange = { e => {
280- setSslMode ( e . target . value === "true" ) ;
282+ onChange = { ( e ) : void => {
283+ if ( e . target . value !== undefined ) {
284+ setSslMode ( e . target . value + "" ) ;
285+ }
281286 } }
282- selectorOptions = { [
283- { label : "Enabled" , value : "true" } ,
284- { label : "Disabled" , value : "false" }
287+ options = { [
288+ { label : "Require" , value : "require" } ,
289+ { label : "Disable" , value : "disable" } ,
290+ { label : "Verify CA" , value : "verify-ca" } ,
291+ { label : "Verify Full" , value : "verify-full" }
285292 ] }
286293 />
287294 </ Grid >
0 commit comments