mirror of
https://github.com/dbeaver/cloudbeaver.git
synced 2026-10-16 06:40:05 +08:00
CB-2635 disable private connections edit access
This commit is contained in:
@@ -22,14 +22,17 @@ import io.cloudbeaver.service.security.SMUtils;
|
||||
import org.jkiss.dbeaver.model.app.DBPProject;
|
||||
import org.jkiss.dbeaver.model.meta.Property;
|
||||
import org.jkiss.dbeaver.model.rm.RMProjectPermission;
|
||||
import org.jkiss.dbeaver.model.rm.RMProjectType;
|
||||
|
||||
public class WebProjectInfo {
|
||||
private final WebSession session;
|
||||
private final VirtualProjectImpl project;
|
||||
private final boolean customPrivateConnectionsEnabled;
|
||||
|
||||
public WebProjectInfo(WebSession session, VirtualProjectImpl project) {
|
||||
public WebProjectInfo(WebSession session, VirtualProjectImpl project, boolean customPrivateConnectionsEnabled) {
|
||||
this.session = session;
|
||||
this.project = project;
|
||||
this.customPrivateConnectionsEnabled = customPrivateConnectionsEnabled;
|
||||
}
|
||||
|
||||
public WebSession getSession() {
|
||||
@@ -62,6 +65,9 @@ public class WebProjectInfo {
|
||||
|
||||
@Property
|
||||
public boolean isCanEditDataSources() {
|
||||
if (project.getRmProject().getType() == RMProjectType.USER && !customPrivateConnectionsEnabled) {
|
||||
return false;
|
||||
}
|
||||
return hasDataSourcePermission(RMProjectPermission.DATA_SOURCES_EDIT);
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -645,8 +645,10 @@ public class WebServiceCore implements DBWServiceCore {
|
||||
// Projects
|
||||
@Override
|
||||
public List<WebProjectInfo> getProjects(@NotNull WebSession session) {
|
||||
var customConnectionsEnabled = CBApplication.getInstance().getAppConfiguration().isSupportsCustomConnections();
|
||||
return session.getAccessibleProjects().stream()
|
||||
.map(pr -> new WebProjectInfo(session, pr)).collect(Collectors.toList());
|
||||
.map(pr -> new WebProjectInfo(session, pr, customConnectionsEnabled))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
// Folders
|
||||
|
||||
Reference in New Issue
Block a user