Permission¶
The Permissions are created between SensorGroups and UserGroups in Building Depot which come together to form the access control lists.Here we select a User Group and a Sensor Group and a permission value with which we want to associate these both. There are three levels of permission defined in BuildingDepot which are ‘d/r’ (deny read) ,’r’ (read), ‘r/w’ (read write) and ‘r/w/p’ (read write permission). If there are multiple permission mappings between a user and a sensor then the one that is most restrictive is chosen. Permissions can be defined in the CentralService at http://www.example.com:81/api/permission.
Create Permission¶
This request creates a new Permission link between a UserGroup and a SensorGroup.
JSON Parameters: | |||||||
---|---|---|---|---|---|---|---|
|
Example request:
POST /api/permission HTTP/1.1
Accept: application/json; charset=utf-8
{
"data":{
"sensor_group":"Test_Sensor_Group",
"user_group":"Test_User_Group",
"permission":"r"
}
}
Example response (for success):
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "True"
}
Example response (for failure):
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "False",
"error": " User group does not exist"
}
{
"success": "False",
"error": " Sensor group does not exist"
}
{
"success": "False",
"error": " Permission value does not exist"
}
Read Permission¶
This request retrieves Permission level assigned for existing SensorGroup and UserGroup.
Example request:
GET /api/permission?user_group=Test_User_Group&sensor_group=Test_Sensor_Group HTTP/1.1
Accept: application/json; charset=utf-8
Example response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "True"
"permission": "r"
}
Example response (for failure):
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "False",
"error": " Permission does not exist"
}
Delete Permission¶
This request deletes the permission link between the UserGroup and SensorGroup
Example request:
DELETE /api/permission?user_group=Test_User_Group&sensor_group=Test_Sensor_Group HTTP/1.1
Accept: application/json; charset=utf-8
Example response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "True"
}
Example response (for failure):
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "False",
"error": " Permission does not exist"
}
{
"success": "False",
"error": " You are not authorized to delete this permission"
}
{
"success": "False",
"error": "Missing parameters"
}