From 60e1d327e533bc9068e1d4192c35e8685a586143 Mon Sep 17 00:00:00 2001 From: Ainur Date: Fri, 20 Dec 2024 12:07:59 +0100 Subject: [PATCH 1/2] CB-6059 create team with uppercase fix --- .../service/admin/impl/WebServiceAdmin.java | 15 ++++++++++++--- .../security/CBEmbeddedSecurityController.java | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) 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 6aaf00c790..590d30b3b6 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 @@ -210,14 +210,23 @@ public boolean deleteUser(@NotNull WebSession webSession, String userName) throw @NotNull @Override - public AdminTeamInfo createTeam(@NotNull WebSession webSession, String teamId, String teamName, String description) throws DBWebException { + public AdminTeamInfo createTeam( + @NotNull WebSession webSession, + @NotNull String teamId, + @Nullable String teamName, + @Nullable String description + ) throws DBWebException { if (teamId.isEmpty()) { throw new DBWebException("Empty team ID"); } webSession.addInfoMessage("Create new team - " + teamId); try { - webSession.getAdminSecurityController().createTeam(teamId, teamName, description, webSession.getUser().getUserId()); - SMTeam newTeam = webSession.getAdminSecurityController().findTeam(teamId); + SMTeam newTeam = webSession.getAdminSecurityController().createTeam( + teamId, + teamName, + description, + webSession.getUser().getUserId() + ); return new AdminTeamInfo(webSession, newTeam); } catch (Exception e) { throw new DBWebException("Error creating new team", e); diff --git a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java index 8681a72ef4..b96bf96a45 100644 --- a/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java +++ b/server/bundles/io.cloudbeaver.service.security/src/io/cloudbeaver/service/security/CBEmbeddedSecurityController.java @@ -1148,7 +1148,7 @@ WHERE AP.SUBJECT_ID IN (R.TEAM_ID,?) } @Override - public SMTeam findTeam(String teamId) throws DBCException { + public SMTeam findTeam(@NotNull String teamId) throws DBCException { return Arrays.stream(readAllTeams()) .filter(r -> r.getTeamId().equals(teamId)) .findFirst().orElse(null); @@ -1219,7 +1219,12 @@ private SMUser fetchUser(ResultSet dbResult) throws SQLException { } @Override - public void createTeam(String teamId, String name, String description, String grantor) throws DBCException { + public SMTeam createTeam( + @NotNull String teamId, + @Nullable String name, + @Nullable String description, + @NotNull String grantor + ) throws DBCException { if (CommonUtils.isEmpty(teamId)) { throw new DBCException("Empty team name is not allowed"); } @@ -1251,6 +1256,11 @@ public void createTeam(String teamId, String name, String description, String gr } catch (SQLException e) { throw new DBCException("Error saving team in database", e); } + SMTeam smTeam = new SMTeam(teamId, name, description, true); + for (String permission : getDefaultTeamPermissions()) { + smTeam.addPermission(permission); + } + return smTeam; } protected String[] getDefaultTeamPermissions() { From 8bdbd5e0af2b5bcdbe770b8c810c0dcb3f25386e Mon Sep 17 00:00:00 2001 From: sergeyteleshev Date: Fri, 20 Dec 2024 14:09:47 +0100 Subject: [PATCH 2/2] CB-6069 fixes error with team creation with teamId in upper case --- webapp/packages/core-authentication/src/TeamsResource.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/packages/core-authentication/src/TeamsResource.ts b/webapp/packages/core-authentication/src/TeamsResource.ts index 832c1d880c..9128af0ed3 100644 --- a/webapp/packages/core-authentication/src/TeamsResource.ts +++ b/webapp/packages/core-authentication/src/TeamsResource.ts @@ -56,7 +56,7 @@ export class TeamsResource extends CachedMapResource { @@ -73,7 +73,7 @@ export class TeamsResource extends CachedMapResource, options?: { force: boolean }): Promise> {