diff --git a/application/src/main/java/org/thingsboard/server/controller/BaseController.java b/application/src/main/java/org/thingsboard/server/controller/BaseController.java
index de73fe0..af62e04 100644
--- a/application/src/main/java/org/thingsboard/server/controller/BaseController.java
+++ b/application/src/main/java/org/thingsboard/server/controller/BaseController.java
@@ -56,6 +56,7 @@ import org.thingsboard.server.dao.customer.CustomerService;
import org.thingsboard.server.dao.dashboard.DashboardService;
import org.thingsboard.server.dao.device.DeviceCredentialsService;
import org.thingsboard.server.dao.device.DeviceService;
+import org.thingsboard.server.dao.entityview.EntityViewService;
import org.thingsboard.server.dao.exception.DataValidationException;
import org.thingsboard.server.dao.exception.IncorrectParameterException;
import org.thingsboard.server.dao.model.ModelConstants;
@@ -139,6 +140,9 @@ public abstract class BaseController {
@Autowired
protected DeviceStateService deviceStateService;
+ @Autowired
+ protected EntityViewService entityViewService;
+
@ExceptionHandler(ThingsboardException.class)
public void handleThingsboardException(ThingsboardException ex, HttpServletResponse response) {
errorResponseHandler.handle(ex, response);
@@ -313,6 +317,9 @@ public abstract class BaseController {
case USER:
checkUserId(new UserId(entityId.getId()));
return;
+ case ENTITY_VIEW:
+ checkEntityView(entityViewService.findEntityViewById(new EntityViewId(entityId.getId())));
+ return;
default:
throw new IllegalArgumentException("Unsupported entity type: " + entityId.getEntityType());
}
@@ -340,6 +347,25 @@ public abstract class BaseController {
}
}
+ protected EntityView checkEntityViewId(EntityViewId entityViewId) throws ThingsboardException {
+ try {
+ validateId(entityViewId, "Incorrect entityViewId " + entityViewId);
+ EntityView entityView = entityViewService.findEntityViewById(entityViewId);
+ checkEntityView(entityView);
+ return entityView;
+ } catch (Exception e) {
+ throw handleException(e, false);
+ }
+ }
+
+ protected void checkEntityView(EntityView entityView) throws ThingsboardException {
+ checkNotNull(entityView);
+ checkTenantId(entityView.getTenantId());
+ if (entityView.getCustomerId() != null && !entityView.getCustomerId().getId().equals(ModelConstants.NULL_UUID)) {
+ checkCustomerId(entityView.getCustomerId());
+ }
+ }
+
Asset checkAssetId(AssetId assetId) throws ThingsboardException {
try {
validateId(assetId, "Incorrect assetId " + assetId);