diff --git a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/SSLDetails.java b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/SSLDetails.java index 432d2841a8..6fc51ec99c 100644 --- a/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/SSLDetails.java +++ b/app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/SSLDetails.java @@ -14,6 +14,8 @@ import org.springframework.data.mongodb.core.mapping.Document; public class SSLDetails { public enum AuthType { + NO_SSL, + // Following for Postgres Connections. ALLOW, PREFER, REQUIRE, DISABLE, VERIFY_CA, VERIFY_FULL, diff --git a/app/server/appsmith-plugins/mongoPlugin/src/main/java/com/external/plugins/MongoPlugin.java b/app/server/appsmith-plugins/mongoPlugin/src/main/java/com/external/plugins/MongoPlugin.java index 0ba85afa8a..1161e93823 100644 --- a/app/server/appsmith-plugins/mongoPlugin/src/main/java/com/external/plugins/MongoPlugin.java +++ b/app/server/appsmith-plugins/mongoPlugin/src/main/java/com/external/plugins/MongoPlugin.java @@ -7,6 +7,7 @@ import com.appsmith.external.models.Connection; import com.appsmith.external.models.DatasourceConfiguration; import com.appsmith.external.models.DatasourceTestResult; import com.appsmith.external.models.Endpoint; +import com.appsmith.external.models.SSLDetails; import com.appsmith.external.pluginExceptions.AppsmithPluginError; import com.appsmith.external.pluginExceptions.AppsmithPluginException; import com.appsmith.external.plugins.BasePlugin; @@ -201,7 +202,8 @@ public class MongoPlugin extends BasePlugin { List queryParams = new ArrayList<>(); - if (connection.getSsl() != null) { + final SSLDetails sslDetails = connection.getSsl(); + if (sslDetails != null && !SSLDetails.AuthType.NO_SSL.equals(sslDetails.getAuthType())) { queryParams.add("ssl=true"); } diff --git a/app/server/appsmith-plugins/mongoPlugin/src/main/resources/form.json b/app/server/appsmith-plugins/mongoPlugin/src/main/resources/form.json index f5263e9703..3b5e695461 100644 --- a/app/server/appsmith-plugins/mongoPlugin/src/main/resources/form.json +++ b/app/server/appsmith-plugins/mongoPlugin/src/main/resources/form.json @@ -110,6 +110,10 @@ "configProperty": "datasourceConfiguration.connection.ssl.authType", "controlType": "DROP_DOWN", "options": [ + { + "label": "No SSL", + "value": "NO_SSL" + }, { "label": "CA Certificate", "value": "CA_CERTIFICATE" diff --git a/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java b/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java index 5dc0747e4c..2a3c81c565 100644 --- a/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java +++ b/app/server/appsmith-plugins/postgresPlugin/src/main/java/com/external/plugins/PostgresPlugin.java @@ -6,6 +6,7 @@ import com.appsmith.external.models.AuthenticationDTO; import com.appsmith.external.models.DatasourceConfiguration; import com.appsmith.external.models.DatasourceTestResult; import com.appsmith.external.models.Endpoint; +import com.appsmith.external.models.SSLDetails; import com.appsmith.external.pluginExceptions.AppsmithPluginError; import com.appsmith.external.pluginExceptions.AppsmithPluginException; import com.appsmith.external.plugins.BasePlugin; @@ -135,12 +136,16 @@ public class PostgresPlugin extends BasePlugin { com.appsmith.external.models.Connection configurationConnection = datasourceConfiguration.getConnection(); + final boolean isSslEnabled = configurationConnection != null + && configurationConnection.getSsl() != null + && !SSLDetails.AuthType.NO_SSL.equals(configurationConnection.getSsl().getAuthType()); + Properties properties = new Properties(); properties.putAll(Map.of( USER, authentication.getUsername(), PASSWORD, authentication.getPassword(), // TODO: Set SSL connection parameters. - SSL, configurationConnection != null && configurationConnection.getSsl() != null + SSL, isSslEnabled )); if (CollectionUtils.isEmpty(datasourceConfiguration.getEndpoints())) { diff --git a/app/server/appsmith-plugins/postgresPlugin/src/main/resources/form.json b/app/server/appsmith-plugins/postgresPlugin/src/main/resources/form.json index 122a5b367c..ad99500031 100644 --- a/app/server/appsmith-plugins/postgresPlugin/src/main/resources/form.json +++ b/app/server/appsmith-plugins/postgresPlugin/src/main/resources/form.json @@ -74,6 +74,10 @@ "configProperty": "datasourceConfiguration.connection.ssl.authType", "controlType": "DROP_DOWN", "options": [ + { + "label": "No SSL", + "value": "NO_SSL" + }, { "label": "Allow", "value": "ALLOW"