Lock Service
- Lock an object
- Lock object with different possibilities (eg: Whether the children should be locked etc)
- Check if an object is locked
- Remove the lock
Lock Service
This API is used for locking objects. Please remember that the API has more possibilities like whether another person can unlock an object, whether the child object should be locked during locking etc
Lock an object
URL: https://api-stage.bimplus.net/v2/<team_slug>/objects/<object_id>/locks
Example:https://api-stage.bimplus.net/v2/bimplus/objects/770dbe31-8df0-441a-92de-b464bfdfa0e8/locks
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
user |
will be ignored |
string |
The user who performs the lock operation |
objects |
will be ignored |
string |
The object ids which are locked. Remember that the child objects under this object will be automatically locked. |
Locks an object. Remember that the child objects under this object will be automatically locked. When a PUT or POST operation on any particular object is performed (eg: PUT objects/<object_id>) then the lock is checked only on this particular object & the lock is not checked on its parent or children. If user is forbidden to do the lock ( because of other lock or locks ), the returtn code is 403 Forbidden.
Selection lock
At selection object lock (eg: PUT objects/{selectionId}/locks) the elements belonging to the selection will be locked.
Selection lock doesn't support children locks, call api with children lock parameter (default is withChildren=true) return code 400 Bad Request.
If at least one element object (by selection) is locked by another user and the API call doesn't specify parameter ?asAdmin=true (default is asAdmin=false), than the user is forbidden to do selection lock, the return code is 403 Forbidden.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Lock object with different possibilities (eg: Whether the children should be locked etc)
- Remember that PUT objects/<object_id>/locks automatically locks the child objects found under this particular object. But, if the user wants to lock only this particular object without locking its children then, he has to specify ?withChildren=false (i.e objects/<object_id>/locks?withChildren=false)
- If the user wants to perform the lock & unlock only on any particular client (say a Desktop Application like Allplan) then ?clientlock=true has to be specified during the locking/unlocking (Which if the user tries to unlock from another client it won't work) Please notice that, the user have to specify the client_id in the authorize call if he wants to use this particular functionality.
- Normally, the objects have to be unlocked by the same person who has locked it. If the possibility to unlock an object locked by another user has to be given to the account owner or project admin, then ?asAdmin=true has to be specified during locking/unlocking
Check if an object is locked
URL: https://api-stage.bimplus.net/v2/objects/<object_id>/locks
Example:https://api-stage.bimplus.net/v2/bimplus/objects/770dbe31-8df0-441a-92de-b464bfdfa0e8/locks
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
[ { "user": { "id": "71e0ac3b-fa49-e540-ac2f-8caff3dd72ed", "email": "jayaraj.purushothaman@gmail.com" } "clientid" : "132ecbe-2ac5-4ae1-945d-d38fc3bc1e82", "objects": [ "55c42bbd-7577-4928-aa91-0938ee408a86" ] } ]
Delete a Lock
URL: https://api-stage.bimplus.net/v2/objects/<object_id>/locks
Example:https://api-stage.bimplus.net/v2/bimplus/objects/770dbe31-8df0-441a-92de-b464bfdfa0e8/locks
This call also supports query paramaters "withChildren" and "asAdmin" described above
Removes the lock from this object.
At selection object unlock (eg: DELETE objects/{selectionId}/locks) the elements belonging to the selection will be unlocked.
Selection unlock doesn't support children locks, call api with children lock parameter (default is withChildren=true) return code 400 Bad Request.
If at least one element object (by selection) is locked by another user and the API call doesn't specify parameter ?asAdmin=true (default is asAdmin=false), than the user is forbidden to do selection unlock, the return code is 403 Forbidden.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK