Commit bcac3aaeedd50ebbf91dd2c3dfa38a1c08321247

Authored by Andrii Shvaika
1 parent 55e8a454

Swagger improvements

... ... @@ -153,6 +153,27 @@ import static org.thingsboard.server.dao.service.Validator.validateId;
153 153 @TbCoreComponent
154 154 public abstract class BaseController {
155 155
  156 + /*Swagger UI description*/
  157 + public static final String PAGE_DATA_PARAMETERS = "You can specify parameters to filter the results. ";
  158 + public static final String DEVICE_ID_PARAM_DESCRIPTION = "A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
  159 + public static final String DEVICE_PROFILE_ID_DESCRIPTION = "A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
  160 + public static final String TENANT_ID_PARAM_DESCRIPTION = "A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
  161 + public static final String EDGE_ID_PARAM_DESCRIPTION = "A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
  162 + public static final String CUSTOMER_ID_PARAM_DESCRIPTION = "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
  163 +
  164 + protected final String PAGE_SIZE_DESCRIPTION = "Maximum amount of entities in a one page";
  165 + protected final String PAGE_NUMBER_DESCRIPTION = "Sequence number of page starting from 0";
  166 + protected final String DEVICE_TYPE_DESCRIPTION = "Device type as the name of the device profile";
  167 + protected final String DEVICE_TEXT_SEARCH_DESCRIPTION = "The search is performed by device special field 'textSearch' represented by device name";
  168 + protected final String SORT_PROPERTY_DESCRIPTION = "Property of device to sort by";
  169 + protected final String SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, name, label, type";
  170 + protected final String SORT_ORDER_DESCRIPTION = "Sort order. ASC (ASCENDING) or DESCENDING (DESC)";
  171 + protected final String SORT_ORDER_ALLOWABLE_VALUES = "ASC, DESC";
  172 + protected final String DEVICE_INFO_DESCRIPTION = "Device Info is an object which are an extension of default Device object. " +
  173 + "Apart from Device object, Device Info provides additional information such as customer name and device profile name. ";
  174 +
  175 +
  176 +
156 177 public static final String INCORRECT_TENANT_ID = "Incorrect tenantId ";
157 178 protected static final String DEFAULT_DASHBOARD = "defaultDashboardId";
158 179 protected static final String HOME_DASHBOARD = "homeDashboardId";
... ...
... ... @@ -93,27 +93,12 @@ import static org.thingsboard.server.controller.EdgeController.EDGE_ID;
93 93 @RequiredArgsConstructor
94 94 @Slf4j
95 95 public class DeviceController extends BaseController {
96   - private final DeviceBulkImportService deviceBulkImportService;
97 96
98   - public static final String DEVICE_ID_PARAM_DESCRIPTION = "A string value representing the device id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
99   - public static final String DEVICE_PROFILE_ID_DESCRIPTION = "A string value representing the device profile id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
100   - public static final String TENANT_ID_PARAM_DESCRIPTION = "A string value representing the tenant id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
101   - public static final String EDGE_ID_PARAM_DESCRIPTION = "A string value representing the edge id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
102   - public static final String CUSTOMER_ID_PARAM_DESCRIPTION = "A string value representing the customer id. For example, '784f394c-42b6-435a-983c-b7beff2784f9'";
103   -
104   - private static final String DEVICE_ID = "deviceId";
105   - private static final String DEVICE_NAME = "deviceName";
106   - private static final String TENANT_ID = "tenantId";
107   - private final String PAGE_SIZE_DESCRIPTION = "Maximum amount of entities in a one page";
108   - private final String PAGE_NUMBER_DESCRIPTION = "Sequence number of page starting from 0";
109   - private final String DEVICE_TYPE_DESCRIPTION = "Device type as the name of the device profile";
110   - private final String DEVICE_TEXT_SEARCH_DESCRIPTION = "The search is performed by device special field 'textSearch' represented by device name";
111   - private final String SORT_PROPERTY_DESCRIPTION = "Property of device to sort by";
112   - private final String SORT_PROPERTY_ALLOWABLE_VALUES = "createdTime, name, label, type";
113   - private final String SORT_ORDER_DESCRIPTION = "Sort order. ASC (ASCENDING) or DESCENDING (DESC)";
114   - private final String SORT_ORDER_ALLOWABLE_VALUES = "ASC, DESC";
115   - private final String DEVICE_INFO_DESCRIPTION = "Device Info is an object which are an extension of default Device object. " +
116   - "Apart from Device object, Device Info provides additional information such as customer name and device profile name. ";
  97 + protected static final String DEVICE_ID = "deviceId";
  98 + protected static final String DEVICE_NAME = "deviceName";
  99 + protected static final String TENANT_ID = "tenantId";
  100 +
  101 + private final DeviceBulkImportService deviceBulkImportService;
117 102
118 103 @ApiOperation(value = "Get Device (getDeviceById)",
119 104 notes = "If device with given Id exists in the system it will be present in the response, otherwise an empty object will be provided")
... ... @@ -377,7 +362,7 @@ public class DeviceController extends BaseController {
377 362 }
378 363
379 364 @ApiOperation(value = "Get Tenant Devices (getEdgeDevices)",
380   - notes = "Returns a page (representation of a bunch) of devices in the possession of tenant. " +
  365 + notes = "Returns a page of devices owned by tenant. " +
381 366 "You can specify number of parameters to filter the result set of devices. ")
382 367 @PreAuthorize("hasAuthority('TENANT_ADMIN')")
383 368 @RequestMapping(value = "/tenant/devices", params = {"pageSize", "page"}, method = RequestMethod.GET)
... ... @@ -409,8 +394,8 @@ public class DeviceController extends BaseController {
409 394 }
410 395
411 396 @ApiOperation(value = "Get Tenant Device Infos (getTenantDeviceInfos)",
412   - notes = "Returns a page (representation of a bunch) of devices info objects in the possession of tenant. " +
413   - "You can specify number of parameters to filter the result set. " + DEVICE_INFO_DESCRIPTION)
  397 + notes = "Returns a page of devices info objects owned by tenant. " +
  398 + PAGE_DATA_PARAMETERS + DEVICE_INFO_DESCRIPTION)
414 399 @PreAuthorize("hasAuthority('TENANT_ADMIN')")
415 400 @RequestMapping(value = "/tenant/deviceInfos", params = {"pageSize", "page"}, method = RequestMethod.GET)
416 401 @ResponseBody
... ... @@ -447,8 +432,8 @@ public class DeviceController extends BaseController {
447 432 }
448 433
449 434 @ApiOperation(value = "Get Tenant Device (getTenantDevice)",
450   - notes = "Requested device must be in the possession of user that perform request. " +
451   - "In the Thingsboard platform Device name is an unique property of device. So it can be used to identify the device.")
  435 + notes = "Requested device must be owned by tenant of customer that the user belongs to. " +
  436 + "Device name is an unique property of device. So it can be used to identify the device.")
452 437 @PreAuthorize("hasAuthority('TENANT_ADMIN')")
453 438 @RequestMapping(value = "/tenant/devices", params = {"deviceName"}, method = RequestMethod.GET)
454 439 @ResponseBody
... ... @@ -463,8 +448,8 @@ public class DeviceController extends BaseController {
463 448 }
464 449
465 450 @ApiOperation(value = "Get Customer Devices (getCustomerDevices)",
466   - notes = "Returns a page (representation of a bunch) of devices objects in the possession of customer. " +
467   - "You can specify number of parameters to filter the result set. ")
  451 + notes = "Returns a page of devices objects assigned to customer. " +
  452 + PAGE_DATA_PARAMETERS)
468 453 @PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
469 454 @RequestMapping(value = "/customer/{customerId}/devices", params = {"pageSize", "page"}, method = RequestMethod.GET)
470 455 @ResponseBody
... ... @@ -500,8 +485,8 @@ public class DeviceController extends BaseController {
500 485 }
501 486
502 487 @ApiOperation(value = "Get Customer Device Infos (getCustomerDeviceInfos)",
503   - notes = "Returns a page (representation of a bunch) of devices info objects in the possession of customer. " +
504   - "You can specify number of parameters to filter the result set. " + DEVICE_INFO_DESCRIPTION)
  488 + notes = "Returns a page of devices info objects assigned to customer. " +
  489 + PAGE_DATA_PARAMETERS + DEVICE_INFO_DESCRIPTION)
505 490 @PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
506 491 @RequestMapping(value = "/customer/{customerId}/deviceInfos", params = {"pageSize", "page"}, method = RequestMethod.GET)
507 492 @ResponseBody
... ... @@ -782,10 +767,9 @@ public class DeviceController extends BaseController {
782 767 }
783 768
784 769 @ApiOperation(value = "Assign device to edge (assignDeviceToEdge)",
785   - notes = "Creates assignment of an existing device to an instance of The ThingsBoard Edge. " +
786   - "The ThingsBoard Edge is a ThingsBoard’s software product for edge computing. " +
787   - "It allows bringing data analysis and management to the edge, while seamlessly synchronizing with ThingsBoard CE/PE server (cloud). " +
788   - "See official documentation for more details regarding provisioning the edge on ThingsBoard server")
  770 + notes = "Creates assignment of an existing device to an instance of The Edge. " +
  771 + "The Edge is a software product for edge computing. " +
  772 + "It allows bringing data analysis and management to the edge, while seamlessly synchronizing with the platform server (cloud). ")
789 773 @PreAuthorize("hasAuthority('TENANT_ADMIN')")
790 774 @RequestMapping(value = "/edge/{edgeId}/device/{deviceId}", method = RequestMethod.POST)
791 775 @ResponseBody
... ... @@ -861,7 +845,7 @@ public class DeviceController extends BaseController {
861 845 }
862 846
863 847 @ApiOperation(value = "Get devices assigned to edge (getEdgeDevices)",
864   - notes = "Returns a page (representation of a bunch) of devices assigned to edge. " +
  848 + notes = "Returns a page of devices assigned to edge. " +
865 849 "You can specify number of parameters to filter the result set of devices. ")
866 850 @PreAuthorize("hasAnyAuthority('TENANT_ADMIN', 'CUSTOMER_USER')")
867 851 @RequestMapping(value = "/edge/{edgeId}/devices", params = {"pageSize", "page"}, method = RequestMethod.GET)
... ... @@ -916,7 +900,7 @@ public class DeviceController extends BaseController {
916 900 }
917 901
918 902 @ApiOperation(value = "Count devices by device profile (countByDeviceProfileAndEmptyOtaPackage)",
919   - notes = "The Thingsboard platform gives an ability to load OTA (over-the-air) packages to devices. " +
  903 + notes = "The platform gives an ability to load OTA (over-the-air) packages to devices. " +
920 904 "It can be done in two different ways: device scope or device profile scope." +
921 905 "In the response you will find the number of devices with specified device profile, but without previously defined device scope OTA package. " +
922 906 "It can be useful when you want to define number of devices that will be affected with future OTA package")
... ...