Versions Compared

Key

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

...

Since we are changing the UploadDestionation object, GET /entity/{id}/uploadDestination/{storageLocationId} service will also return the new project limit information.

Model Objects

LoginResponseTermsOfServiceInfo.json:

Code Block
languagejson
{
	"title": "LoginResponse",
	"description": "HoldsInformation aabout sessionthe tokencurrent usedSynapse forTerms short-termof authentication with SynapseService (ToS).",
	"properties": {
		"sessionTokentermsOfServiceUrl": {
			"type": "string",
			"description": "(deprecated)The AURL token that identifiescan thebe user"
		},
		"accessToken": {
			"type": "string",
			"description": "A token that authorizes subsequent requestsused to fetch the latest ToS using an HTTPS GET."
		},
		"acceptsTermsOfUselatestTermsOfServiceVersion": {
			"type": "booleanstring",
			"description": "When false,The semantic version of the userlatest hasToS notin agreed to the currently required version of the ToSprovided URL. This userCallers will need to agreeprovide thethis theversion latestwhen ToSsubmitting bya therequest requirementto date.agree to True, if the user has agreedshown ToS."
		},
		"lastAgreementDatecurrentRequirement": {
			"type$ref": "string",
			"format": "date-time"org.sagebionetworks.repo.model.auth.TermsOfServiceRequirement",
			"description": "TheInformation date/timeabout when the user last agreed to theglobal ToS. WillSynapse berequirements nullthat ifall theusers usermust hasagree never agreed to the ToS."
		},
		"lastAgreementVersion": {
			"type}
}

TermsOfServiceRequirement.json

Code Block
languagejson
{
	"description": "string",
			"description": "The version of ToSInformation about the global ToS Synapse requirements that theall userusers lastmust agreedagree to.",
	"properties": Will be null if the user has never agreed to the ToS."
		},
		"authenticationReceipt": {{
		"requirementDate": {
			"type": "string",
			"typeformat": "stringdate-time",
			"description": "AThe validdate/time receiptwhen allows the usernew toToS skiprequirement will extrago securityinto checkseffect."
		},
		}
}

TermsOfServiceInfo.json:

Code Block
languagejson
{
	"description"minimumTermsOfServiceVersion": {
			"type": "string"Information about the current Synapse Terms,
			"description": "The minimum semantic version of Servicethe (ToS).",
	"properties": {
		"termsOfServiceUrl": {
			"type": "string",
			"description": "The URL that can be used to fetch the latest ToS using an HTTPS GET."
		},
		"latestTermsOfServiceVersion": {
			"type": "string",
			"description": "The semantic 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 latest ToS inafter the provided URLdate."
		}
Callers will need to provide this version when submitting a request to agree to shown ToS."
		},
		"currentRequirement	}
}

TermsOfServiceStatus.json

Code Block
languagejson
{
	"description": "The status of a user's ToS agreement",
	"properties": {
			"$refuserId": "org.sagebionetworks.repo.model.auth.TermsOfServiceRequirement{
			"type": "string",
			"description": "InformationThe ID aboutof the global ToS Synapse requirements that all users must agree touser."
		},
	}
}

TermsOfServiceRequirement.json

Code Block
languagejson
{
	"descriptionusersCurrentTermsOfServiceState": "Information about the global ToS Synapse requirements that all users must agree to.",
	"properties": {
		"requirementDate": {
{
			"$ref": "org.sagebionetworks.repo.model.auth.TermsOfServiceState",
			"typedescription": "string",
			"format": "date-time",
			"description": "The date/time when the new ToS requirement will go into effect."
		},
		"minimumTermsOfServiceVersionDefines 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 minimum semantic version ofdate/time when the user last agreed to the ToS. thatWill allbe users must agree to bynull if the provided date.  Any user thathas hasnever agreed to this version, or higher, will be required to agree to the latest version of the ToS after the provided datethe 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."
		}
	}
}

TermsOfServiceStatusTermsOfServiceState.json:

Code Block
languagejson
{
	"descriptiontype": "The status of astring",
	"description": "The user's current ToS state defines what action if any they will need to take to meet ToS agreementrequirements.",
	"propertiesenum": {[
		"userId": {
			"typename": "stringMUST_AGREE_NOW",
			"description": "The IDuser ofmust agree to the user new ToS before they can use the service."
		},
		"lastAgreementDate": {
			"typename": "string",
			"format": "date-timeMUST_AGREE_SOON",
			"description": "The date/timeuser whencurrently thehas user last agreed to thean ToS. Will be null ifolder ToS and they will need to agree to the usernew hasToS neverbefore agreednew torequired the ToSdate."
		},
		"lastAgreementVersion": {
			"typename": "stringUP_TO_DATE",
			"description": "The versionuser ofhas ToSagreed thatto the userlatest lastToS agreedso to.they  Will be null if the user has never agreed to the ToS.are up-to-date"
		}
	}]
}

ProjectStorageUsage.json

...

Code Block
languagejson
{
	"description": "The 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>.",
	"type": "interface",
	"properties": {
        "concreteType": {
            "type": "string",
            "description": "Indicates which implementation this object represents."
        },
		"storageLocationId": {
			"type": "integer",
			"description": "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": "If set, the client should show this banner every time an upload is initiated"
		},
		"destinationProjectId": {
			"type": "string",
			"description": "The ID of the project where this file will be uploaded."
		},
		"projectStorageLocationUsage": {
			"$ref": "org.sagebionetworks.repo.model.limits.ProjectStorageLocationUsage",
			"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
{
		"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": "TheThis userobject currentlyincludes hasinformation agreed to an older ToS about size and theylimits willassociated needwith tothis agreeproject tostorage thelocation. new ToSClients beforeshould newnot requiredattempt date."
		},
		{
			"name": "UP_TO_DATE",
			"description": "The user has agreed to the latest ToS so they are up-to-dateto upload a file to this location if isOverLimit=true or if (<size_new_file> + sumFileBytes) is greater than maxAllowedFileBytes."
		}
	]}
}