...
Code Block |
---|
|
{
"description": "Information about the global ToS Synapse requirements that all users must agree to.",
"properties": {
"requirementDate": {
"type": "string",
"format": "date-time",
"description": "The date/time when the new ToS requirement will go into effect."
},
"minimumTermsOfServiceVersion": {
"type": "string",
"description": "The minimum semantic version of the ToS that all users must agree to by the provided date. Any user that has agreed to this version, or higher, will be required to agree to the latest version of the ToS after the provided date."
}
}
} |
TermsOfServiceStatus.json
Code Block |
---|
|
{
"description": "The status of a user's ToS agreement",
"properties": {
"userId": {
"type": "string",
"description": "The ID of the user."
},
"usersCurrentTermsOfServiceState": {
"$ref": "org.sagebionetworks.repo.model.auth.TermsOfServiceState",
"description": "Defines the user's current ToS state. Used to guide the UI in what the user needs to do with their ToS agreements. This will always be provided."
},
"lastAgreementDate": {
"type": "string",
"format": "date-time",
"description": "The date/time when the user last agreed to the ToS. Will be null if the user has never agreed to the ToS."
},
"lastAgreementVersion": {
"type": "string",
"description": "The version of ToS that the user last agreed to. Will be null if the user has never agreed to the ToS."
}
}
} |
ProjectStorageUsageTermsOfServiceState.json:
Code Block |
---|
|
{
"type": "string",
"description": "Provides information about file allocations and limits for each storage location associated with a single projectThe user's current ToS state defines what action if any they will need to take to meet ToS requirements.",
"propertiesenum": [
{
"projectId": {
"typename": "stringMUST_AGREE_NOW",
"description": "The ID of user must agree to the new ToS before they can use the projectservice."
},
"locations": {
"typename": "arrayMUST_AGREE_SOON",
"itemsdescription": {
"The user currently has agreed to an older ToS and they will need to agree to the new ToS before new required date."
},
{
"$refname": "org.sagebionetworks.repo.model.limits.ProjectStorageLocationUsage"UP_TO_DATE",
}"description": "The user has agreed to the latest ToS so they are up-to-date"
}
}]
} |
ProjectStorageLocationUsageProjectStorageUsage.json
Code Block |
---|
|
{
"description": "RepresentProvides information theabout currentfile sizeallocations and limits for each storage location associated with a single project storage location.",
"properties": {
"storageLocationIdprojectId": {
"type": "string",
"description": "The ID of the storage locationproject"
},
"sumFileByteslocations": {
"type": "integer",
"description": "The total number of bytes, of files, currently associated with this project storage location. "array",
"items": {
"$ref": "org.sagebionetworks.repo.model.limits.ProjectStorageLocationUsage"
},
"maxAllowedFileBytes": {
"type": "integer",
}
}
} |
ProjectStorageLocationUsage.json
Code Block |
---|
|
{
"description": "When missing, there is not limit for this project storage location. When set, this number represent to the total number of allowed bytes for thisRepresent the current size and limits for a single project storage location.",
"properties": {
"storageLocationId": {
"type": "string",
"description": "The ID Ifof the storage sumFileSizesBytes is greater than this value, then this project storage location is over its limit all new uploads tolocation"
},
"sumFileBytes": {
"type": "integer",
"description": "The total number of bytes, of files, currently associated with this project storage location will be blocked."
},
"isOverLimitmaxAllowedFileBytes": {
"type": "booleaninteger",
"description": "When truemissing, sumFileSizesBytesthere is greaternot than maxAllowedFileSizeBytes and all new uploads tolimit for this project storage location will be blocked." }
}
} |
ProjectStorageLocationLimit.json
Code Block |
---|
|
{
"description": "Set the limit on the When set, this number represent to the total number of filesallowed bytes for a singlethis project storage location",
"properties": {
"projectId": {
"type": "string",
"description": "The ID of the project"
},
"storageLocationId": {
"type": "string",
"description": "The ID of the storage location. If the sumFileSizesBytes is greater than this value, then this project storage location is over its limit all new uploads to this project storage location will be blocked."
},
"maxAllowedFileBytesisOverLimit": {
"type": "stringboolean",
"description": "SetsWhen thetrue, limitsumFileSizesBytes onis thegreater numberthan ofmaxAllowedFileSizeBytes fileand bytesall thatnew canuploads be associatedto with this project storage location will be blocked."
}
}
} |
UploadDestinationProjectStorageLocationLimit.json
Code Block |
---|
|
{
"description": "The upload destination contains information to start an uploadSet the limit on the number of afiles filebytes generatedfor accordinga tosingle theproject underlyingstorage <a href=\"${org.sagebionetworks.repo.model.project.StorageLocationSetting}\">StorageLocationSetting</a>.",
location",
"properties": {
"projectId": {
"type": "interfacestring",
"propertiesdescription": {"The ID of the project"
"concreteType },
"storageLocationId": {
"type": "string",
"description": "The ID of the storage location"
},
"maxAllowedFileBytes": {
"type": "string",
"description": "Indicates which implementation this object represents."
},
"storageLocationId": {
"type": "integer",
Sets the limit on the number of file bytes that can be associated with this project storage location."
}
}
} |
UploadDestination.json
Code Block |
---|
|
{
"description": "the unique id for the storage location, that pointsThe upload destination contains information to start an upload of a file generated according to the underlying <a href=\"${org.sagebionetworks.repo.model.project.StorageLocationSetting}\">StorageLocationSetting</a>."
},
"uploadTypetype": {
"$ref": "org.sagebionetworks.repo.model.file.UploadType"
},
"banner"interface",
"properties": {
"type": "string",
"description": "If set, the client should show this banner every time an upload is initiated"
},
"destinationProjectId": {
"concreteType": {
"type": "string",
"description": "The ID of the project where this file will be uploaded."
Indicates which implementation this object represents."
},
"projectStorageLocationUsagestorageLocationId": {
"$reftype": "org.sagebionetworks.repo.model.limits.ProjectStorageLocationUsageinteger",
"description": "This object includes information about size and limits associated with this project storage location. Clients should not attempt to upload a file to this location if isOverLimit=true or if (<size_new_file> + sumFileBytes) is greater than maxAllowedFileBytes."
}
}
} |
TermsOfServiceState.json:
Code Block |
---|
|
{
": "the unique id for the storage location, that points to the <a href=\"${org.sagebionetworks.repo.model.project.StorageLocationSetting}\">StorageLocationSetting</a>"
},
"uploadType": {
"$ref": "org.sagebionetworks.repo.model.file.UploadType"
},
"banner": {
"type": "string",
"description": "The user's current ToS state defines what action if any they will need to take to meet ToS requirements.",
"enum": [
If set, the client should show this banner every time an upload is initiated"
},
"destinationProjectId": {
"nametype": "MUST_AGREE_NOWstring",
"description": "The user must agree toID of the newproject ToSwhere beforethis theyfile canwill usebe the serviceuploaded."
},
"projectStorageLocationUsage": {
"name$ref": "MUST_AGREE_SOONorg.sagebionetworks.repo.model.limits.ProjectStorageLocationUsage",
"description": "The user currently has agreed to an older ToS and they will need to agree to the new ToS before new required date."
},
{
"name": "UP_TO_DATE",
"description": "The user has agreed to the latest ToS so they are up-to-date": "This object includes information about size and limits associated with this project storage location. Clients should not attempt to upload a file to this location if isOverLimit=true or if (<size_new_file> + sumFileBytes) is greater than maxAllowedFileBytes."
}
]}
} |