Browse Source

fixed some models/apis after merge

pull/14929/head
dashevchenko 7 months ago
parent
commit
2bd12ff206
  1. 2
      application/src/main/java/org/thingsboard/server/controller/EventController.java
  2. 17
      application/src/main/java/org/thingsboard/server/controller/TelemetryController.java
  3. 10
      common/data/src/main/java/org/thingsboard/server/common/data/ai/dto/TbContent.java
  4. 11
      common/data/src/main/java/org/thingsboard/server/common/data/alarm/rule/condition/expression/AlarmConditionExpression.java

2
application/src/main/java/org/thingsboard/server/controller/EventController.java

@ -216,7 +216,6 @@ public class EventController extends BaseController {
@Parameter(description = PAGE_NUMBER_DESCRIPTION, required = true) @Parameter(description = PAGE_NUMBER_DESCRIPTION, required = true)
@RequestParam int page, @RequestParam int page,
@Parameter(description = "A JSON value representing the event filter.", required = true) @Parameter(description = "A JSON value representing the event filter.", required = true)
@io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(schema = @Schema(implementation = EventFilter.class)))
@RequestBody EventFilter eventFilter, @RequestBody EventFilter eventFilter,
@Parameter(description = EVENT_TEXT_SEARCH_DESCRIPTION) @Parameter(description = EVENT_TEXT_SEARCH_DESCRIPTION)
@RequestParam(required = false) String textSearch, @RequestParam(required = false) String textSearch,
@ -251,7 +250,6 @@ public class EventController extends BaseController {
@RequestParam(required = false) Long startTime, @RequestParam(required = false) Long startTime,
@Parameter(description = EVENT_END_TIME_DESCRIPTION) @Parameter(description = EVENT_END_TIME_DESCRIPTION)
@RequestParam(required = false) Long endTime, @RequestParam(required = false) Long endTime,
@io.swagger.v3.oas.annotations.parameters.RequestBody(content = @Content(schema = @Schema(implementation = EventFilter.class)))
@RequestBody EventFilter eventFilter) throws ThingsboardException { @RequestBody EventFilter eventFilter) throws ThingsboardException {
checkParameter("EntityId", strEntityId); checkParameter("EntityId", strEntityId);
checkParameter("EntityType", strEntityType); checkParameter("EntityType", strEntityType);

17
application/src/main/java/org/thingsboard/server/controller/TelemetryController.java

@ -303,20 +303,20 @@ public class TelemetryController extends BaseController {
public DeferredResult<ResponseEntity> getTimeseries( public DeferredResult<ResponseEntity> getTimeseries(
@PathVariable("entityType") String entityType, @PathVariable("entityType") String entityType,
@PathVariable("entityId") String entityIdStr, @PathVariable("entityId") String entityIdStr,
@RequestParam(name = "keys") String keys, @RequestParam(name = "keys", required = false) String keysStr,
@RequestParam(name = "startTs") Long startTs, @RequestParam(name = "startTs") Long startTs,
@RequestParam(name = "endTs") Long endTs, @RequestParam(name = "endTs") Long endTs,
@RequestParam(name = "intervalType", required = false) IntervalType intervalType, @RequestParam(name = "intervalType", required = false) IntervalType intervalType,
@RequestParam(name = "interval", defaultValue = "0") Long interval, @RequestParam(name = "interval", defaultValue = "0") Long interval,
@RequestParam(name = "timeZone", required = false) String timeZone, @RequestParam(name = "timeZone", required = false) String timeZone,
@Parameter(description = "An integer value that represents a max number of time series data points to fetch." +
" This parameter is used only in the case if 'agg' parameter is set to 'NONE'.", schema = @Schema(defaultValue = "100"))
@RequestParam(name = "limit", defaultValue = "100") Integer limit, @RequestParam(name = "limit", defaultValue = "100") Integer limit,
@RequestParam(name = "agg", defaultValue = "NONE") String aggStr, @RequestParam(name = "agg", defaultValue = "NONE") String aggStr,
@RequestParam(name = "orderBy", defaultValue = "DESC") String orderBy, @RequestParam(name = "orderBy", defaultValue = "DESC") String orderBy,
@RequestParam(name = "useStrictDataTypes", required = false, defaultValue = "false") Boolean useStrictDataTypes) throws ThingsboardException { @RequestParam(name = "useStrictDataTypes", required = false, defaultValue = "false") Boolean useStrictDataTypes,
@RequestParam MultiValueMap<String, String> params) throws ThingsboardException {
List<String> keys = getKeys(keysStr, params);
DeferredResult<ResponseEntity> response = new DeferredResult<>(); DeferredResult<ResponseEntity> response = new DeferredResult<>();
Futures.addCallback(tbTelemetryService.getTimeseries(EntityIdFactory.getByTypeAndId(entityType, entityIdStr), toKeysList(keys), startTs, endTs, Futures.addCallback(tbTelemetryService.getTimeseries(EntityIdFactory.getByTypeAndId(entityType, entityIdStr), keys, startTs, endTs,
intervalType, interval, timeZone, limit, Aggregation.valueOf(aggStr), orderBy, useStrictDataTypes, getCurrentUser()), intervalType, interval, timeZone, limit, Aggregation.valueOf(aggStr), orderBy, useStrictDataTypes, getCurrentUser()),
getTsKvListCallback(response, useStrictDataTypes), MoreExecutors.directExecutor()); getTsKvListCallback(response, useStrictDataTypes), MoreExecutors.directExecutor());
return response; return response;
@ -364,12 +364,7 @@ public class TelemetryController extends BaseController {
@RequestParam(name = "useStrictDataTypes", required = false, defaultValue = "false") Boolean useStrictDataTypes, @RequestParam(name = "useStrictDataTypes", required = false, defaultValue = "false") Boolean useStrictDataTypes,
@Parameter(hidden = true) @Parameter(hidden = true)
@RequestParam MultiValueMap<String, String> params) throws ThingsboardException { @RequestParam MultiValueMap<String, String> params) throws ThingsboardException {
List<String> keys = getKeys(keysStr, params); return getTimeseries(entityType, entityIdStr, keysStr, startTs, endTs, intervalType, interval, timeZone, limit, aggStr, orderBy, useStrictDataTypes, params);
DeferredResult<ResponseEntity> response = new DeferredResult<>();
Futures.addCallback(tbTelemetryService.getTimeseries(EntityIdFactory.getByTypeAndId(entityType, entityIdStr), keys, startTs, endTs,
intervalType, interval, timeZone, limit, Aggregation.valueOf(aggStr), orderBy, useStrictDataTypes, getCurrentUser()),
getTsKvListCallback(response, useStrictDataTypes), MoreExecutors.directExecutor());
return response;
} }
@ApiOperation(value = "Save device attributes (saveDeviceAttributes)", @ApiOperation(value = "Save device attributes (saveDeviceAttributes)",

10
common/data/src/main/java/org/thingsboard/server/common/data/ai/dto/TbContent.java

@ -19,11 +19,18 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo;
import dev.langchain4j.data.message.Content; import dev.langchain4j.data.message.Content;
import dev.langchain4j.data.message.TextContent; import dev.langchain4j.data.message.TextContent;
import io.swagger.v3.oas.annotations.media.DiscriminatorMapping;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import static org.thingsboard.server.common.data.ai.dto.TbContent.TbTextContent; import static org.thingsboard.server.common.data.ai.dto.TbContent.TbTextContent;
@Schema(
discriminatorProperty = "contentType",
discriminatorMapping = {
@DiscriminatorMapping(value = "TEXT", schema = TbTextContent.class)
}
)
@JsonTypeInfo( @JsonTypeInfo(
use = JsonTypeInfo.Id.NAME, use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY, include = JsonTypeInfo.As.PROPERTY,
@ -46,7 +53,8 @@ public sealed interface TbContent permits TbTextContent {
} }
@Schema( @Schema(
description = "Text-based content part of a user's prompt" description = "Text-based content part of a user's prompt",
allOf = TbContent.class
) )
record TbTextContent( record TbTextContent(
@NotBlank @NotBlank

11
common/data/src/main/java/org/thingsboard/server/common/data/alarm/rule/condition/expression/AlarmConditionExpression.java

@ -20,7 +20,17 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonSubTypes.Type; import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.swagger.v3.oas.annotations.media.DiscriminatorMapping;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(
description = "Base export container for ThingsBoard entities",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "SIMPLE", schema = SimpleAlarmConditionExpression.class),
@DiscriminatorMapping(value = "TBEL", schema = TbelAlarmConditionExpression.class)
}
)
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({ @JsonSubTypes({
@ -29,6 +39,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
}) })
public interface AlarmConditionExpression { public interface AlarmConditionExpression {
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
@JsonIgnore @JsonIgnore
AlarmConditionExpressionType getType(); AlarmConditionExpressionType getType();

Loading…
Cancel
Save