Browse Source

Fix additionalInfo @Schema annotations: correct copy-paste bugs and document JSON keys

Fix "device" copy-paste errors in Tenant, Customer, and EntityView @Schema descriptions.
Add documented keys and JSON examples to all additionalInfo annotations.
Add missing getAdditionalInfo() override with @Schema to Edge.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
pull/15169/head
Viacheslav Klimov 5 months ago
parent
commit
f48dce0359
Failed to extract signature
  1. 7
      common/data/src/main/java/org/thingsboard/server/common/data/Customer.java
  2. 7
      common/data/src/main/java/org/thingsboard/server/common/data/Device.java
  3. 5
      common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java
  4. 6
      common/data/src/main/java/org/thingsboard/server/common/data/Tenant.java
  5. 11
      common/data/src/main/java/org/thingsboard/server/common/data/User.java
  6. 5
      common/data/src/main/java/org/thingsboard/server/common/data/asset/Asset.java
  7. 10
      common/data/src/main/java/org/thingsboard/server/common/data/edge/Edge.java
  8. 4
      common/data/src/main/java/org/thingsboard/server/common/data/relation/EntityRelation.java
  9. 7
      common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleNode.java

7
common/data/src/main/java/org/thingsboard/server/common/data/Customer.java

@ -140,7 +140,12 @@ public class Customer extends ContactBased<CustomerId> implements HasTenantId, E
return super.getEmail();
}
@Schema(description = "Additional parameters of the device",implementation = com.fasterxml.jackson.databind.JsonNode.class)
@Schema(description = "Additional parameters of the customer. " +
"May include: 'description' (string), 'homeDashboardId' (string, UUID of the home dashboard), " +
"'homeDashboardHideToolbar' (boolean, whether to hide the dashboard toolbar), " +
"'isPublic' (boolean, whether this is a public customer).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"description\":\"Regional customer\",\"homeDashboardId\":\"784f394c-42b6-435a-983c-b7beff2784f9\",\"homeDashboardHideToolbar\":false,\"isPublic\":false}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

7
common/data/src/main/java/org/thingsboard/server/common/data/Device.java

@ -231,7 +231,12 @@ public class Device extends BaseDataWithAdditionalInfo<DeviceId> implements HasL
this.softwareId = softwareId;
}
@Schema(description = "Additional parameters of the device",implementation = com.fasterxml.jackson.databind.JsonNode.class)
@Schema(description = "Additional parameters of the device. " +
"May include: 'gateway' (boolean, whether the device is a gateway), " +
"'description' (string), " +
"'lastConnectedGateway' (string, UUID of the last gateway that connected this device).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"gateway\":false,\"description\":\"Temperature sensor\",\"lastConnectedGateway\":\"784f394c-42b6-435a-983c-b7beff2784f9\"}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

5
common/data/src/main/java/org/thingsboard/server/common/data/EntityView.java

@ -116,7 +116,10 @@ public class EntityView extends BaseDataWithAdditionalInfo<EntityViewId>
return super.getCreatedTime();
}
@Schema(description = "Additional parameters of the device", implementation = com.fasterxml.jackson.databind.JsonNode.class)
@Schema(description = "Additional parameters of the entity view. " +
"May include: 'description' (string).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"description\":\"Temperature readings view\"}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

6
common/data/src/main/java/org/thingsboard/server/common/data/Tenant.java

@ -164,7 +164,11 @@ public class Tenant extends ContactBased<TenantId> implements HasTenantId, HasTi
return super.getEmail();
}
@Schema(description = "Additional parameters of the device", implementation = com.fasterxml.jackson.databind.JsonNode.class)
@Schema(description = "Additional parameters of the tenant. " +
"May include: 'description' (string), 'homeDashboardId' (string, UUID of the home dashboard), " +
"'homeDashboardHideToolbar' (boolean, whether to hide the dashboard toolbar).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"description\":\"Main tenant\",\"homeDashboardId\":\"784f394c-42b6-435a-983c-b7beff2784f9\",\"homeDashboardHideToolbar\":true}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

11
common/data/src/main/java/org/thingsboard/server/common/data/User.java

@ -161,7 +161,16 @@ public class User extends BaseDataWithAdditionalInfo<UserId> implements HasName,
this.phone = phone;
}
@Schema(description = "Additional parameters of the user", implementation = com.fasterxml.jackson.databind.JsonNode.class)
@Schema(description = "Additional parameters of the user. " +
"May include: 'defaultDashboardId' (string, UUID of the default dashboard), " +
"'defaultDashboardFullscreen' (boolean), " +
"'homeDashboardId' (string, UUID of the home dashboard), " +
"'homeDashboardHideToolbar' (boolean), " +
"'lang' (string, user locale, e.g. 'en_US'), " +
"'authProviderName' (string, name of the authentication provider).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"defaultDashboardId\":\"784f394c-42b6-435a-983c-b7beff2784f9\",\"defaultDashboardFullscreen\":false," +
"\"homeDashboardId\":\"784f394c-42b6-435a-983c-b7beff2784f9\",\"homeDashboardHideToolbar\":true,\"lang\":\"en_US\"}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

5
common/data/src/main/java/org/thingsboard/server/common/data/asset/Asset.java

@ -169,7 +169,10 @@ public class Asset extends BaseDataWithAdditionalInfo<AssetId> implements HasLab
this.assetProfileId = assetProfileId;
}
@Schema(description = "Additional parameters of the asset",implementation = com.fasterxml.jackson.databind.JsonNode.class)
@Schema(description = "Additional parameters of the asset. " +
"May include: 'description' (string).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"description\":\"Building A asset\"}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

10
common/data/src/main/java/org/thingsboard/server/common/data/edge/Edge.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.common.data.edge;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.Getter;
@ -153,4 +154,13 @@ public class Edge extends BaseDataWithAdditionalInfo<EdgeId> implements HasLabel
return this.secret;
}
@Schema(description = "Additional parameters of the edge. " +
"May include: 'description' (string).",
implementation = com.fasterxml.jackson.databind.JsonNode.class,
example = "{\"description\":\"Edge at location A\"}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();
}
}

4
common/data/src/main/java/org/thingsboard/server/common/data/relation/EntityRelation.java

@ -103,7 +103,9 @@ public class EntityRelation implements HasVersion, Serializable, EdqsObject {
this.version = entityRelation.getVersion();
}
@Schema(description = "Additional parameters of the relation", implementation = JsonNode.class)
@Schema(description = "Additional parameters of the relation.",
implementation = JsonNode.class,
example = "{\"description\":\"Power supply connection\"}")
public JsonNode getAdditionalInfo() {
return BaseDataWithAdditionalInfo.getJson(() -> additionalInfo, () -> additionalInfoBytes);
}

7
common/data/src/main/java/org/thingsboard/server/common/data/rule/RuleNode.java

@ -105,7 +105,12 @@ public class RuleNode extends BaseDataWithAdditionalInfo<RuleNodeId> implements
return super.getCreatedTime();
}
@Schema(description = "Additional parameters of the rule node. Contains 'layoutX' and 'layoutY' properties for visualization.", implementation = JsonNode.class)
@Schema(description = "Additional parameters of the rule node. " +
"May include: 'layoutX' (number, X coordinate for visualization), " +
"'layoutY' (number, Y coordinate for visualization), " +
"'description' (string).",
implementation = JsonNode.class,
example = "{\"layoutX\":320,\"layoutY\":160,\"description\":\"Filter temperature data\"}")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();

Loading…
Cancel
Save