CB-230 Connection search API

This commit is contained in:
Serge Rider
2020-08-13 11:23:21 +03:00
parent 032d54eb5c
commit c8b84dec0e
4 changed files with 12 additions and 0 deletions
@@ -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
@@ -77,6 +77,8 @@ public interface DBWServiceAdmin extends DBWService {
@WebAction(requirePermissions = AdminPermissions.PERMISSION_ADMIN)
List<WebConnectionInfo> getAllConnections(@NotNull WebSession webSession) throws DBWebException;
@WebAction(requirePermissions = AdminPermissions.PERMISSION_ADMIN)
List<WebConnectionInfo> searchConnections(WebSession webSession, List<String> 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<String> connections) throws DBWebException;
}
@@ -60,6 +60,8 @@ public class WebServiceBindingAdmin extends WebServiceBindingBase<DBWServiceAdmi
env -> 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",
@@ -247,6 +247,11 @@ public class WebServiceAdmin implements DBWServiceAdmin {
return result;
}
@Override
public List<WebConnectionInfo> searchConnections(WebSession webSession, List<String> hostNames) throws DBWebException {
throw new DBWebException("Not implemented");
}
@Override
public WebConnectionInfo createConnectionConfiguration(@NotNull WebSession webSession, @NotNull WebConnectionConfig config) throws DBWebException {
DBPDataSourceRegistry registry = WebServiceUtils.getDataSourceRegistry();