Rights and Roles Service
Rights and
...
- Create new project rights and roles template
Get the info about a particular project rights and roles template
Copy project rights and roles template from source to target project rights and roles template
Rights and Roles
- Get all the available roles
- Get all the available rights
- Create a new role
- Get details of the role
- Update the role
- Delete the role
- Get all project's roles assigned by right and roles template
- Make a team member part of a project by assigning a role to him
- Get the project members along with their respective roles
- Update the project role of a team member
- Remove the user from the project
Rights and Roles Service
Rights and
...
Roles
Anchor | |||
---|---|---|---|
|
...
|
Get all the available roles
Deck of Cards | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||
Card | | |||||||||||||||||||||||||||||||
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"name":"My project rights and roles template",
"description":"Project rights and roles template description"
} |
label | Response |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Status: 201 Created
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"id":"49d13da3-2acf-4f0b-b667-40fc0197585f",
"name":"My project rights and roles template",
"description":"Project rights and roles template description"
} |
...
|
...
Get the list of existing project rights and roles templates
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
Card |
|
...
Get the info about a particular project rights and roles template
...
id | bimGetRightsAndRolesTemplateInfo |
---|
Card | ||||
---|---|---|---|---|
| ||||
Resource: projectrightsrolestemplates URL: https://api-stage.bimplus.net/v2/<team_slug>/projectsrightsrolestemplates/<template_id> |
Card | ||
---|---|---|
| ||
GET |
Card | ||
---|---|---|
| ||
Get the info about a particular project rights and roles template that belongs to a particular team. |
...
label | Request |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
...
label | Response |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Status: 200 OK
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"id":"49d13da3-2acf-4f0b-b667-40fc0197585f",
"name":"My project rights and roles template",
"description":"Project rights and roles template description"
} |
...
Update a particular project rights and roles template
...
id | bimUpdateTeamRightsAndRolesTemplate |
---|
Card | ||||
---|---|---|---|---|
| ||||
Resource: projectrightsrolestemplates URL: https://api-stage.bimplus.net/v2/<team_slug>/projectrightsrolestemplates Example: https://api-stage.bimplus.net/v2/bimplus/projectrightsrolestemplates/49d13da3-2acf-4f0b-b667-40fc0197585f JSON Structure: See Create project rights and roles template |
Card | ||
---|---|---|
| ||
PUT |
Card | ||
---|---|---|
| ||
Update a particular project rights and roles template that belongs to a particular team. |
...
label | Request |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"name":"My project rights and roles template 2",
"description":"Project rights and roles template description 2"
} |
...
label | Response |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Status: 200 OK
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"id":"49d13da3-2acf-4f0b-b667-40fc0197585f",
"name":"My project rights and roles template 2",
"description":"Project rights and roles template description 2"
} |
...
Delete the project rights and roles template
...
id | bimDeleteTeamRightsAndRolesTemplate |
---|
Card | ||||
---|---|---|---|---|
| ||||
Resource: projectrightsrolestemplates URL: https://api-stage.bimplus.net/v2/<team_slug>/projectrightsrolestemplates Example: https://api-stage.bimplus.net/v2/bimplus/projectrightsrolestemplates/49d13da3-2acf-4f0b-b667-40fc0197585f |
Card | ||
---|---|---|
| ||
DELETE |
Card | ||
---|---|---|
| ||
Deletes the specific project rights and roles template. |
...
label | Request |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
...
label | Response |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Status: 200 OK
|
...
Copy project rights and roles template from source to target project rights and roles template
...
id | bimCopyContentRightsAndRolesTemplate |
---|
...
label | Url / Resource /Json |
---|
Resource: projectrightsrolestemplates/<targetprojectrightsrolestemplates_id>/copyfrom
URL: https://api-stage.bimplus.net/v2/<team_slug>/projectrightsrolestemplates/<targetprojectrightsrolestemplates_id>/copyfrom
JSON Structure:
...
Name
...
Mandatory / Optional
...
Type
...
Description
...
name
...
will be ignored
...
string
...
Name of the project rights and roles template
...
description
...
will be ignored
...
Description of the project rights and roles template
...
Card | ||
---|---|---|
| ||
PUT |
Card | ||
---|---|---|
| ||
Updates the specified target project rights and roles template with all roles from source project rights and roles template. Note: |
...
label | Request |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"id": "482176be-84ab-4d8f-93e4-2c58863d4eae"
} |
...
label | Response |
---|
...
borderColor | Green |
---|---|
lang | xml |
title | Status |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
{
"id":"49d13da3-2acf-4f0b-b667-40fc0197585f",
"name":"My project rights and roles template",
"description":"Project rights and roles template description"
} |
Rights and Roles
...
Get all the available roles
...
id | bimGetAllRoles |
---|
...
default | true |
---|---|
label | URL / Resource / JSON Structure |
...
URL: https://api-stage.bimplus.net/v2/<team_slug>/roles
Example: https://api-stage.bimplus.net/v2/best-company/roles
Optional query parameters
|
Anchor | ||||
---|---|---|---|---|
|
Get all the available rights
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
...
When query parameter "rights=false" is defined, the API call will returns all roles. i.e. not only roles which contains
resources and right definitions.
When query parameter is missing, the API call returns only roles which includes resources and rights definitions.
...
When query parameter customrole is defined e.g. "customrole=true", the API call will returns only roles which have value of property "customRole" equal to query parameter.
When query parameter is missing, the API call returns all roles (i.e. their customRole property can be true or false)
...
When query parameter rightsandrolestemplate is defined e.g. "rightsandrolestemplate=482176be-84ab-4d8f-93e4-2c58863d4eae",
only roles which belongs to exact rightsandrolestemplate id are returned.
Card | ||
---|---|---|
| ||
GET |
...
label | Description |
---|
Get all the available roles. Right now, we support only project based roles and custom roles.
Here is the definition of Bimplus Rights and Roles.
...
Model rights and roles are not supported yet, the project rights are used instead - meaning e.g. update model requires ProjectEdit rights
The custom roles contains also definition for which resource and rights are valid.
...
label | Request |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
...
label | Response |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Status: 200 Ok
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
[
{
"id": "94a60a79-7c81-454b-8158-ffdb9a2bf4d6",
"name": "TEST1",
"customRole": true,
"resources": [
{
"id": "4e587ea1-5098-45cd-9655-15f90c16dc58",
"resource": "Layer",
"rights": [
"RoomModel"
],
"rightsAccess": [
{
"id": "52bbc329-dab3-a81c-b548-09c715786a81",
"name": "RoomModel",
"access": "Edit"
}
]
}
],
"projectRightsRolesTemplate": {
"id": "482176be-84ab-4d8f-93e4-2c58863d4eae",
"name": "DefaultProjectRightsRolesTemplate",
"description": "Default template for rights and roles"
}
},
{
"id": "391fb0fc-43ec-464c-bd18-b5223b32bd14",
"name": "TEST2",
"customRole": true,
"resources": [
{
"id": "9dae8bb5-77c1-47a6-a916-d4948583b0b9",
"resource": "Global",
"rights": [
"AllModels",
"ProjectCreate",
"AllAttributes"
],
"rightsAccess": [
{
"id": "cc3416d3-c570-4dc6-aa84-72216d3f58da",
"name": "AllModels",
"access": "Edit"
},
{
"id": "6bbc401b-7cd5-4684-a11d-e2448befb3c1",
"name": "ProjectCreate",
"access": "Edit"
},
{
"id": "99bad6fc-0539-4848-84af-62b6df31eaa3",
"name": "AllAttributes",
"access": "Edit"
}
]
}
],
"projectRightsRolesTemplate": {
"id": "482176be-84ab-4d8f-93e4-2c58863d4eae",
"name": "DefaultProjectRightsRolesTemplate",
"description": "Default template for rights and roles"
}
}
...
] |
...
Get all the available rights
...
id | bimGetAllRights |
---|
...
default | true |
---|---|
label | URL / Resource / JSON Structure |
Resource: <team_slug>/rights
URL: https://api-stage.bimplus.net/v2/<team_slug>/rights
Example: https://api-stage.bimplus.net/v2/best-company/rights
JSON Structure:
...
Name
...
Mandatory / Optional
...
Type
...
Description
...
id
...
mandatory
...
string (guid)
...
Id of the right resource type
...
resource
...
mandatory
...
string
...
The name of the right resource type
...
rights
...
mandatory
...
object
...
Dictionary of the pairs of right id together with its name
...
access
...
mandatory
...
JSON Array
...
Array of the strings represented access right. Can be combination of predefined rights "View", "Edit", "Admin"
...
Name
...
Type
...
Default value
...
Description
...
project
...
boolean
...
true
...
When query parameter "project=false" is defined, the API call will returns all right resource types except project right resource type.
...
global
...
boolean
...
true
...
When query parameter "global=false" is defined, the API call will returns all right resource types except global right resource type.
...
document
...
boolean
...
true
...
When query parameter "document=false" is defined, the API call will returns all right resource types except document right resource type.
...
globalfreeattributes
...
boolean
...
true
...
When query parameter "globalfreeattributes=false" is defined, the API call will returns all right resource types except globalfreeattributes right resource type.
...
layer
...
boolean
...
true
...
When query parameter "layer=false" is defined, the API call will returns all right resource types except layer right resource type.
Card | ||
---|---|---|
| ||
GET |
Card | ||
---|---|---|
| ||
Get all the available rights returns array of right resource types with defined rights. |
...
label | Request |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
|
...
label | Response |
---|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
Status: 200 Ok
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
[{
"id":"4e587ea1-5098-45cd-9655-15f90c16dc58",
"resource":"Layer",
"rights":{
"231222ba-7495-f438-cf38-629cf0482364":"building",
"dd9b9e2c-f4af-576f-4dda-9e122ab13d31":"general objects",
"92f8a361-5990-0cb0-b257-e13c85f0f7b1":"mep",
"0047e2ed-3348-a97b-93d2-a6817cc9cb8e":"steel design",
"8095dfcf-fbdf-3317-b873-a7cbccccb206":"timber design",
"f7819a2d-1498-2468-b120-fdefedfccf0b":"terrain",
"903fe394-5e84-5c8d-2760-eeadad3baa35":"reinforcement",
"44c2ff85-9691-6def-9583-56d8b776c846":"finish",
"6719f657-ea4a-3016-1bda-0c56c7f113d4":"inventory",
"52bbc329-dab3-a81c-b548-09c715786a81":"room",
"4a4da391-b804-b20f-f49a-470bdc68be8f":"structural analysis",
"7f27fd11-7992-8fb5-3541-9daa4f8196b2":"opening",
"8ba5ec82-5b93-6192-55b0-b7790f4d0007":"door/window",
"5c695e85-ea7c-7df4-9fb7-eca7aa1f69fd":"precast",
"85d0b1a9-11bb-6de1-9cfd-54f85ee11da3":"bridge",
"d726e8d2-12c6-641d-b19d-37511349dce1":"structural loads",
"3517d0e2-9814-fc08-b3e7-59d453940efa":"connection"
},
"access":["View",
"Edit"
]
},
{
"id":"173e7a88-16d9-4d88-92bf-270fff458435",
"resource":"Document",
"rights":{
"73ca755b-eb41-4abf-8d72-6360f638a34c":"documentshare",
"f53dac0d-8ef8-48bd-9fa5-b49831bcf671":"documentdelete",
"6513c54f-0531-47e2-853d-56a25a226765":"documentdownloaddenied",
"820eb26b-7469-48bd-b10f-0c69e631c910":"documentviewdenied",
"d7727bed-38b8-4a77-b61d-397fb01f1ad8":"documentupdate"
},
"access":["Edit"
]
},
{
"id":"cc49128e-9416-4bfc-a695-b17365dc7a5e",
"resource":"Project",
"rights":{
"815ce797-da07-4372-8a59-609f7106ab09":"project"
},
"access":["View",
"Edit",
"Admin"
]
},
{
"id":"9dae8bb5-77c1-47a6-a916-d4948583b0b9",
"resource":"Global",
"rights":{
"c64151c5-ecde-4e2c-ba53-d0390f480461":"projectdelete",
"6bbc401b-7cd5-4684-a11d-e2448befb3c1":"projectcreate",
"99bad6fc-0539-4848-84af-62b6df31eaa3":"allattributes",
"3b3f10c1-93a6-4d15-a727-e38e2fb9b0b2":"alldocuments",
"cc3416d3-c570-4dc6-aa84-72216d3f58da":"allmodels",
"9351251b-9631-499e-8e23-68ffe70ef3b7":"allprojects"
},
"access":["Edit"
]
},
{
"id":"500766a6-2525-45db-b9cd-b2a3d8092ba9",
"resource":"GlobalFreeAttributes",
"rights":{
"061a3842-9b4d-4d19-8651-2f9373c42842":"freeattribute",
"63b9bfad-db9f-4bbe-a902-7716c440a200":"attributetemplate",
"04f5c272-3dec-4bce-85ae-6abb2e936ef8":"projectattributetemplate",
"2a0e7bed-9fbf-46bc-987a-7a6c5c638f98":"freeattributegroup",
"b886cab2-fcce-4a77-ab2d-09f704e363b7":"teammembership"
},
"access":["View",
"Edit"
]
}
] |
...
Create a new role
Deck of Cards | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
Card | | ||||||||||||||||||||
| |||||||||||||||||||||
Name | Mandatory / Optional | Type | Description | ||||||||||||||||||
id | optional | string (guid) | Id of the role | ||||||||||||||||||
name | mandatory | string | The name of the role | ||||||||||||||||||
parent | optional | string (guid) | The Id of the parent role | ||||||||||||||||||
customRole | optional | boolean | When this flag is true the role is custom role otherwise will role is 'built in' role | ||||||||||||||||||
resources | optional | JSON Array | Array of the right resource type definition objects for which the role is valid | ||||||||||||||||||
projectRightsRolesTemplate | mandatory | JSON object | The object contains id of rights and roles template guid. | ||||||||||||||||||
Name | Mandatory / Optional | Type | Description | ||||||||||||||||||
id | optional | string(Guid) | Id of the right resource type | ||||||||||||||||||
resource | mandatory | string | Describe kind of right resource type e.g. Global" or "Layer", etc. | ||||||||||||||||||
rights | mandatory | JSON Array | Array of the strings with right names e.g.: "FreeAttributeView", "RoomModel" | ||||||||||||||||||
rightsAccess | mandatory | JSON Array | Array of the objects with properties id, name, access :
|
Card | ||
---|---|---|
| ||
POST |
Card | ||
---|---|---|
| ||
Creates a new role with defined properties and resources to be valid for. |
Card | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Card | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||
|
...
Get details of the role
Deck of Cards | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||
Card |
|
...
Update the role
Deck of Cards | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
Card | | |||||||||||||||||
|
Card | ||
---|---|---|
| ||
PUT |
Card | ||
---|---|---|
| ||
Update the role. |
Card | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Anchor | ||||
---|---|---|---|---|
|
Get details of the role
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
...
Delete the role
Deck of Cards | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||
Card |
|
Anchor | ||||
---|---|---|---|---|
|
...