Versions Compared

Key

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

...

Response

URL

Request

Description

Authorization

ProjectStorageInfoProjectStorageUsage

GET /project/{projectId}/storage/info

none

Get the information about all combinations for a single project.

The UserEntityPermissions.hasUpload=true for the project.

ProjectStorageLimitProjectStorageLocationLimit

POST /project/{projectId}/storage/limit

ProjectStorageLimitProjectStorageLocationLimit

Set the limit for a single combination

Only members of the “plan managers” team may call this service.

...

Code Block
languagejson
{
	"description": "The status of a user's ToS agreement",
	"properties": {
		"userId": {
			"type": "string",
			"description": "The ID of the user."
		},
		"hasAgreedToRequiredTermsOfService": {
			"type": "boolean",
			"format": "date-time",
			"description": "When false, the user has not agreed to the currently required version of the ToS.  True, if the user has agreed."
		},
		"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."
		}
	}
}

ProjectStorgeInfoProjectStorgeUsage.json

Code Block
languagejson
{
	"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"
		},
		"locations": {
			"type": "array",
			"items": {
				"$ref": "org.sagebionetworks.repo.model.limits.ProjectStorageLocationProjectStorageLocationUsage"
			}
		}
	}
}

ProjectStorageLocationProjectStorageLocationUsage.json

Code Block
languagejson
{
	"description": "Represent the current size and limits for a single project storage location.",
	"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 location."
		},
		"maxAllowedFileBytes": {
			"type": "integer",
			"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 this project 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."
		},
		"isOverLimit": {
			"type": "boolean",
			"description": "When true, sumFileSizesBytes is greater than maxAllowedFileSizeBytes and all new uploads to this project storage location will be blocked."
		}
	}
}

ProjectStorageLimitProjectStorageLocationLimit.json

Code Block
languagejson
{
	"description": "Set the limit on the number of files bytes for a single project storage 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 project storage location."
		}
	}
}

...