Browse Source

Swagger Documentation for Save Device and Update Device Credentials

pull/5293/head
Andrii Shvaika 5 years ago
parent
commit
5285cec69d
  1. 12
      application/src/main/java/org/thingsboard/server/controller/DeviceController.java
  2. 34
      common/data/src/main/java/org/thingsboard/server/common/data/Device.java
  3. 2
      common/data/src/main/java/org/thingsboard/server/common/data/device/data/DefaultDeviceConfiguration.java
  4. 2
      common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceConfiguration.java
  5. 2
      common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceData.java
  6. 2
      common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceTransportConfiguration.java
  7. 5
      common/data/src/main/java/org/thingsboard/server/common/data/id/AlarmId.java
  8. 5
      common/data/src/main/java/org/thingsboard/server/common/data/id/ApiUsageStateId.java
  9. 5
      common/data/src/main/java/org/thingsboard/server/common/data/id/AssetId.java
  10. 5
      common/data/src/main/java/org/thingsboard/server/common/data/id/CustomerId.java
  11. 5
      common/data/src/main/java/org/thingsboard/server/common/data/id/DashboardId.java
  12. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/DeviceProfileId.java
  13. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/EdgeId.java
  14. 2
      common/data/src/main/java/org/thingsboard/server/common/data/id/EntityViewId.java
  15. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/OtaPackageId.java
  16. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/RpcId.java
  17. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/RuleChainId.java
  18. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/RuleNodeId.java
  19. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/TbResourceId.java
  20. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/TenantId.java
  21. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/TenantProfileId.java
  22. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/UserId.java
  23. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/WidgetTypeId.java
  24. 3
      common/data/src/main/java/org/thingsboard/server/common/data/id/WidgetsBundleId.java
  25. 22
      common/data/src/main/java/org/thingsboard/server/common/data/security/DeviceCredentials.java

12
application/src/main/java/org/thingsboard/server/controller/DeviceController.java

@ -129,11 +129,15 @@ public class DeviceController extends BaseController {
}
}
@ApiOperation(value = "Create Or Update Device (saveDevice)", notes = "Platform generates random device Id and credentials (access token) during device creation. " +
"The device id will be present in the response. " +
"Specify the device id when you would like to update the device. Referencing non-existing device Id will cause error.")
@PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
@RequestMapping(value = "/device", method = RequestMethod.POST)
@ResponseBody
public Device saveDevice(@RequestBody Device device,
@RequestParam(name = "accessToken", required = false) String accessToken) throws ThingsboardException {
public Device saveDevice(@ApiParam(value = "A JSON value representing the device.") @RequestBody Device device,
@ApiParam(value = "Optional value of the device credentials to be used during device creation. " +
"If omitted, access token will be auto-generated.") @RequestParam(name = "accessToken", required = false) String accessToken) throws ThingsboardException {
boolean created = device.getId() == null;
try {
device.setTenantId(getCurrentUser().getTenantId());
@ -307,14 +311,14 @@ public class DeviceController extends BaseController {
}
}
@ApiOperation(value = "Updates device credentials.", notes = "During device creation, platform generates random 'ACCESS_TOKEN' credentials. " +
@ApiOperation(value = "Update device credentials (updateDeviceCredentials)", notes = "During device creation, platform generates random 'ACCESS_TOKEN' credentials. " +
"Use this method to update the device credentials. First use 'getDeviceCredentialsByDeviceId' to get the credentials id and value. " +
"Then use current method to update the credentials type and value. It is not possible to create multiple device credentials for the same device. " +
"The structure of device credentials id and value is simple for the 'ACCESS_TOKEN' but is much more complex for the 'MQTT_BASIC' or 'LWM2M_CREDENTIALS'.")
@PreAuthorize("hasAuthority('TENANT_ADMIN')")
@RequestMapping(value = "/device/credentials", method = RequestMethod.POST)
@ResponseBody
public DeviceCredentials saveDeviceCredentials(
public DeviceCredentials updateDeviceCredentials(
@ApiParam(value = "A JSON value representing the device credentials.")
@RequestBody DeviceCredentials deviceCredentials) throws ThingsboardException {
checkNotNull(deviceCredentials);

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

@ -17,6 +17,9 @@ package org.thingsboard.server.common.data;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.thingsboard.server.common.data.device.data.DeviceData;
@ -31,6 +34,7 @@ import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.Optional;
@ApiModel
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implements HasName, HasTenantId, HasCustomerId, HasOtaPackage {
@ -88,6 +92,22 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
return this;
}
@ApiModelProperty(position = 1, value = "JSON object with the device Id. " +
"Specify this field to update the device. " +
"Referencing non-existing device Id will cause error. " +
"Omit this field to create new device." )
@Override
public DeviceId getId() {
return super.getId();
}
@ApiModelProperty(position = 2, value = "Timestamp of the device creation, in milliseconds", example = "1609459200000", readOnly = true)
@Override
public long getCreatedTime() {
return super.getCreatedTime();
}
@ApiModelProperty(position = 3, value = "JSON object with Tenant Id. Use 'assignDeviceToTenant' to change the Tenant Id.", readOnly = true)
public TenantId getTenantId() {
return tenantId;
}
@ -96,6 +116,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.tenantId = tenantId;
}
@ApiModelProperty(position = 4, value = "JSON object with Customer Id. Use 'assignDeviceToCustomer' to change the Customer Id.", readOnly = true)
public CustomerId getCustomerId() {
return customerId;
}
@ -104,6 +125,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.customerId = customerId;
}
@ApiModelProperty(position = 5, required = true, value = "Unique Device Name in scope of Tenant", example = "A4B72CCDFF33")
@Override
public String getName() {
return name;
@ -113,6 +135,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.name = name;
}
@ApiModelProperty(position = 6, required = true, value = "Device Profile Name", example = "Temperature Sensor")
public String getType() {
return type;
}
@ -121,6 +144,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.type = type;
}
@ApiModelProperty(position = 7, required = true, value = "Label that may be used in widgets", example = "Room 234 Sensor")
public String getLabel() {
return label;
}
@ -129,6 +153,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.label = label;
}
@ApiModelProperty(position = 8, required = true, value = "JSON object with Device Profile Id.")
public DeviceProfileId getDeviceProfileId() {
return deviceProfileId;
}
@ -137,6 +162,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.deviceProfileId = deviceProfileId;
}
@ApiModelProperty(position = 9, value = "JSON object with content specific to type of transport in the device profile.")
public DeviceData getDeviceData() {
if (deviceData != null) {
return deviceData;
@ -169,6 +195,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
return getName();
}
@ApiModelProperty(position = 10, value = "JSON object with Ota Package Id.")
public OtaPackageId getFirmwareId() {
return firmwareId;
}
@ -177,6 +204,7 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.firmwareId = firmwareId;
}
@ApiModelProperty(position = 11, value = "JSON object with Ota Package Id.")
public OtaPackageId getSoftwareId() {
return softwareId;
}
@ -185,6 +213,12 @@ public class Device extends SearchTextBasedWithAdditionalInfo<DeviceId> implemen
this.softwareId = softwareId;
}
@ApiModelProperty(position = 12, value = "Additional parameters of the device", dataType = "com.fasterxml.jackson.databind.JsonNode")
@Override
public JsonNode getAdditionalInfo() {
return super.getAdditionalInfo();
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();

2
common/data/src/main/java/org/thingsboard/server/common/data/device/data/DefaultDeviceConfiguration.java

@ -15,9 +15,11 @@
*/
package org.thingsboard.server.common.data.device.data;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.thingsboard.server.common.data.DeviceProfileType;
@ApiModel
@Data
public class DefaultDeviceConfiguration implements DeviceConfiguration {

2
common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceConfiguration.java

@ -19,8 +19,10 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.swagger.annotations.ApiModel;
import org.thingsboard.server.common.data.DeviceProfileType;
@ApiModel
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,

2
common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceData.java

@ -15,8 +15,10 @@
*/
package org.thingsboard.server.common.data.device.data;
import io.swagger.annotations.ApiModel;
import lombok.Data;
@ApiModel
@Data
public class DeviceData {

2
common/data/src/main/java/org/thingsboard/server/common/data/device/data/DeviceTransportConfiguration.java

@ -19,10 +19,12 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import io.swagger.annotations.ApiModel;
import org.thingsboard.server.common.data.DeviceTransportType;
import java.io.Serializable;
@ApiModel
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,

5
common/data/src/main/java/org/thingsboard/server/common/data/id/AlarmId.java

@ -18,10 +18,13 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ApiModel
public class AlarmId extends UUIDBased implements EntityId {
private static final long serialVersionUID = 1L;
@ -35,7 +38,7 @@ public class AlarmId extends UUIDBased implements EntityId {
return new AlarmId(UUID.fromString(alarmId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "ALARM", allowableValues = "ALARM")
@Override
public EntityType getEntityType() {
return EntityType.ALARM;

5
common/data/src/main/java/org/thingsboard/server/common/data/id/ApiUsageStateId.java

@ -18,10 +18,13 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ApiModel
public class ApiUsageStateId extends UUIDBased implements EntityId {
@JsonCreator
@ -33,7 +36,7 @@ public class ApiUsageStateId extends UUIDBased implements EntityId {
return new ApiUsageStateId(UUID.fromString(userId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "API_USAGE_STATE", allowableValues = "API_USAGE_STATE")
@Override
public EntityType getEntityType() {
return EntityType.API_USAGE_STATE;

5
common/data/src/main/java/org/thingsboard/server/common/data/id/AssetId.java

@ -18,10 +18,13 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ApiModel
public class AssetId extends UUIDBased implements EntityId {
private static final long serialVersionUID = 1L;
@ -35,7 +38,7 @@ public class AssetId extends UUIDBased implements EntityId {
return new AssetId(UUID.fromString(assetId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "ASSET", allowableValues = "ASSET")
@Override
public EntityType getEntityType() {
return EntityType.ASSET;

5
common/data/src/main/java/org/thingsboard/server/common/data/id/CustomerId.java

@ -20,8 +20,11 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
@ApiModel
public final class CustomerId extends UUIDBased implements EntityId {
private static final long serialVersionUID = 1L;
@ -31,7 +34,7 @@ public final class CustomerId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "CUSTOMER", allowableValues = "CUSTOMER")
@Override
public EntityType getEntityType() {
return EntityType.CUSTOMER;

5
common/data/src/main/java/org/thingsboard/server/common/data/id/DashboardId.java

@ -20,8 +20,11 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
@ApiModel
public class DashboardId extends UUIDBased implements EntityId {
@JsonCreator
@ -33,7 +36,7 @@ public class DashboardId extends UUIDBased implements EntityId {
return new DashboardId(UUID.fromString(dashboardId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "DASHBOARD", allowableValues = "DASHBOARD")
@Override
public EntityType getEntityType() {
return EntityType.DASHBOARD;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/DeviceProfileId.java

@ -20,6 +20,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
public class DeviceProfileId extends UUIDBased implements EntityId {
@ -35,7 +36,7 @@ public class DeviceProfileId extends UUIDBased implements EntityId {
return new DeviceProfileId(UUID.fromString(deviceProfileId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "DEVICE_PROFILE", allowableValues = "DEVICE_PROFILE")
@Override
public EntityType getEntityType() {
return EntityType.DEVICE_PROFILE;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/EdgeId.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -35,7 +36,7 @@ public class EdgeId extends UUIDBased implements EntityId {
return new EdgeId(UUID.fromString(integrationId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "EDGE", allowableValues = "EDGE")
@Override
public EntityType getEntityType() {
return EntityType.EDGE;

2
common/data/src/main/java/org/thingsboard/server/common/data/id/EntityViewId.java

@ -17,6 +17,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -37,6 +38,7 @@ public class EntityViewId extends UUIDBased implements EntityId {
return new EntityViewId(UUID.fromString(entityViewID));
}
@ApiModelProperty(position = 2, required = true, value = "string", example = "ENTITY_VIEW", allowableValues = "ENTITY_VIEW")
@Override
public EntityType getEntityType() {
return EntityType.ENTITY_VIEW;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/OtaPackageId.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -35,7 +36,7 @@ public class OtaPackageId extends UUIDBased implements EntityId {
return new OtaPackageId(UUID.fromString(firmwareId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "OTA_PACKAGE", allowableValues = "OTA_PACKAGE")
@Override
public EntityType getEntityType() {
return EntityType.OTA_PACKAGE;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/RpcId.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -31,7 +32,7 @@ public final class RpcId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "RPC", allowableValues = "RPC")
@Override
public EntityType getEntityType() {
return EntityType.RPC;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/RuleChainId.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -29,7 +30,7 @@ public class RuleChainId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "RULE_CHAIN", allowableValues = "RULE_CHAIN")
@Override
public EntityType getEntityType() {
return EntityType.RULE_CHAIN;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/RuleNodeId.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -29,7 +30,7 @@ public class RuleNodeId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "RULE_NODE", allowableValues = "RULE_NODE")
@Override
public EntityType getEntityType() {
return EntityType.RULE_NODE;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/TbResourceId.java

@ -18,6 +18,7 @@ package org.thingsboard.server.common.data.id;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
import java.util.UUID;
@ -31,7 +32,7 @@ public class TbResourceId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "TB_RESOURCE", allowableValues = "TB_RESOURCE")
@Override
public EntityType getEntityType() {
return EntityType.TB_RESOURCE;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/TenantId.java

@ -20,6 +20,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
public final class TenantId extends UUIDBased implements EntityId {
@ -34,7 +35,7 @@ public final class TenantId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "TENANT", allowableValues = "TENANT")
@Override
public EntityType getEntityType() {
return EntityType.TENANT;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/TenantProfileId.java

@ -20,6 +20,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
public class TenantProfileId extends UUIDBased implements EntityId {
@ -35,7 +36,7 @@ public class TenantProfileId extends UUIDBased implements EntityId {
return new TenantProfileId(UUID.fromString(tenantProfileId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "TENANT_PROFILE", allowableValues = "TENANT_PROFILE")
@Override
public EntityType getEntityType() {
return EntityType.TENANT_PROFILE;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/UserId.java

@ -20,6 +20,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
public class UserId extends UUIDBased implements EntityId {
@ -33,7 +34,7 @@ public class UserId extends UUIDBased implements EntityId {
return new UserId(UUID.fromString(userId));
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "USER", allowableValues = "USER")
@Override
public EntityType getEntityType() {
return EntityType.USER;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/WidgetTypeId.java

@ -20,6 +20,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
public final class WidgetTypeId extends UUIDBased implements EntityId {
@ -31,7 +32,7 @@ public final class WidgetTypeId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "WIDGET_TYPE", allowableValues = "WIDGET_TYPE")
@Override
public EntityType getEntityType() {
return EntityType.WIDGET_TYPE;

3
common/data/src/main/java/org/thingsboard/server/common/data/id/WidgetsBundleId.java

@ -20,6 +20,7 @@ import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import org.thingsboard.server.common.data.EntityType;
public final class WidgetsBundleId extends UUIDBased implements EntityId {
@ -31,7 +32,7 @@ public final class WidgetsBundleId extends UUIDBased implements EntityId {
super(id);
}
@JsonIgnore
@ApiModelProperty(position = 2, required = true, value = "string", example = "WIDGETS_BUNDLE", allowableValues = "WIDGETS_BUNDLE")
@Override
public EntityType getEntityType() {
return EntityType.WIDGETS_BUNDLE;

22
common/data/src/main/java/org/thingsboard/server/common/data/security/DeviceCredentials.java

@ -22,8 +22,8 @@ import org.thingsboard.server.common.data.BaseData;
import org.thingsboard.server.common.data.id.DeviceCredentialsId;
import org.thingsboard.server.common.data.id.DeviceId;
@EqualsAndHashCode(callSuper = true)
@ApiModel
@EqualsAndHashCode(callSuper = true)
public class DeviceCredentials extends BaseData<DeviceCredentialsId> implements DeviceCredentialsFilter {
private static final long serialVersionUID = -7869261127032877765L;
@ -48,19 +48,21 @@ public class DeviceCredentials extends BaseData<DeviceCredentialsId> implements
this.credentialsValue = deviceCredentials.getCredentialsValue();
}
@ApiModelProperty(position = 1, required = true, value = "string", example = "784f394c-42b6-435a-983c-b7beff2784f9")
@ApiModelProperty(position = 1, required = true, readOnly = true, value = "The Id is automatically generated during device creation. " +
"Use 'getDeviceCredentialsByDeviceId' to obtain the id based on device id. " +
"Use 'updateDeviceCredentials' to update device credentials. ", example = "784f394c-42b6-435a-983c-b7beff2784f9")
@Override
public DeviceCredentialsId getId() {
return super.getId();
}
@ApiModelProperty(position = 2, value = "long", example = "1609459200000")
@ApiModelProperty(position = 2, value = "Timestamp of the device credentials creation, in milliseconds", example = "1609459200000")
@Override
public long getCreatedTime() {
return super.getCreatedTime();
}
@ApiModelProperty(position = 3, required = true)
@ApiModelProperty(position = 3, required = true, value = "JSON object with the device Id.")
public DeviceId getDeviceId() {
return deviceId;
}
@ -69,7 +71,7 @@ public class DeviceCredentials extends BaseData<DeviceCredentialsId> implements
this.deviceId = deviceId;
}
@ApiModelProperty(position = 4, value = "string", allowableValues="ACCESS_TOKEN, X509_CERTIFICATE, MQTT_BASIC, LWM2M_CREDENTIALS")
@ApiModelProperty(position = 4, value = "Type of the credentials", allowableValues="ACCESS_TOKEN, X509_CERTIFICATE, MQTT_BASIC, LWM2M_CREDENTIALS")
@Override
public DeviceCredentialsType getCredentialsType() {
return credentialsType;
@ -79,7 +81,11 @@ public class DeviceCredentials extends BaseData<DeviceCredentialsId> implements
this.credentialsType = credentialsType;
}
@ApiModelProperty(position = 5, required = true, value = "string", example = "By default, new access token for your device. Depends on the credentialsType.")
@ApiModelProperty(position = 5, required = true, value = "Unique Credentials Id per platform instance. " +
"Used to lookup credentials from the database. " +
"By default, new access token for your device. " +
"Depends on the type of the credentials."
, example = "Access token or other value that depends on the credentials type")
@Override
public String getCredentialsId() {
return credentialsId;
@ -89,7 +95,9 @@ public class DeviceCredentials extends BaseData<DeviceCredentialsId> implements
this.credentialsId = credentialsId;
}
@ApiModelProperty(position = 6, required = false, value = "string", example = "Null in case of ACCESS_TOKEN, Depends on the credentialsType.")
@ApiModelProperty(position = 6, value = "Value of the credentials. " +
"Null in case of ACCESS_TOKEN credentials type. Base64 value in case of X509_CERTIFICATE. " +
"Complex object in case of MQTT_BASIC and LWM2M_CREDENTIALS", example = "Null in case of ACCESS_TOKEN. See model definition.")
public String getCredentialsValue() {
return credentialsValue;
}

Loading…
Cancel
Save