mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
CB-686 Network handlers web API
This commit is contained in:
@@ -162,6 +162,8 @@ type DriverInfo {
|
||||
anonymousAccess: Boolean
|
||||
defaultAuthModel: ID!
|
||||
applicableAuthModel: [ID!]!
|
||||
|
||||
applicableNetworkHandlers: [ID]!
|
||||
}
|
||||
|
||||
enum ResultDataFormat {
|
||||
@@ -171,6 +173,32 @@ enum ResultDataFormat {
|
||||
timeseries
|
||||
}
|
||||
|
||||
## Network handler config
|
||||
|
||||
enum NetworkHandlerType {
|
||||
TUNNEL,
|
||||
PROXY,
|
||||
CONFIG
|
||||
}
|
||||
|
||||
type NetworkHandlerDescriptor {
|
||||
id: ID!
|
||||
codeName: String!
|
||||
label: String
|
||||
description: String
|
||||
secured: Boolean
|
||||
type: NetworkHandlerType
|
||||
}
|
||||
|
||||
type NetworkHandlerConfig {
|
||||
id: ID!
|
||||
enabled: Boolean
|
||||
userName: String
|
||||
password: String
|
||||
savePassword: Boolean
|
||||
properties: Object
|
||||
}
|
||||
|
||||
# Connection instance
|
||||
type ConnectionInfo {
|
||||
id: ID!
|
||||
@@ -204,6 +232,8 @@ type ConnectionInfo {
|
||||
authModel: ID
|
||||
authProperties: [ObjectPropertyInfo!]!
|
||||
|
||||
networkHandlersConfig: [NetworkHandlerConfig!]!
|
||||
|
||||
# Supported features (provided etc)
|
||||
features: [ String! ]!
|
||||
navigatorSettings: NavigatorSettings!
|
||||
@@ -252,14 +282,18 @@ input ConnectionConfig {
|
||||
authModelId: ID
|
||||
credentials: Object
|
||||
|
||||
# Networki handlers
|
||||
|
||||
networkHandlersConfig: [Object!]!
|
||||
|
||||
#### deprecated fields
|
||||
|
||||
# ID of predefined datasource
|
||||
dataSourceId: ID
|
||||
dataSourceId: ID @deprecated
|
||||
|
||||
# Direct user credentials
|
||||
userName: String # @deprecated
|
||||
userPassword: String # deprecated
|
||||
userName: String @deprecated
|
||||
userPassword: String @deprecated
|
||||
}
|
||||
|
||||
type NavigatorSettings {
|
||||
@@ -305,12 +339,12 @@ extend type Query {
|
||||
|
||||
# Get driver info
|
||||
driverList( id: ID ): [ DriverInfo! ]!
|
||||
authModels: [DatabaseAuthModel!]!
|
||||
networkHandlers: [NetworkHandlerDescriptor!]!
|
||||
|
||||
# List of template connections.
|
||||
templateConnections: [ ConnectionInfo! ]!
|
||||
|
||||
authModels: [DatabaseAuthModel!]!
|
||||
|
||||
# Return connection state
|
||||
connectionState( id: ID! ): ConnectionInfo! @deprecated
|
||||
|
||||
|
||||
+4
@@ -23,6 +23,7 @@ import io.cloudbeaver.model.*;
|
||||
import io.cloudbeaver.model.session.WebSession;
|
||||
import org.jkiss.code.NotNull;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNBrowseSettings;
|
||||
import org.jkiss.dbeaver.model.net.DBWHandlerDescriptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
@@ -42,6 +43,9 @@ public interface DBWServiceCore extends DBWService {
|
||||
@WebAction
|
||||
List<WebDatabaseAuthModel> getAuthModels(WebSession webSession);
|
||||
|
||||
@WebAction
|
||||
List<? extends DBWHandlerDescriptor> getNetworkHandlers(WebSession webSession);
|
||||
|
||||
@Deprecated
|
||||
@WebAction
|
||||
List<WebDataSourceConfig> getTemplateDataSources() throws DBWebException;
|
||||
|
||||
+7
@@ -38,8 +38,10 @@ import org.jkiss.dbeaver.model.navigator.DBNBrowseSettings;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNDataSource;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNModel;
|
||||
import org.jkiss.dbeaver.model.navigator.DBNNode;
|
||||
import org.jkiss.dbeaver.model.net.DBWHandlerDescriptor;
|
||||
import org.jkiss.dbeaver.registry.DataSourceDescriptor;
|
||||
import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
|
||||
import org.jkiss.dbeaver.registry.network.NetworkHandlerRegistry;
|
||||
import org.jkiss.dbeaver.runtime.jobs.ConnectionTestJob;
|
||||
import org.jkiss.dbeaver.utils.RuntimeUtils;
|
||||
import org.jkiss.utils.CommonUtils;
|
||||
@@ -79,6 +81,11 @@ public class WebServiceCore implements DBWServiceCore {
|
||||
.map(am -> new WebDatabaseAuthModel(webSession, am)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends DBWHandlerDescriptor> getNetworkHandlers(WebSession webSession) {
|
||||
return NetworkHandlerRegistry.getInstance().getDescriptors();
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
@Override
|
||||
public List<WebDataSourceConfig> getTemplateDataSources() throws DBWebException {
|
||||
|
||||
Reference in New Issue
Block a user