diff --git a/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls b/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls index 63e73922ca..52facd35d1 100644 --- a/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls +++ b/server/bundles/io.cloudbeaver.service.admin/schema/service.admin.graphqls @@ -59,6 +59,8 @@ extend type Query { # All connection configurations allConnections: [ ConnectionInfo! ]! + searchConnections( hostNames: [String!]! ): ConnectionInfo! + createConnectionConfiguration( config: ConnectionConfig! ): ConnectionInfo! updateConnectionConfiguration( id: ID!, config: ConnectionConfig! ): ConnectionInfo! deleteConnectionConfiguration( id: ID! ): Boolean diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java index 7af8376e7e..cdca6591d5 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/DBWServiceAdmin.java @@ -77,6 +77,8 @@ public interface DBWServiceAdmin extends DBWService { @WebAction(requirePermissions = AdminPermissions.PERMISSION_ADMIN) List getAllConnections(@NotNull WebSession webSession) throws DBWebException; + @WebAction(requirePermissions = AdminPermissions.PERMISSION_ADMIN) + List searchConnections(WebSession webSession, List hostNames) throws DBWebException; @WebAction(requirePermissions = AdminPermissions.PERMISSION_ADMIN) WebConnectionInfo createConnectionConfiguration(@NotNull WebSession webSession, @NotNull WebConnectionConfig config) throws DBWebException; @@ -94,4 +96,5 @@ public interface DBWServiceAdmin extends DBWService { DBWConnectionGrant[] getSubjectConnectionAccess(@NotNull WebSession webSession, @NotNull String subjectId) throws DBWebException; @WebAction(requirePermissions = AdminPermissions.PERMISSION_ADMIN) boolean setSubjectConnectionAccess(@NotNull WebSession webSession, @NotNull String subjectId, @NotNull List connections) throws DBWebException; + } diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java index b91e0173a3..81206653c6 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/WebServiceBindingAdmin.java @@ -60,6 +60,8 @@ public class WebServiceBindingAdmin extends WebServiceBindingBase getService(env).setUserCredentials(getWebSession(env), env.getArgument("userId"), env.getArgument("providerId"), env.getArgument("credentials"))); model.getQueryType().dataFetcher("allConnections", env -> getService(env).getAllConnections(getWebSession(env))); + model.getQueryType().dataFetcher("searchConnections", env -> getService(env).searchConnections(getWebSession(env), env.getArgument("hostNames"))); + model.getQueryType().dataFetcher("createConnectionConfiguration", env -> getService(env).createConnectionConfiguration(getWebSession(env), new WebConnectionConfig(env.getArgument("config")))); model.getQueryType().dataFetcher("updateConnectionConfiguration", diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java index 17bf00952c..bc8eedda10 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebServiceAdmin.java @@ -247,6 +247,11 @@ public class WebServiceAdmin implements DBWServiceAdmin { return result; } + @Override + public List searchConnections(WebSession webSession, List hostNames) throws DBWebException { + throw new DBWebException("Not implemented"); + } + @Override public WebConnectionInfo createConnectionConfiguration(@NotNull WebSession webSession, @NotNull WebConnectionConfig config) throws DBWebException { DBPDataSourceRegistry registry = WebServiceUtils.getDataSourceRegistry();