Lock Service


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


Resource: objects/<object_id>/locks

URLhttps://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.



 PUT


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.

If selection contains at least one non-existent element object 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)

Check if an object is locked


Resource: objects/<object_id>/locks

URLhttps://api-stage.bimplus.net/v2/objects/<object_id>/locks 

Example:https://api-stage.bimplus.net/v2/bimplus/objects/770dbe31-8df0-441a-92de-b464bfdfa0e8/locks


 GET


 Check if an object (including selection) is locked or not. The response contains also the child objects which has been locked & info about the user who has locked it.



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


Resource: objects/<object_id>/locks

URLhttps://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


 DELETE


 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