|
|
|
@ -32,6 +32,8 @@ import org.springframework.web.bind.annotation.RestController; |
|
|
|
import org.thingsboard.server.common.data.cf.CalculatedField; |
|
|
|
import org.thingsboard.server.common.data.exception.ThingsboardException; |
|
|
|
import org.thingsboard.server.common.data.id.CalculatedFieldId; |
|
|
|
import org.thingsboard.server.common.data.id.EntityId; |
|
|
|
import org.thingsboard.server.common.data.id.EntityIdFactory; |
|
|
|
import org.thingsboard.server.common.data.page.PageData; |
|
|
|
import org.thingsboard.server.common.data.page.PageLink; |
|
|
|
import org.thingsboard.server.config.annotations.ApiOperation; |
|
|
|
@ -40,7 +42,8 @@ import org.thingsboard.server.service.entitiy.cf.TbCalculatedFieldService; |
|
|
|
import org.thingsboard.server.service.security.permission.Operation; |
|
|
|
|
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.CF_TEXT_SEARCH_DESCRIPTION; |
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.PAGE_DATA_PARAMETERS; |
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.ENTITY_ID_PARAM_DESCRIPTION; |
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.ENTITY_TYPE_PARAM_DESCRIPTION; |
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.PAGE_NUMBER_DESCRIPTION; |
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.PAGE_SIZE_DESCRIPTION; |
|
|
|
import static org.thingsboard.server.controller.ControllerConstants.SORT_ORDER_DESCRIPTION; |
|
|
|
@ -91,25 +94,25 @@ public class CalculatedFieldController extends BaseController { |
|
|
|
return calculatedField; |
|
|
|
} |
|
|
|
|
|
|
|
@ApiOperation(value = "Get Calculated Fields (getCalculatedFields)", |
|
|
|
notes = "Returns a page of calculated fields. " + PAGE_DATA_PARAMETERS |
|
|
|
@ApiOperation(value = "Get Calculated Fields (getCalculatedFieldsByEntityId)", |
|
|
|
notes = "Fetch the Calculated Fields based on the provided Entity Id." |
|
|
|
) |
|
|
|
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN')") |
|
|
|
@RequestMapping(value = "/calculatedFields", params = {"pageSize", "page"}, method = RequestMethod.GET) |
|
|
|
@RequestMapping(value = "/{entityType}/{entityId}/calculatedField", params = {"pageSize", "page"}, method = RequestMethod.GET) |
|
|
|
@ResponseBody |
|
|
|
public PageData<CalculatedField> getCalculatedFields( |
|
|
|
@Parameter(description = PAGE_SIZE_DESCRIPTION, required = true) |
|
|
|
@RequestParam int pageSize, |
|
|
|
@Parameter(description = PAGE_NUMBER_DESCRIPTION, required = true) |
|
|
|
@RequestParam int page, |
|
|
|
@Parameter(description = CF_TEXT_SEARCH_DESCRIPTION) |
|
|
|
@RequestParam(required = false) String textSearch, |
|
|
|
@Parameter(description = SORT_PROPERTY_DESCRIPTION, schema = @Schema(allowableValues = {"createdTime", "name"})) |
|
|
|
@RequestParam(required = false) String sortProperty, |
|
|
|
@Parameter(description = SORT_ORDER_DESCRIPTION, schema = @Schema(allowableValues = {"ASC", "DESC"})) |
|
|
|
@RequestParam(required = false) String sortOrder) throws ThingsboardException { |
|
|
|
public PageData<CalculatedField> getCalculatedFieldsByEntityId( |
|
|
|
@Parameter(description = ENTITY_TYPE_PARAM_DESCRIPTION, required = true, schema = @Schema(defaultValue = "DEVICE")) @PathVariable("entityType") String entityType, |
|
|
|
@Parameter(description = ENTITY_ID_PARAM_DESCRIPTION, required = true) @PathVariable("entityId") String entityIdStr, |
|
|
|
@Parameter(description = PAGE_SIZE_DESCRIPTION, required = true) @RequestParam int pageSize, |
|
|
|
@Parameter(description = PAGE_NUMBER_DESCRIPTION, required = true) @RequestParam int page, |
|
|
|
@Parameter(description = CF_TEXT_SEARCH_DESCRIPTION) @RequestParam(required = false) String textSearch, |
|
|
|
@Parameter(description = SORT_PROPERTY_DESCRIPTION, schema = @Schema(allowableValues = {"createdTime", "name"})) @RequestParam(required = false) String sortProperty, |
|
|
|
@Parameter(description = SORT_ORDER_DESCRIPTION, schema = @Schema(allowableValues = {"ASC", "DESC"})) @RequestParam(required = false) String sortOrder) throws ThingsboardException { |
|
|
|
PageLink pageLink = createPageLink(pageSize, page, textSearch, sortProperty, sortOrder); |
|
|
|
return checkNotNull(calculatedFieldService.findAllCalculatedFields(pageLink)); |
|
|
|
checkParameter("entityId", entityIdStr); |
|
|
|
EntityId entityId = EntityIdFactory.getByTypeAndUuid(entityType, entityIdStr); |
|
|
|
checkEntityId(entityId, Operation.READ_CALCULATED_FIELD); |
|
|
|
return checkNotNull(tbCalculatedFieldService.findAllByTenantIdAndEntityId(entityId, getCurrentUser(), pageLink)); |
|
|
|
} |
|
|
|
|
|
|
|
@ApiOperation(value = "Delete Calculated Field (deleteCalculatedField)", |
|
|
|
|