Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

openspecimen/rest/ng/rbac/subjects/{userId}/roles/

Use this resource to assign role to user. Use HTTP POST method to call this API by passing the below details in JSON format.

Below are the attributes which need to be sent in the request body:

Parameter
Details
siteSite on which wanted to assign role. Site details in json format. Example : {id: 1, name: "Site1"}
collectionProtocolCollection protocol on which wanted to assign role. Collection protocol details in json format. Example: {"title": "Lung cancer protocol", shortTitle: "LCP"}
roleRole which wanted to assign on given site and cp for user. Role details in json format. Example: {name: "Technician"}


http[s]:<host>:<port>/openspecimen/rest/ng/rbac/subjects/{userId}/roles/

Use this URL to update user in openSpecimen application.

Result:

The response of this request will contains the details of the updated user.

Below is the example of the update user:

URLopenspecimen/rest/ng/users/1
MethodPUT
Requestapplication/json
json

{

Code Block
languagejs
linenumberstrue
{
  "site":{"name":"Porder Drive"},
  "collectionProtocol":{"shortTitle":"LCP"},
  "role":{"name":"Technician"}
}

Response

Code Block
languagejs
themeEclipse
linenumberstrue
{"id":null,"role":{"id":4,"name":"Technician","description":"User who collects and processes specimens.","parentRoleName":null,"childRoles":[],"acl":[{"id":14,"resourceName":"StorageContainer","operations":[{"resourceInstanceId":null,"operationName":"Read"}]},{"id":44,"resourceName":"ShippingAndTracking","operations":[{"resourceInstanceId":null,"operationName":"Create"},{"resourceInstanceId":null,"operationName":"Update"},{"resourceInstanceId":null,"operationName":"Delete"},{"resourceInstanceId":null,"operationName":"Read"}]},{"id":15,"resourceName":"CollectionProtocol","operations":[{"resourceInstanceId":null,"operationName":"Read"}]},{"id":18,"resourceName":"Order","operations":[{"resourceInstanceId":null,"operationName":"Read"},{"resourceInstanceId":null,"operationName":"Create"},{"resourceInstanceId":null,"operationName":"Delete"},{"resourceInstanceId":null,"operationName":"Update"}]},{"id":17,"resourceName":"VisitAndSpecimen","operations":[{"resourceInstanceId":null,"operationName":"Delete"},{"resourceInstanceId":null,"operationName":"Read"},{"resourceInstanceId":null,"operationName":"Create"},{"resourceInstanceId":null,"operationName":"Update"}]},{"id":16,"resourceName":"ParticipantDeid","operations":[{"resourceInstanceId":null,"operationName":"Read"}]}]},"collectionProtocol":{"id":52,"shortTitle":"LCP","title":"Lung Cancer Protocol","code":"LP","principalInvestigator":{"id":1,"firstName":"Admin","lastName":"Admin","loginName":"admin@admin.com","domain":"openspecimen","emailAddress":"openspecimendemo@gmail.com","admin":true,"cpCount":0,"creationDate":null},"startDate":1446661800000,"endDate":null,"participantCount":null,"specimenCount":null,"ppidFmt":"LP-%04d","manualPpidEnabled":true},"site":{"id":35,"name":"3165 Porder Drive","instituteName":"Stanford","code":"PD","type":"Collection Site","activityStatus":"Active","cpCount":0,"coordinators":[{"id":1,"firstName":"Admin","lastName":"Admin","loginName":"admin@admin.com","domain":"openspecimen","emailAddress":"openspecimendemo@gmail.com","admin":true,"cpCount":0,"creationDate":null}],"address":null,"extensionDetail":null},"systemRole":false}

 Error Cases :

code
Applies to
Status Message
200All resourcesUser has been updated successfully
400All requestsInvalid parameters, e.g  duplicate login name, duplicate email address, blank first name etc
401All requestsAuthorization failed, user doesn’t have authority
404All requestsUser not found, user with given details not present in the system
500All requestsInternal server error, encountered server error while performing operations