...
ResearchProject |
---|
String id |
String accessRequirementId |
String institution |
String projectLead |
String intendedDataUseStatement |
String createdBy |
Long createdOn |
String modifiedBy |
Long modifiedOn |
...
After a ResearchProject is created, only the creator can make changes to a ResearchProject. The owner can also change the ownership of a ResearchProject by changing the ownerId value to another userId that has been granted access to the dataset under the same ResearchProject. After taking over the ResearchProject, a user would have the same permissions with the DataAccessRequest's creator.
DataAccessRequest implements DataAccessRequestInterface |
---|
String id |
String accessRequirementId |
String createdBy |
Long createdOn |
String researchProjectId |
List<String> accessors |
String ducFileHandleId |
String irbFileHandleId |
List<String> attachments |
String modifiedBy |
Long modifiedOn |
...
Action | Intended User | URI | Method | Request Params | Request Body | Response Body | |
---|---|---|---|---|---|---|---|
create or update Research Project | Synapse User | /researchProject | POST | ResearchProject | ResearchProject | ||
get ResearchProject for update | creator | /accessRequirement/{id}/researchProjectForUpdate | GET | ResearchProject | |||
5 | |||||||
6 | |||||||
7 | asking the server for a suitable request object to start with | creator | /accessRequirement/{id}/dataAccessRequestForUpdate | GET | DataAccessRequestInterface | ||
create or update DataAccessRequest | Synapse User | /dataAccessRequest | POST | DataAccessRequestInterface | DataAccessRequestInterface | ||
9 | submit a DataAccessRequest | creator, | /dataAccessSubmission | POST | DataAccessRequestInterface | SubmissionStatus | |
10 | retrieve the latest DataAccessSubmission's status | requestor, | /accessRequirement/{id}/submissionStatus | GET | SubmissionStatus | ||
11 | cancel a DataAccessSubmission | requestor, | /dataAccessSubmission/{id}/cancel | PUT | SubmissionStatus | ||
12 | update a DataAccessSubmission | ACT | /dataAccessSubmission/{id} | PUT | SubmissionStatusChangeRequest | DataAccessSubmission | |
13 | retrieve a list of DataAccessSubmission | ACT | /accessRequirement/{id}/listSubmission | GET | nextPageToken, order, filter (by status) | DataAccessSubmissionPage | |
14 | retrieve a list of Approval Status for a given list of AccessRequirement | SynapseUser | /accessApproval/status | POST | AccessApprovalStatusRequest | AccessApprovalStatusResults |
SubmissionStatus |
---|
String submissionId |
State state |
String rejectedReason |
Long reviewedOn |
...
Compare behaviors of #6 and #7
GET /accessRequirement/{id}/dataAccessRequestForUpdate | ||
---|---|---|
user has not created a request | empty DataAccessRequest | |
user has a request, zero APPROVED submission | the created DataAccessRequest | |
user has an APPROVED submission, requires renewal | re-filled DataAccessRenewal | |
user has an APPROVED submission, renewal not required | the created DataAccessRequest |
...