From e83d69c40ced610b0cfc7db05424b8b4bb43e73f Mon Sep 17 00:00:00 2001 From: YevhenBondarenko Date: Mon, 13 Apr 2020 20:16:51 +0300 Subject: [PATCH] isolated tenant improvements --- .../server/controller/TenantController.java | 11 +++++++++++ .../service/install/SqlDatabaseUpgradeService.java | 5 ++++- ui/src/app/tenant/tenant-fieldset.tpl.html | 4 ++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/application/src/main/java/org/thingsboard/server/controller/TenantController.java b/application/src/main/java/org/thingsboard/server/controller/TenantController.java index 9def943e88..e9a793fb34 100644 --- a/application/src/main/java/org/thingsboard/server/controller/TenantController.java +++ b/application/src/main/java/org/thingsboard/server/controller/TenantController.java @@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseStatus; import org.springframework.web.bind.annotation.RestController; import org.thingsboard.server.common.data.Tenant; +import org.thingsboard.server.common.data.exception.ThingsboardErrorCode; import org.thingsboard.server.common.data.exception.ThingsboardException; import org.thingsboard.server.common.data.id.TenantId; import org.thingsboard.server.common.data.page.TextPageData; @@ -72,6 +73,16 @@ public class TenantController extends BaseController { try { boolean newTenant = tenant.getId() == null; + if (!newTenant) { + Tenant oldTenant = tenantService.findTenantById(tenant.getTenantId()); + if (oldTenant.isIsolatedTbCore() != tenant.isIsolatedTbCore()) { + throw new ThingsboardException("Field isolatedTbCore from Tenant can't be changed.", ThingsboardErrorCode.BAD_REQUEST_PARAMS); + } + if (oldTenant.isIsolatedTbRuleEngine() != tenant.isIsolatedTbRuleEngine()) { + throw new ThingsboardException("Field isolatedTbRuleEngine from Tenant can't be changed.", ThingsboardErrorCode.BAD_REQUEST_PARAMS); + } + } + Operation operation = newTenant ? Operation.CREATE : Operation.WRITE; accessControlService.checkPermission(getCurrentUser(), Resource.TENANT, operation, diff --git a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java index bcbd77ef28..f673f498fe 100644 --- a/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java +++ b/application/src/main/java/org/thingsboard/server/service/install/SqlDatabaseUpgradeService.java @@ -221,7 +221,10 @@ public class SqlDatabaseUpgradeService implements DatabaseEntitiesUpgradeService } } } - conn.createStatement().execute("ALTER TABLE tenant ADD COLUMN isolated_tb_core boolean DEFAULT (false), ADD COLUMN isolated_tb_rule_engine boolean DEFAULT (false)"); + try { + conn.createStatement().execute("ALTER TABLE tenant ADD COLUMN isolated_tb_core boolean DEFAULT (false), ADD COLUMN isolated_tb_rule_engine boolean DEFAULT (false)"); + } catch (Exception e) { + } log.info("Schema updated."); } break; diff --git a/ui/src/app/tenant/tenant-fieldset.tpl.html b/ui/src/app/tenant/tenant-fieldset.tpl.html index 35b3dee289..b75ea30f06 100644 --- a/ui/src/app/tenant/tenant-fieldset.tpl.html +++ b/ui/src/app/tenant/tenant-fieldset.tpl.html @@ -47,14 +47,14 @@ - {{'tenant.isolated-tb-core' | translate}}
{{'tenant.isolated-tb-core-details' | translate}}
- {{'tenant.isolated-tb-rule-engine' | translate}}
{{'tenant.isolated-tb-rule-engine-details' | translate}}