Browse Source

improved some swagger annotations

pull/14929/head
dashevchenko 7 months ago
parent
commit
9b27bdad63
  1. 1
      application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java
  2. 2
      application/src/main/java/org/thingsboard/server/controller/DashboardController.java
  3. 1
      application/src/main/java/org/thingsboard/server/controller/TenantController.java
  4. 1
      application/src/main/java/org/thingsboard/server/controller/TenantProfileController.java
  5. 2
      application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java
  6. 2
      common/data/src/main/java/org/thingsboard/server/common/data/ai/provider/OllamaProviderConfig.java
  7. 1
      common/data/src/main/java/org/thingsboard/server/common/data/alarm/rule/condition/expression/AlarmConditionExpression.java
  8. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/AttributesOutputStrategy.java
  9. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/CalculatedFieldConfiguration.java
  10. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/CfArgumentDynamicSourceConfiguration.java
  11. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/Output.java
  12. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/TimeSeriesOutputStrategy.java
  13. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/aggregation/AggInput.java
  14. 1
      common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/aggregation/single/interval/AggInterval.java
  15. 1
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/CoapDeviceProfileTransportConfiguration.java
  16. 1
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/DefaultDeviceProfileTransportConfiguration.java
  17. 1
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/MqttDeviceProfileTransportConfiguration.java
  18. 1
      common/data/src/main/java/org/thingsboard/server/common/data/device/profile/SnmpDeviceProfileTransportConfiguration.java
  19. 2
      common/data/src/main/java/org/thingsboard/server/common/data/notification/rule/DefaultNotificationRuleRecipientsConfig.java
  20. 15
      common/data/src/main/java/org/thingsboard/server/common/data/notification/rule/NotificationRuleRecipientsConfig.java
  21. 1
      common/data/src/main/java/org/thingsboard/server/common/data/sms/config/SmppSmsProviderConfiguration.java

1
application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java

@ -309,7 +309,6 @@ public class SwaggerConfiguration {
.type("integer")
.description("Platform error code")
._enum(Arrays.asList(2, 10, 11, 15, 20, 30, 31, 32, 33, 34, 35, 40, 45, 46));
openAPI.getComponents().addSchemas("ThingsboardErrorCode", errorCodeSchema);
openAPI.getComponents()
.addSchemas("LoginRequest", ModelConverters.getInstance().readAllAsResolvedSchema(new AnnotatedType().type(LoginRequest.class)).schema)
.addSchemas("LoginResponse", ModelConverters.getInstance().readAllAsResolvedSchema(new AnnotatedType().type(LoginResponse.class)).schema)

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

@ -132,7 +132,7 @@ public class DashboardController extends BaseController {
"The actual value of the limit is configurable in the system configuration file.")
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER')")
@GetMapping(value = "/dashboard/maxDatapointsLimit")
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(type = "integer", format = "int64", example = "1636023857137")))
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(type = "integer", format = "int64", example = "5000")))
public long getMaxDatapointsLimit() {
return maxDatapointsLimit;
}

1
application/src/main/java/org/thingsboard/server/controller/TenantController.java

@ -184,6 +184,7 @@ public class TenantController extends BaseController {
return filterTenantsByReadPermission(tenants);
}
@ApiOperation(value = "Get Tenants list (getTenantsByIdsV2)")
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
@GetMapping(value = "/tenants/list")
public List<Tenant> getTenantsByIdsV2(

1
application/src/main/java/org/thingsboard/server/controller/TenantProfileController.java

@ -266,6 +266,7 @@ public class TenantProfileController extends BaseController {
return tenantProfileService.findTenantProfilesByIds(TenantId.SYS_TENANT_ID, ids);
}
@ApiOperation(value = "Get Tenant Profile list (getTenantProfileList)")
@GetMapping(value = "/tenantProfiles/list")
@PreAuthorize("hasAuthority('SYS_ADMIN')")
public List<TenantProfile> getTenantProfileList(@Parameter(description = "Comma-separated list of tenant profile ids", array = @ArraySchema(schema = @Schema(type = "string")))

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

@ -22,8 +22,6 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

2
common/data/src/main/java/org/thingsboard/server/common/data/ai/provider/OllamaProviderConfig.java

@ -22,7 +22,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
@Schema(allOf = AiProviderConfig.class)
@Schema
public record OllamaProviderConfig(
@NotNull String baseUrl,
@NotNull @Valid OllamaAuth auth

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

@ -24,7 +24,6 @@ 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),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/AttributesOutputStrategy.java

@ -22,7 +22,6 @@ import io.swagger.v3.oas.annotations.media.DiscriminatorMapping;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "IMMEDIATE", schema = AttributesImmediateOutputStrategy.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/CalculatedFieldConfiguration.java

@ -37,7 +37,6 @@ import java.util.Set;
import java.util.stream.Collectors;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "SIMPLE", schema = SimpleCalculatedFieldConfiguration.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/CfArgumentDynamicSourceConfiguration.java

@ -23,7 +23,6 @@ import io.swagger.v3.oas.annotations.media.DiscriminatorMapping;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "RELATION_PATH_QUERY", schema = RelationPathQueryDynamicSourceConfiguration.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/Output.java

@ -27,7 +27,6 @@ import org.thingsboard.server.common.data.AttributeScope;
import java.util.Objects;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "TIME_SERIES", schema = TimeSeriesOutput.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/TimeSeriesOutputStrategy.java

@ -21,7 +21,6 @@ import io.swagger.v3.oas.annotations.media.DiscriminatorMapping;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "IMMEDIATE", schema = TimeSeriesImmediateOutputStrategy.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/aggregation/AggInput.java

@ -23,7 +23,6 @@ import io.swagger.v3.oas.annotations.media.DiscriminatorMapping;
import io.swagger.v3.oas.annotations.media.Schema;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "key", schema = AggKeyInput.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/cf/configuration/aggregation/single/interval/AggInterval.java

@ -26,7 +26,6 @@ import java.time.ZoneId;
import java.time.ZonedDateTime;
@Schema(
description = "Configuration for calculated fields",
discriminatorProperty = "type",
discriminatorMapping = {
@DiscriminatorMapping(value = "HOUR", schema = HourInterval.class),

1
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/CoapDeviceProfileTransportConfiguration.java

@ -29,7 +29,6 @@ public class CoapDeviceProfileTransportConfiguration implements DeviceProfileTra
@Schema
private PowerSavingConfiguration clientSettings;
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
@Override
public DeviceTransportType getType() {
return DeviceTransportType.COAP;

1
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/DefaultDeviceProfileTransportConfiguration.java

@ -23,7 +23,6 @@ import org.thingsboard.server.common.data.DeviceTransportType;
@Data
public class DefaultDeviceProfileTransportConfiguration implements DeviceProfileTransportConfiguration {
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
@Override
public DeviceTransportType getType() {
return DeviceTransportType.DEFAULT;

1
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/MqttDeviceProfileTransportConfiguration.java

@ -48,7 +48,6 @@ public class MqttDeviceProfileTransportConfiguration implements DeviceProfileTra
@Schema
private boolean sendAckOnValidationException;
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, description = "Type of the device transport")
@Override
public DeviceTransportType getType() {
return DeviceTransportType.MQTT;

1
common/data/src/main/java/org/thingsboard/server/common/data/device/profile/SnmpDeviceProfileTransportConfiguration.java

@ -32,7 +32,6 @@ public class SnmpDeviceProfileTransportConfiguration implements DeviceProfileTra
@ArraySchema(schema = @Schema(implementation = SnmpCommunicationConfig.class))
private List<SnmpCommunicationConfig> communicationConfigs;
@Schema(requiredMode = Schema.RequiredMode.REQUIRED)
@Override
public DeviceTransportType getType() {
return DeviceTransportType.SNMP;

2
common/data/src/main/java/org/thingsboard/server/common/data/notification/rule/DefaultNotificationRuleRecipientsConfig.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.common.data.notification.rule;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -23,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
@Schema(description = "Default notification rule recipients configuration", allOf = NotificationRuleRecipientsConfig.class)
@Data
@EqualsAndHashCode(callSuper = true)
public class DefaultNotificationRuleRecipientsConfig extends NotificationRuleRecipientsConfig {

15
common/data/src/main/java/org/thingsboard/server/common/data/notification/rule/NotificationRuleRecipientsConfig.java

@ -34,7 +34,20 @@ import java.util.UUID;
@Schema(
discriminatorProperty = "triggerType",
discriminatorMapping = {
@DiscriminatorMapping(value = "ALARM", schema = EscalatedNotificationRuleRecipientsConfig.class)
@DiscriminatorMapping(value = "ENTITY_ACTION", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "ALARM", schema = EscalatedNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "ALARM_COMMENT", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "ALARM_ASSIGNMENT", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "DEVICE_ACTIVITY", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "RULE_ENGINE_COMPONENT_LIFECYCLE_EVENT", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "EDGE_CONNECTION", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "EDGE_COMMUNICATION_FAILURE", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "NEW_PLATFORM_VERSION", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "ENTITIES_LIMIT", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "API_USAGE_LIMIT", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "RATE_LIMITS", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "TASK_PROCESSING_FAILURE", schema = DefaultNotificationRuleRecipientsConfig.class),
@DiscriminatorMapping(value = "RESOURCES_SHORTAGE", schema = DefaultNotificationRuleRecipientsConfig.class)
})
@JsonIgnoreProperties
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "triggerType", visible = true, include = JsonTypeInfo.As.EXISTING_PROPERTY, defaultImpl = DefaultNotificationRuleRecipientsConfig.class)

1
common/data/src/main/java/org/thingsboard/server/common/data/sms/config/SmppSmsProviderConfiguration.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.sms.config;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Schema
@Data
public class SmppSmsProviderConfiguration implements SmsProviderConfiguration {
@Schema(description = "SMPP version", allowableValues = "3.3, 3.4", requiredMode = Schema.RequiredMode.REQUIRED)

Loading…
Cancel
Save