{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/blob-storage/BlobStorageEntry",
	"title": "BlobStorageEntry",
	"description": "Interface describing a blob storage entry.",
	"type": "object",
	"properties": {
		"@context": {
			"type": "array",
			"prefixItems": [
				{
					"const": "https://schema.twindev.org/blob-storage/"
				},
				{
					"const": "https://schema.twindev.org/common/"
				}
			],
			"items": {
				"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
			},
			"minItems": 2,
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "BlobStorageEntry",
			"description": "JSON-LD Type."
		},
		"id": {
			"type": "string",
			"description": "The id for the blob."
		},
		"dateCreated": {
			"type": "string",
			"description": "The date/time when the entry was created."
		},
		"dateModified": {
			"type": "string",
			"description": "The date/time when the entry was modified."
		},
		"blobSize": {
			"type": "number",
			"description": "The size of the data in the blob."
		},
		"integrity": {
			"type": "string",
			"description": "The integrity of the data in the blob."
		},
		"encodingFormat": {
			"type": "string",
			"description": "The mime type for the blob."
		},
		"isEncrypted": {
			"type": "boolean",
			"description": "Indicates if the blob is encrypted."
		},
		"compression": {
			"$ref": "https://schema.twindev.org/blob-storage/BlobStorageCompressionType",
			"description": "The type of compression used for the blob, if not set it is not stored with compression."
		},
		"fileExtension": {
			"type": "string",
			"description": "The extension."
		},
		"metadata": {
			"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
			"description": "The metadata for the blob as JSON-LD."
		},
		"blob": {
			"type": "string",
			"description": "The blob in base64 format, included if the includeContent flag was set in the request."
		}
	},
	"required": ["@context", "type", "id", "dateCreated", "blobSize", "integrity"]
}
