...
Response | URL | Request | Description | Authorization |
---|---|---|---|---|
TermsOfServiceInfo | GET /termsOfUse2/info | none | Get information about the current ToS | Not Required |
TermsOfServiceInfo | POST /termsOfUse2/requirements | TermsOfServiceRequirement | Sets the global ToS requirements. | Only ACT or Admin may make this call. |
TermsOfServiceStatus | GET POST /termsOfUse2/{userId}/status | none | Get the current user’s ToS status. Used to determine if the user needs to agree to the new ToSA user can only get their own status. | Will need to provide the token just like the agree service? Why is this needed? |
Note: The starting TermsOfServiceRequirement will be set with minimumTermsOfServiceVersion=0.0.0
and requirementDate=1/1/2011
. All existing users that have agreed to the exiting ToS will meet the starting requirements. This means ACT will need to set the new requirements before users will be required.
...
Response | URL | Request | Description | Authorization |
---|---|---|---|---|
ProjectStorageInfo | GET /project/{projectId}/storage/info | none | Get the information about all combinations for a single project. | The UserEntityPermissions.hasUpload=true for the project. |
CombinationLimitProjectStorageLimit | POST /project/{projectId}/storage/limit | CombinationLimitProjectStorageLimit | Set the limit for a single combination | Only members of the “plan managers” team may call this service. |
...
Code Block | ||
---|---|---|
| ||
{ "description": "Provides information about file allocations and limits for each storage location associated with a single project.", "properties": { "projectId": { "type": "string", "description": "The ID of the project" }, "combinationslocations": { "type": "array", "items": { "$ref": "org.sagebionetworks.repo.model.limits.ProjectStorageCombinationProjectStorageLocation" } } } } |
ProjectStorageCombinationProjectStorageLocation.json
Code Block | ||
---|---|---|
| ||
{ "description": "Represent the current size and limits for a single project storage location and project combination.", "properties": { "storageLocationId": { "type": "string", "description": "The ID of the storage location" }, "sumFileBytes": { "type": "integer", "description": "The total number of bytes, of files, currently associated with this project storage combinationlocation." }, "maxAllowedFileBytes": { "type": "integer", "description": "When missing, there is not limit for this project storage combinationlocation. When set, this number represent to the total number of allowed bytes for this combinationproject storage location. If the sumFileSizesBytes is greater than this value, then this project combinationstorage location is over its limit all new uploads to this project storage combinationlocation will be blocked." }, "isOverLimit": { "type": "boolean", "description": "When true, sumFileSizesBytes is greater than maxAllowedFileSizeBytes and all new uploads to this project combinationstorage location will be blocked." } } } |
CombinationLimitProjectStorageLimit.json
Code Block | ||
---|---|---|
| ||
{ "description": "Set the limit on the number of files bytes for storagea locationsingle andproject projectstorage combination.location", "properties": { "projectId": { "type": "string", "description": "The ID of the project" }, "storageLocationId": { "type": "string", "description": "The ID of the storage location" }, "maxAllowedFileBytes": { "type": "string", "description": "Sets the limit on the number of file bytes that can be associated with this combinationproject storage location." } } } |