In this release

New twin sorting functionality is introduced.

New functionality

Sorting

Since this release it is possible to retrieve sorted paged data. By default all paged data is provided as an unsorted collection. In order to obtain paged and sorted data, a new query parameter ‘sort’ is introduced. The new parameter accepts a list of comma separated properties to sort the result by. Parameters could be sorted in either ascending (‘asc’) or descending (desc) order.

Ascending order will be taken by default

All parameters could be provided with sorting order in the format ‘parameter.order’ (e.g.class.desc,littera.asc’), just parameter (e.g.class,littera) or a combination (e.g.class.desc,littera).

The following parameters are allowed to be sorted by:

For all endpoints:

  • id
  • class
  • littera
  • status
  • popularName
  • createdTime
  • updatedTime

For Device endpoints:

  • hasDeviceFunctionType
    (applicable to /device’, ‘/json/device’ endpoints);
  • deviceQuantityKind
    (applicable to ‘/device’, ‘/json/device’, ‘/actuator’, ‘/json/actuator’, ‘/sensor’, ‘/json/sensor’ endpoints);
  • devicePlacementContext
    (applicable to ‘/device’, ‘/json/device’, ‘/actuator’, ‘/json/actuator’, ‘/sensor’, ‘/json/sensor’ endpoints);
  • deviceMeasurementUnit
    (applicable to ‘/device’, ‘/json/device’, ‘/actuator’, ‘/json/actuator’, ‘/sensor’, ‘/json/sensor’ endpoints);

For BuildingComponent and Room endpoints:

  • roomType
    (applicable to ‘/room’, ‘/json/room’ endpoints);

For Agent endpoints:

  • username
    (applicable to ‘/person’, ‘/json/person’ endpoints);

Twin status: Test

  • In addition to Valid, Incomplete, Incorrect and SuspectedInvalid, which covers the lifecycle of a production twin, we introduce the Test status, so that non-production twins can be handled separately from production twins.

Breaking changes

None

Fixes and minor updated (internal links are added only for reference)

Minor defects and bugs are fixed and small performance improvements.

Fixed defects:

  • Not authorized ‘/propertyowner’ endpoint returns 500 error code (Plat-3217);
  • Endpoint ‘/twin’ returns error code 400 with message “Unknown type of entity” (Plat-3214);
  • Requests of the ‘/sensor/observations/latest’ and ‘/sensors/edgestatus’ are not validated (Plat-2660);