In this release

Significant changes are made in ProptechOS security and user management areas. Apart from resource permission policies users can be granted administration roles.

ProptechOS is also introducing the Preview API. This API will include endpoints that are

  1. not necessarily following RealEstateCore of any version
  2. not necessarily supported long term

The intention is for experimental features to be available early in the Preview API, before they are graduated to the main API.

New functionality

Roles

In order to allow ProptechOS users to self-administer – a new security entity ‘Role’ is introduced. Any user who is granted with admin roles can share their roles or lower privilege roles with any user within their administration scope via ‘grant’ endpoint

Property Owner Admin

PropertyOwnerAdmin – is responsible for user and resource management in the scope of the whole Property Owner. This role allows users to invite new users to the ProptechOS, list all persons, edit persons and remove persons that belong to the Property Owner. PropertyOwnerAdmin will be able to manage resource permission policies that belong to the Property Owner in future releases.

PropertyOwnerAdmin is created and assigned during the self sign up procedure while a new Property Owner is created.

Organization Admin

OrganizationAdmin – the main role that is responsible for user and resource management in the scope of single Organization. This role allows users to invite new users to the ProptechOS, list all persons, edit persons and remove persons that belong to the Organization. OrganizationAdmin will be able to manage resource permission policies that belong to the Organization in future releases.

Existing users can request to be granted the OrganizationAdmin role by contacting ProptechOS Onboarding team ([email protected]).

Schema

Person twins will now have the following json format:

{
    “id”: “32c00e28-ca7c-4c01-ab8d-fde3505d0e40“,
    “resourcePermissionPolicies”: [
     “d14ea6e8-f297-45ac-92f6-5a24c9e2d3b5
    ],
    “organization”: null,
    “roles”: [
     “54bc5020-dc22-4ea6-8262-7ad0105535b2
    ],
    “username”: “[email protected]“,
    “status”: “Valid“,
    “createdByAgent”: null,
    “updatedByAgent”: null,
    “createdTime”: null,
    “updatedTime”: null,
    “comment”: null,
    “source”: null,
    “defaultPropertyOwner”: “30f2b501-d9e3-4d4e-9cb1- 1fd6e2c5a9b1“,
    “class”: “Person
}

Where:

  • resourcePermissionPolicies– includes a list of resource permission policies (RPP) that person has access to (Read-only);
  • ‘roles – includes a list of roles that person is granted with (Read-only);

New person management endpoints are added:

  • PUT /json/person/{id}/grant/rpp – grant person with resource permission policies;
  • PUT /json/person/{id}/revoke/rpp – revoke from person resource permission policies;
  • PUT /json/person/{id}/grant/role – grant person with roles;
  • PUT /json/person/{id}/revoke/role – revoke from person roles;

All mentioned endpoints accept person id as query parameter and list of the resource permission policy ids or role ids correspondingly as a request body.

[
  “3fa85f64-5717-4562-b3fc-2c963f66afa6”
]

Preview API

This API is implemented as a separate OpenAPI definition in the same Swagger UI.

You can see a new dropdown in the swagger header.

By clicking the “Select a definition”-dropdown you can explore either the general API (“API”) or Preview API. The general API is selected by default.

IoT Hub device twin

New endpoint in Preview API, that returns Iot Hub device twin.

GET /preview/json/device/{id}/iothubtwin

Connection information in Property Owner

In this release we add new property to a Property Owner – iotHubHostname

Now you can retrieve all the needed information for creation of the iot hub device connection string using our REST API.

Breaking changes

None.

Fixes and minor updated

Performance improvements.