|
|
@ -15,18 +15,21 @@ |
|
|
*/ |
|
|
*/ |
|
|
package org.thingsboard.server.controller; |
|
|
package org.thingsboard.server.controller; |
|
|
|
|
|
|
|
|
|
|
|
import com.google.common.util.concurrent.ListenableFuture; |
|
|
|
|
|
import org.springframework.http.HttpStatus; |
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
import org.springframework.security.access.prepost.PreAuthorize; |
|
|
import org.springframework.web.bind.annotation.PathVariable; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.RequestBody; |
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMethod; |
|
|
|
|
|
import org.springframework.web.bind.annotation.ResponseBody; |
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController; |
|
|
|
|
|
import org.thingsboard.server.common.data.EntityType; |
|
|
import org.thingsboard.server.common.data.EntityType; |
|
|
import org.thingsboard.server.common.data.EntityView; |
|
|
import org.thingsboard.server.common.data.EntityView; |
|
|
import org.thingsboard.server.common.data.audit.ActionType; |
|
|
import org.thingsboard.server.common.data.audit.ActionType; |
|
|
import org.thingsboard.server.common.data.exception.ThingsboardException; |
|
|
import org.thingsboard.server.common.data.exception.ThingsboardException; |
|
|
|
|
|
import org.thingsboard.server.common.data.id.CustomerId; |
|
|
import org.thingsboard.server.common.data.id.EntityViewId; |
|
|
import org.thingsboard.server.common.data.id.EntityViewId; |
|
|
|
|
|
import org.thingsboard.server.common.data.id.TenantId; |
|
|
|
|
|
import org.thingsboard.server.service.security.model.SecurityUser; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Created by Victor Basanets on 8/28/2017. |
|
|
* Created by Victor Basanets on 8/28/2017. |
|
|
@ -55,24 +58,41 @@ public class EntityViewController extends BaseController { |
|
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')") |
|
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')") |
|
|
@RequestMapping(value = "/entity-view", method = RequestMethod.POST) |
|
|
@RequestMapping(value = "/entity-view", method = RequestMethod.POST) |
|
|
@ResponseBody |
|
|
@ResponseBody |
|
|
public EntityView saveEntityView(@RequestBody EntityView entityView) |
|
|
public EntityView saveEntityView(@RequestBody EntityView entityView) throws ThingsboardException { |
|
|
throws ThingsboardException { |
|
|
|
|
|
|
|
|
|
|
|
try { |
|
|
try { |
|
|
entityView.setTenantId(getCurrentUser().getTenantId()); |
|
|
entityView.setTenantId(getCurrentUser().getTenantId()); |
|
|
EntityView savedEntityView = checkNotNull(entityViewService.saveEntityView(entityView)); |
|
|
EntityView savedEntityView = checkNotNull(entityViewService.saveEntityView(entityView)); |
|
|
|
|
|
|
|
|
logEntityAction(savedEntityView.getId(), savedEntityView, null, |
|
|
logEntityAction(savedEntityView.getId(), savedEntityView, null, |
|
|
entityView.getId() == null ? ActionType.ADDED : ActionType.UPDATED, null); |
|
|
entityView.getId() == null ? ActionType.ADDED : ActionType.UPDATED, null); |
|
|
|
|
|
|
|
|
return savedEntityView; |
|
|
return savedEntityView; |
|
|
|
|
|
|
|
|
} catch (Exception e) { |
|
|
} catch (Exception e) { |
|
|
|
|
|
|
|
|
logEntityAction(emptyId(EntityType.ENTITY_VIEW), entityView, null, |
|
|
logEntityAction(emptyId(EntityType.ENTITY_VIEW), entityView, null, |
|
|
entityView.getId() == null ? ActionType.ADDED : ActionType.UPDATED, e); |
|
|
entityView.getId() == null ? ActionType.ADDED : ActionType.UPDATED, e); |
|
|
|
|
|
|
|
|
throw handleException(e); |
|
|
throw handleException(e); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@PreAuthorize("hasAuthority('TENANT_ADMIN')") |
|
|
|
|
|
@RequestMapping(value = "/entity-view/{entityViewId}", method = RequestMethod.DELETE) |
|
|
|
|
|
@ResponseStatus(value = HttpStatus.OK) |
|
|
|
|
|
public void deleteEntityView(@PathVariable(ENTITY_VIEW_ID) String strEntityViewId) throws ThingsboardException { |
|
|
|
|
|
checkParameter(ENTITY_VIEW_ID, strEntityViewId); |
|
|
|
|
|
try { |
|
|
|
|
|
EntityViewId entityViewId = new EntityViewId(toUUID(strEntityViewId)); |
|
|
|
|
|
EntityView entityView = checkEntityViewId(entityViewId); |
|
|
|
|
|
entityViewService.deleteEntityView(entityViewId); |
|
|
|
|
|
|
|
|
|
|
|
logEntityAction(entityViewId, entityView, entityView.getCustomerId(), |
|
|
|
|
|
ActionType.DELETED,null, strEntityViewId); |
|
|
|
|
|
} catch (Exception e) { |
|
|
|
|
|
logEntityAction(emptyId(EntityType.ENTITY_VIEW), |
|
|
|
|
|
null, |
|
|
|
|
|
null, |
|
|
|
|
|
ActionType.DELETED, e, strEntityViewId); |
|
|
|
|
|
throw handleException(e); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|