mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-09-24 16:04:36 +08:00
CB-1356 User meta parameters API
This commit is contained in:
@@ -156,6 +156,14 @@ extend type Query {
|
||||
parameters: Object): AdminAuthProviderConfiguration!
|
||||
deleteAuthProviderConfiguration(id: ID!): Boolean!
|
||||
|
||||
#### User profile
|
||||
|
||||
saveUserMetaParameter(id: ID!, displayName: String!, description: String, required: Boolean!): Boolean!
|
||||
|
||||
deleteUserMetaParameter(id: ID!): Boolean!
|
||||
|
||||
setUserMetaParameterValues(userId: ID!, parameters: Object!): Boolean!
|
||||
|
||||
#### Global configuration
|
||||
|
||||
configureServer(configuration: ServerConfigInput!): Boolean!
|
||||
|
||||
+9
@@ -140,4 +140,13 @@ public interface DBWServiceAdmin extends DBWService {
|
||||
@WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN)
|
||||
boolean setSubjectConnectionAccess(@NotNull WebSession webSession, @NotNull String subjectId, @NotNull List<String> connections) throws DBWebException;
|
||||
|
||||
////////////////////////////////////////////////////////////////////
|
||||
// User meta parameters
|
||||
|
||||
@WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN)
|
||||
boolean saveUserMetaParameter(WebSession webSession, String id, String displayName, String description, Boolean required) throws DBWebException;
|
||||
@WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN)
|
||||
Object deleteUserMetaParameter(WebSession webSession, String id) throws DBWebException;
|
||||
@WebAction(requirePermissions = DBWConstants.PERMISSION_ADMIN)
|
||||
Object setUserMetaParameterValues(WebSession webSession, String userId, Map<String, Object> parameters) throws DBWebException;
|
||||
}
|
||||
|
||||
+20
-1
@@ -119,7 +119,26 @@ public class WebServiceBindingAdmin extends WebServiceBindingBase<DBWServiceAdmi
|
||||
.dataFetcher("deleteAuthProviderConfiguration",
|
||||
env -> getService(env).deleteAuthProviderConfiguration(getWebSession(env), env.getArgument("id")))
|
||||
|
||||
.dataFetcher("configureServer",
|
||||
.dataFetcher("saveUserMetaParameter",
|
||||
env -> getService(env).saveUserMetaParameter(
|
||||
getWebSession(env),
|
||||
env.getArgument("id"),
|
||||
env.getArgument("displayName"),
|
||||
env.getArgument("description"),
|
||||
env.getArgument("required")))
|
||||
|
||||
.dataFetcher("deleteUserMetaParameter",
|
||||
env -> getService(env).deleteUserMetaParameter(
|
||||
getWebSession(env),
|
||||
env.getArgument("id")))
|
||||
|
||||
.dataFetcher("setUserMetaParameterValues",
|
||||
env -> getService(env).setUserMetaParameterValues(
|
||||
getWebSession(env),
|
||||
env.getArgument("userId"),
|
||||
env.getArgument("parameters")))
|
||||
|
||||
.dataFetcher("configureServer",
|
||||
env -> getService(env).configureServer(getWebSession(env), new AdminServerConfig(env.getArgument("configuration"))))
|
||||
.dataFetcher("setDefaultNavigatorSettings",
|
||||
env -> getService(env).setDefaultNavigatorSettings(getWebSession(env), WebServiceUtils.parseNavigatorSettings(env.getArgument("settings"))))
|
||||
|
||||
+15
@@ -594,4 +594,19 @@ public class WebServiceAdmin implements DBWServiceAdmin {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveUserMetaParameter(WebSession webSession, String id, String displayName, String description, Boolean required) throws DBWebException {
|
||||
throw new DBWebException("Not implemented");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object deleteUserMetaParameter(WebSession webSession, String id) throws DBWebException {
|
||||
throw new DBWebException("Not implemented");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object setUserMetaParameterValues(WebSession webSession, String userId, Map<String, Object> parameters) throws DBWebException {
|
||||
throw new DBWebException("Not implemented");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -86,6 +86,9 @@ type UserInfo {
|
||||
authTokens: [UserAuthToken!]!
|
||||
|
||||
linkedAuthProviders: [String!]!
|
||||
|
||||
# User profile properties map
|
||||
metaParameters: Object!
|
||||
}
|
||||
|
||||
extend type Query {
|
||||
@@ -106,4 +109,6 @@ extend type Query {
|
||||
|
||||
authChangeLocalPassword(oldPassword: String!, newPassword: String!): Boolean!
|
||||
|
||||
listUserProfileProperties: [ObjectPropertyInfo!]!
|
||||
|
||||
}
|
||||
|
||||
+6
@@ -26,6 +26,7 @@ import org.jkiss.dbeaver.model.meta.Property;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -74,4 +75,9 @@ public class WebUserInfo {
|
||||
return Arrays.asList(linkedProviders);
|
||||
}
|
||||
|
||||
@Property
|
||||
public Map<String, String> getMetaParameters() {
|
||||
return user.getMetaParameters();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user