@twin.org/blob-storage-models 0.0.3-next.7 → 0.0.3-next.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/es/models/IBlobStorageEntry.js.map +1 -1
- package/dist/es/schemas/BlobStorageCompressionType.json +10 -4
- package/dist/es/schemas/BlobStorageEntry.json +14 -16
- package/dist/types/models/IBlobStorageEntry.d.ts +10 -10
- package/docs/changelog.md +73 -66
- package/docs/examples.md +23 -1
- package/docs/reference/classes/BlobStorageDataTypes.md +1 -1
- package/docs/reference/interfaces/IBlobStorageComponent.md +7 -7
- package/docs/reference/interfaces/IBlobStorageConnector.md +3 -3
- package/docs/reference/interfaces/IBlobStorageCreateRequest.md +8 -8
- package/docs/reference/interfaces/IBlobStorageEntry.md +20 -30
- package/docs/reference/interfaces/IBlobStorageEntryList.md +3 -3
- package/docs/reference/interfaces/IBlobStorageGetContentRequest.md +7 -7
- package/docs/reference/interfaces/IBlobStorageGetContentResponse.md +1 -1
- package/docs/reference/interfaces/IBlobStorageGetRequest.md +8 -8
- package/docs/reference/interfaces/IBlobStorageGetResponse.md +3 -3
- package/docs/reference/interfaces/IBlobStorageListRequest.md +9 -9
- package/docs/reference/interfaces/IBlobStorageListResponse.md +4 -4
- package/docs/reference/interfaces/IBlobStorageRemoveRequest.md +1 -1
- package/docs/reference/interfaces/IBlobStorageUpdateRequest.md +5 -5
- package/docs/reference/variables/BlobStorageCompressionType.md +2 -2
- package/docs/reference/variables/BlobStorageContexts.md +6 -6
- package/docs/reference/variables/BlobStorageTypes.md +2 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# TWIN Blob Storage Models
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This package defines shared models, contracts, and schemas for blob identifiers, metadata, and storage operations. It provides the common language used by service, client, and connector packages so integrations remain consistent across environments.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IBlobStorageEntry.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageEntry.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement, IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { BlobStorageCompressionType } from \"./blobStorageCompressionType.js\";\nimport type { BlobStorageContexts } from \"./blobStorageContexts.js\";\nimport type { BlobStorageTypes } from \"./blobStorageTypes.js\";\n\n/**\n * Interface describing a blob storage entry.\n */\nexport interface IBlobStorageEntry {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\": [\n\t\ttypeof BlobStorageContexts.Context,\n\t\ttypeof BlobStorageContexts.ContextCommon,\n\t\t...IJsonLdContextDefinitionElement[]\n\t];\n\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype: typeof BlobStorageTypes.Entry;\n\n\t/**\n\t * The id for the blob.\n\t */\n\tid: string;\n\n\t/**\n\t * The date/time when the entry was created.\n\t * json-ld namespace:schema\n\t */\n\tdateCreated: string;\n\n\t/**\n\t * The date/time when the entry was modified.\n\t * json-ld namespace:schema\n\t */\n\tdateModified?: string;\n\n\t/**\n\t * The size of the data in the blob.\n\t * json-ld type:schema:Integer\n\t */\n\tblobSize: number;\n\n\t/**\n\t * The integrity of the data in the blob.\n\t * json-ld namespace:twin-common\n\t */\n\tintegrity: string;\n\n\t/**\n\t * The mime type for the blob.\n\t * json-ld namespace:schema\n\t */\n\tencodingFormat?: string;\n\n\t/**\n\t * Indicates if the blob is encrypted.\n\t * json-ld type:schema:Boolean\n\t */\n\tisEncrypted?: boolean;\n\n\t/**\n\t * The type of compression used for the blob, if not set it is not stored with compression.\n\t * json-ld type:schema:Text\n\t */\n\tcompression?: BlobStorageCompressionType;\n\n\t/**\n\t * The extension.\n\t * json-ld type:schema:Text\n\t */\n\tfileExtension?: string;\n\n\t/**\n\t * The metadata for the blob as JSON-LD.\n\t * json-ld id\n\t */\n\tmetadata?: IJsonLdNodeObject;\n\n\t/**\n\t * The blob in base64 format, included if the includeContent flag was set in the request.\n\t * json-ld type:schema:Text\n\t */\n\tblob?: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"IBlobStorageEntry.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageEntry.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement, IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { BlobStorageCompressionType } from \"./blobStorageCompressionType.js\";\nimport type { BlobStorageContexts } from \"./blobStorageContexts.js\";\nimport type { BlobStorageTypes } from \"./blobStorageTypes.js\";\n\n/**\n * Interface describing a blob storage entry.\n */\nexport interface IBlobStorageEntry {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\": [\n\t\ttypeof BlobStorageContexts.Context,\n\t\ttypeof BlobStorageContexts.ContextCommon,\n\t\t...IJsonLdContextDefinitionElement[]\n\t];\n\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype: typeof BlobStorageTypes.Entry;\n\n\t/**\n\t * The id for the blob.\n\t */\n\tid: string;\n\n\t/**\n\t * The date/time when the entry was created.\n\t * @json-ld namespace:schema\n\t */\n\tdateCreated: string;\n\n\t/**\n\t * The date/time when the entry was modified.\n\t * @json-ld namespace:schema\n\t */\n\tdateModified?: string;\n\n\t/**\n\t * The size of the data in the blob.\n\t * @json-ld type:schema:Integer\n\t */\n\tblobSize: number;\n\n\t/**\n\t * The integrity of the data in the blob.\n\t * @json-ld namespace:twin-common\n\t */\n\tintegrity: string;\n\n\t/**\n\t * The mime type for the blob.\n\t * @json-ld namespace:schema\n\t */\n\tencodingFormat?: string;\n\n\t/**\n\t * Indicates if the blob is encrypted.\n\t * @json-ld type:schema:Boolean\n\t */\n\tisEncrypted?: boolean;\n\n\t/**\n\t * The type of compression used for the blob, if not set it is not stored with compression.\n\t * @json-ld type:schema:Text\n\t */\n\tcompression?: BlobStorageCompressionType;\n\n\t/**\n\t * The extension.\n\t * @json-ld type:schema:Text\n\t */\n\tfileExtension?: string;\n\n\t/**\n\t * The metadata for the blob as JSON-LD.\n\t * @json-ld id\n\t */\n\tmetadata?: IJsonLdNodeObject;\n\n\t/**\n\t * The blob in base64 format, included if the includeContent flag was set in the request.\n\t * @json-ld type:schema:Text\n\t */\n\tblob?: string;\n}\n"]}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://schema.twindev.org/blob-storage/BlobStorageCompressionType",
|
|
4
|
+
"title": "BlobStorageCompressionType",
|
|
4
5
|
"description": "The types of compression for blob storage data.",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"const": "gzip",
|
|
9
|
+
"description": "Gzip."
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"const": "deflate",
|
|
13
|
+
"description": "Deflate."
|
|
14
|
+
}
|
|
9
15
|
]
|
|
10
16
|
}
|
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://schema.twindev.org/blob-storage/BlobStorageEntry",
|
|
4
|
+
"title": "BlobStorageEntry",
|
|
4
5
|
"description": "Interface describing a blob storage entry.",
|
|
5
6
|
"type": "object",
|
|
6
7
|
"properties": {
|
|
7
8
|
"@context": {
|
|
8
9
|
"type": "array",
|
|
9
|
-
"minItems": 2,
|
|
10
|
-
"description": "JSON-LD Context.",
|
|
11
10
|
"prefixItems": [
|
|
12
11
|
{
|
|
13
|
-
"type": "string",
|
|
14
12
|
"const": "https://schema.twindev.org/blob-storage/"
|
|
15
13
|
},
|
|
16
14
|
{
|
|
17
|
-
"type": "string",
|
|
18
15
|
"const": "https://schema.twindev.org/common/"
|
|
19
16
|
}
|
|
20
17
|
],
|
|
21
18
|
"items": {
|
|
22
19
|
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
23
|
-
}
|
|
20
|
+
},
|
|
21
|
+
"minItems": 2,
|
|
22
|
+
"description": "JSON-LD Context."
|
|
24
23
|
},
|
|
25
24
|
"type": {
|
|
26
|
-
"type": "string",
|
|
27
25
|
"const": "BlobStorageEntry",
|
|
28
26
|
"description": "JSON-LD Type."
|
|
29
27
|
},
|
|
@@ -33,43 +31,43 @@
|
|
|
33
31
|
},
|
|
34
32
|
"dateCreated": {
|
|
35
33
|
"type": "string",
|
|
36
|
-
"description": "The date/time when the entry was created.
|
|
34
|
+
"description": "The date/time when the entry was created."
|
|
37
35
|
},
|
|
38
36
|
"dateModified": {
|
|
39
37
|
"type": "string",
|
|
40
|
-
"description": "The date/time when the entry was modified.
|
|
38
|
+
"description": "The date/time when the entry was modified."
|
|
41
39
|
},
|
|
42
40
|
"blobSize": {
|
|
43
41
|
"type": "number",
|
|
44
|
-
"description": "The size of the data in the blob.
|
|
42
|
+
"description": "The size of the data in the blob."
|
|
45
43
|
},
|
|
46
44
|
"integrity": {
|
|
47
45
|
"type": "string",
|
|
48
|
-
"description": "The integrity of the data in the blob.
|
|
46
|
+
"description": "The integrity of the data in the blob."
|
|
49
47
|
},
|
|
50
48
|
"encodingFormat": {
|
|
51
49
|
"type": "string",
|
|
52
|
-
"description": "The mime type for the blob.
|
|
50
|
+
"description": "The mime type for the blob."
|
|
53
51
|
},
|
|
54
52
|
"isEncrypted": {
|
|
55
53
|
"type": "boolean",
|
|
56
|
-
"description": "Indicates if the blob is encrypted.
|
|
54
|
+
"description": "Indicates if the blob is encrypted."
|
|
57
55
|
},
|
|
58
56
|
"compression": {
|
|
59
57
|
"$ref": "https://schema.twindev.org/blob-storage/BlobStorageCompressionType",
|
|
60
|
-
"description": "The type of compression used for the blob, if not set it is not stored with compression.
|
|
58
|
+
"description": "The type of compression used for the blob, if not set it is not stored with compression."
|
|
61
59
|
},
|
|
62
60
|
"fileExtension": {
|
|
63
61
|
"type": "string",
|
|
64
|
-
"description": "The extension.
|
|
62
|
+
"description": "The extension."
|
|
65
63
|
},
|
|
66
64
|
"metadata": {
|
|
67
65
|
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
|
|
68
|
-
"description": "The metadata for the blob as JSON-LD.
|
|
66
|
+
"description": "The metadata for the blob as JSON-LD."
|
|
69
67
|
},
|
|
70
68
|
"blob": {
|
|
71
69
|
"type": "string",
|
|
72
|
-
"description": "The blob in base64 format, included if the includeContent flag was set in the request.
|
|
70
|
+
"description": "The blob in base64 format, included if the includeContent flag was set in the request."
|
|
73
71
|
}
|
|
74
72
|
},
|
|
75
73
|
"required": [
|
|
@@ -24,52 +24,52 @@ export interface IBlobStorageEntry {
|
|
|
24
24
|
id: string;
|
|
25
25
|
/**
|
|
26
26
|
* The date/time when the entry was created.
|
|
27
|
-
* json-ld namespace:schema
|
|
27
|
+
* @json-ld namespace:schema
|
|
28
28
|
*/
|
|
29
29
|
dateCreated: string;
|
|
30
30
|
/**
|
|
31
31
|
* The date/time when the entry was modified.
|
|
32
|
-
* json-ld namespace:schema
|
|
32
|
+
* @json-ld namespace:schema
|
|
33
33
|
*/
|
|
34
34
|
dateModified?: string;
|
|
35
35
|
/**
|
|
36
36
|
* The size of the data in the blob.
|
|
37
|
-
* json-ld type:schema:Integer
|
|
37
|
+
* @json-ld type:schema:Integer
|
|
38
38
|
*/
|
|
39
39
|
blobSize: number;
|
|
40
40
|
/**
|
|
41
41
|
* The integrity of the data in the blob.
|
|
42
|
-
* json-ld namespace:twin-common
|
|
42
|
+
* @json-ld namespace:twin-common
|
|
43
43
|
*/
|
|
44
44
|
integrity: string;
|
|
45
45
|
/**
|
|
46
46
|
* The mime type for the blob.
|
|
47
|
-
* json-ld namespace:schema
|
|
47
|
+
* @json-ld namespace:schema
|
|
48
48
|
*/
|
|
49
49
|
encodingFormat?: string;
|
|
50
50
|
/**
|
|
51
51
|
* Indicates if the blob is encrypted.
|
|
52
|
-
* json-ld type:schema:Boolean
|
|
52
|
+
* @json-ld type:schema:Boolean
|
|
53
53
|
*/
|
|
54
54
|
isEncrypted?: boolean;
|
|
55
55
|
/**
|
|
56
56
|
* The type of compression used for the blob, if not set it is not stored with compression.
|
|
57
|
-
* json-ld type:schema:Text
|
|
57
|
+
* @json-ld type:schema:Text
|
|
58
58
|
*/
|
|
59
59
|
compression?: BlobStorageCompressionType;
|
|
60
60
|
/**
|
|
61
61
|
* The extension.
|
|
62
|
-
* json-ld type:schema:Text
|
|
62
|
+
* @json-ld type:schema:Text
|
|
63
63
|
*/
|
|
64
64
|
fileExtension?: string;
|
|
65
65
|
/**
|
|
66
66
|
* The metadata for the blob as JSON-LD.
|
|
67
|
-
* json-ld id
|
|
67
|
+
* @json-ld id
|
|
68
68
|
*/
|
|
69
69
|
metadata?: IJsonLdNodeObject;
|
|
70
70
|
/**
|
|
71
71
|
* The blob in base64 format, included if the includeContent flag was set in the request.
|
|
72
|
-
* json-ld type:schema:Text
|
|
72
|
+
* @json-ld type:schema:Text
|
|
73
73
|
*/
|
|
74
74
|
blob?: string;
|
|
75
75
|
}
|
package/docs/changelog.md
CHANGED
|
@@ -1,190 +1,197 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Changelog
|
|
2
2
|
|
|
3
|
-
## [0.0.3-next.
|
|
3
|
+
## [0.0.3-next.8](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.7...blob-storage-models-v0.0.3-next.8) (2026-05-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* data validation tests ([556979a](https://github.com/iotaledger/twin-blob-storage/commit/556979a0c36a942f691c971a9bce3a5d72093f52))
|
|
9
|
+
|
|
10
|
+
## [0.0.3-next.7](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.6...blob-storage-models-v0.0.3-next.7) (2026-02-25)
|
|
4
11
|
|
|
5
12
|
|
|
6
13
|
### Features
|
|
7
14
|
|
|
8
|
-
* update schemas ([6fe6571](https://github.com/
|
|
15
|
+
* update schemas ([6fe6571](https://github.com/iotaledger/twin-blob-storage/commit/6fe65714e23209cdd760ecd5aa8e18762044e4b3))
|
|
9
16
|
|
|
10
|
-
## [0.0.3-next.6](https://github.com/
|
|
17
|
+
## [0.0.3-next.6](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.5...blob-storage-models-v0.0.3-next.6) (2026-02-09)
|
|
11
18
|
|
|
12
19
|
|
|
13
20
|
### Features
|
|
14
21
|
|
|
15
|
-
* add missing namespace for JSON-LD context ([80b15cf](https://github.com/
|
|
16
|
-
* add ts-to-jsonld-context tool ([2fd217f](https://github.com/
|
|
17
|
-
* blobHash changed to integrity ([#41](https://github.com/
|
|
22
|
+
* add missing namespace for JSON-LD context ([80b15cf](https://github.com/iotaledger/twin-blob-storage/commit/80b15cf34b580d9550affa66bcbc9b9ccb34ce21))
|
|
23
|
+
* add ts-to-jsonld-context tool ([2fd217f](https://github.com/iotaledger/twin-blob-storage/commit/2fd217f50dfaf6ac068091876237f5a101a7995e))
|
|
24
|
+
* blobHash changed to integrity ([#41](https://github.com/iotaledger/twin-blob-storage/issues/41)) ([c06a55f](https://github.com/iotaledger/twin-blob-storage/commit/c06a55f0eed3f7cad5d19c4084abd8ef0cdbfb60))
|
|
18
25
|
|
|
19
|
-
## [0.0.3-next.5](https://github.com/
|
|
26
|
+
## [0.0.3-next.5](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.4...blob-storage-models-v0.0.3-next.5) (2026-01-26)
|
|
20
27
|
|
|
21
28
|
|
|
22
29
|
### Miscellaneous Chores
|
|
23
30
|
|
|
24
31
|
* **blob-storage-models:** Synchronize repo versions
|
|
25
32
|
|
|
26
|
-
## [0.0.3-next.4](https://github.com/
|
|
33
|
+
## [0.0.3-next.4](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.3...blob-storage-models-v0.0.3-next.4) (2026-01-23)
|
|
27
34
|
|
|
28
35
|
|
|
29
36
|
### Features
|
|
30
37
|
|
|
31
|
-
* replace nextItem property with Link header ([#37](https://github.com/
|
|
38
|
+
* replace nextItem property with Link header ([#37](https://github.com/iotaledger/twin-blob-storage/issues/37)) ([0b68da5](https://github.com/iotaledger/twin-blob-storage/commit/0b68da58549c9e52eb2313ea5a868573840d5ca6))
|
|
32
39
|
|
|
33
|
-
## [0.0.3-next.3](https://github.com/
|
|
40
|
+
## [0.0.3-next.3](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.2...blob-storage-models-v0.0.3-next.3) (2026-01-21)
|
|
34
41
|
|
|
35
42
|
|
|
36
43
|
### Features
|
|
37
44
|
|
|
38
|
-
* update contexts ([#34](https://github.com/
|
|
45
|
+
* update contexts ([#34](https://github.com/iotaledger/twin-blob-storage/issues/34)) ([b9e432c](https://github.com/iotaledger/twin-blob-storage/commit/b9e432c26025e4bfdf5ba837516dfdbf40f45a61))
|
|
39
46
|
|
|
40
|
-
## [0.0.3-next.2](https://github.com/
|
|
47
|
+
## [0.0.3-next.2](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.1...blob-storage-models-v0.0.3-next.2) (2026-01-14)
|
|
41
48
|
|
|
42
49
|
|
|
43
50
|
### Features
|
|
44
51
|
|
|
45
|
-
* update contexts and namespaces ([#32](https://github.com/
|
|
52
|
+
* update contexts and namespaces ([#32](https://github.com/iotaledger/twin-blob-storage/issues/32)) ([187ed36](https://github.com/iotaledger/twin-blob-storage/commit/187ed36a7d83062665f70689ec5e2b2f553a592e))
|
|
46
53
|
|
|
47
|
-
## [0.0.3-next.1](https://github.com/
|
|
54
|
+
## [0.0.3-next.1](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.0...blob-storage-models-v0.0.3-next.1) (2025-11-11)
|
|
48
55
|
|
|
49
56
|
|
|
50
57
|
### Features
|
|
51
58
|
|
|
52
|
-
* add compression support ([67d239b](https://github.com/
|
|
53
|
-
* add context id features ([#30](https://github.com/
|
|
54
|
-
* add validate-locales ([f20fcec](https://github.com/
|
|
55
|
-
* additional encryption options on per item basis ([4b95a65](https://github.com/
|
|
56
|
-
* eslint migration to flat config ([e4239dd](https://github.com/
|
|
57
|
-
* remove includeNodeIdentity flag ([13bc334](https://github.com/
|
|
58
|
-
* update dependencies ([56f0094](https://github.com/
|
|
59
|
-
* update framework core ([ff339fe](https://github.com/
|
|
60
|
-
* update to support fully qualified data type names ([3297d69](https://github.com/
|
|
61
|
-
* update ts-to-schema generation ([03439c7](https://github.com/
|
|
62
|
-
* use shared store mechanism ([#12](https://github.com/
|
|
63
|
-
* use standard list json ld types ([d6bdfd6](https://github.com/
|
|
59
|
+
* add compression support ([67d239b](https://github.com/iotaledger/twin-blob-storage/commit/67d239bca8321bd90bf4ff93167c564130309730))
|
|
60
|
+
* add context id features ([#30](https://github.com/iotaledger/twin-blob-storage/issues/30)) ([fbf1c92](https://github.com/iotaledger/twin-blob-storage/commit/fbf1c9276424c841ef5ef3f4de8469ab3fba7e9c))
|
|
61
|
+
* add validate-locales ([f20fcec](https://github.com/iotaledger/twin-blob-storage/commit/f20fceced91e39a0c9edb770b2e43ce944c92f3c))
|
|
62
|
+
* additional encryption options on per item basis ([4b95a65](https://github.com/iotaledger/twin-blob-storage/commit/4b95a656d19e3b571cea905e36f29b679b13e1e8))
|
|
63
|
+
* eslint migration to flat config ([e4239dd](https://github.com/iotaledger/twin-blob-storage/commit/e4239dd1c721955cff7f0357255d2bba15319972))
|
|
64
|
+
* remove includeNodeIdentity flag ([13bc334](https://github.com/iotaledger/twin-blob-storage/commit/13bc33445b179879688af3c98e8be8a5609d3f46))
|
|
65
|
+
* update dependencies ([56f0094](https://github.com/iotaledger/twin-blob-storage/commit/56f0094b68d8bd22864cd899ac1b61d95540f719))
|
|
66
|
+
* update framework core ([ff339fe](https://github.com/iotaledger/twin-blob-storage/commit/ff339fe7e3f09ddff429907834bdf43617e9c05e))
|
|
67
|
+
* update to support fully qualified data type names ([3297d69](https://github.com/iotaledger/twin-blob-storage/commit/3297d69d332058b0f0141002087f56ba230620e1))
|
|
68
|
+
* update ts-to-schema generation ([03439c7](https://github.com/iotaledger/twin-blob-storage/commit/03439c726108bf645941290e41824c57a6a23de3))
|
|
69
|
+
* use shared store mechanism ([#12](https://github.com/iotaledger/twin-blob-storage/issues/12)) ([cae8110](https://github.com/iotaledger/twin-blob-storage/commit/cae8110681847a1ac4fcac968b8196694e49c320))
|
|
70
|
+
* use standard list json ld types ([d6bdfd6](https://github.com/iotaledger/twin-blob-storage/commit/d6bdfd68af47f70f3cc53658b4a12543497e1f48))
|
|
64
71
|
|
|
65
72
|
|
|
66
73
|
### Bug Fixes
|
|
67
74
|
|
|
68
|
-
* Adding the optional flag to the entity ([#10](https://github.com/
|
|
69
|
-
* query params force coercion ([a5e547a](https://github.com/
|
|
75
|
+
* Adding the optional flag to the entity ([#10](https://github.com/iotaledger/twin-blob-storage/issues/10)) ([626677e](https://github.com/iotaledger/twin-blob-storage/commit/626677e5730d23535a0eb1f36f8394d941ff2447))
|
|
76
|
+
* query params force coercion ([a5e547a](https://github.com/iotaledger/twin-blob-storage/commit/a5e547a775f8997cb04780938c7a9561ddb048d1))
|
|
70
77
|
|
|
71
|
-
## [0.0.2-next.5](https://github.com/
|
|
78
|
+
## [0.0.2-next.5](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.2-next.4...blob-storage-models-v0.0.2-next.5) (2025-10-09)
|
|
72
79
|
|
|
73
80
|
|
|
74
81
|
### Features
|
|
75
82
|
|
|
76
|
-
* add validate-locales ([f20fcec](https://github.com/
|
|
83
|
+
* add validate-locales ([f20fcec](https://github.com/iotaledger/twin-blob-storage/commit/f20fceced91e39a0c9edb770b2e43ce944c92f3c))
|
|
77
84
|
|
|
78
|
-
## [0.0.2-next.4](https://github.com/
|
|
85
|
+
## [0.0.2-next.4](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.2-next.3...blob-storage-models-v0.0.2-next.4) (2025-10-02)
|
|
79
86
|
|
|
80
87
|
|
|
81
88
|
### Miscellaneous Chores
|
|
82
89
|
|
|
83
90
|
* **blob-storage-models:** Synchronize repo versions
|
|
84
91
|
|
|
85
|
-
## [0.0.2-next.3](https://github.com/
|
|
92
|
+
## [0.0.2-next.3](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.2-next.2...blob-storage-models-v0.0.2-next.3) (2025-08-29)
|
|
86
93
|
|
|
87
94
|
|
|
88
95
|
### Features
|
|
89
96
|
|
|
90
|
-
* eslint migration to flat config ([e4239dd](https://github.com/
|
|
97
|
+
* eslint migration to flat config ([e4239dd](https://github.com/iotaledger/twin-blob-storage/commit/e4239dd1c721955cff7f0357255d2bba15319972))
|
|
91
98
|
|
|
92
|
-
## [0.0.2-next.2](https://github.com/
|
|
99
|
+
## [0.0.2-next.2](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.2-next.1...blob-storage-models-v0.0.2-next.2) (2025-08-20)
|
|
93
100
|
|
|
94
101
|
|
|
95
102
|
### Features
|
|
96
103
|
|
|
97
|
-
* update framework core ([ff339fe](https://github.com/
|
|
104
|
+
* update framework core ([ff339fe](https://github.com/iotaledger/twin-blob-storage/commit/ff339fe7e3f09ddff429907834bdf43617e9c05e))
|
|
98
105
|
|
|
99
|
-
## [0.0.2-next.1](https://github.com/
|
|
106
|
+
## [0.0.2-next.1](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.2-next.0...blob-storage-models-v0.0.2-next.1) (2025-07-24)
|
|
100
107
|
|
|
101
108
|
|
|
102
109
|
### Features
|
|
103
110
|
|
|
104
|
-
* add compression support ([67d239b](https://github.com/
|
|
105
|
-
* additional encryption options on per item basis ([4b95a65](https://github.com/
|
|
106
|
-
* remove includeNodeIdentity flag ([13bc334](https://github.com/
|
|
107
|
-
* update dependencies ([56f0094](https://github.com/
|
|
108
|
-
* update to support fully qualified data type names ([3297d69](https://github.com/
|
|
109
|
-
* update ts-to-schema generation ([03439c7](https://github.com/
|
|
110
|
-
* use shared store mechanism ([#12](https://github.com/
|
|
111
|
-
* use standard list json ld types ([d6bdfd6](https://github.com/
|
|
111
|
+
* add compression support ([67d239b](https://github.com/iotaledger/twin-blob-storage/commit/67d239bca8321bd90bf4ff93167c564130309730))
|
|
112
|
+
* additional encryption options on per item basis ([4b95a65](https://github.com/iotaledger/twin-blob-storage/commit/4b95a656d19e3b571cea905e36f29b679b13e1e8))
|
|
113
|
+
* remove includeNodeIdentity flag ([13bc334](https://github.com/iotaledger/twin-blob-storage/commit/13bc33445b179879688af3c98e8be8a5609d3f46))
|
|
114
|
+
* update dependencies ([56f0094](https://github.com/iotaledger/twin-blob-storage/commit/56f0094b68d8bd22864cd899ac1b61d95540f719))
|
|
115
|
+
* update to support fully qualified data type names ([3297d69](https://github.com/iotaledger/twin-blob-storage/commit/3297d69d332058b0f0141002087f56ba230620e1))
|
|
116
|
+
* update ts-to-schema generation ([03439c7](https://github.com/iotaledger/twin-blob-storage/commit/03439c726108bf645941290e41824c57a6a23de3))
|
|
117
|
+
* use shared store mechanism ([#12](https://github.com/iotaledger/twin-blob-storage/issues/12)) ([cae8110](https://github.com/iotaledger/twin-blob-storage/commit/cae8110681847a1ac4fcac968b8196694e49c320))
|
|
118
|
+
* use standard list json ld types ([d6bdfd6](https://github.com/iotaledger/twin-blob-storage/commit/d6bdfd68af47f70f3cc53658b4a12543497e1f48))
|
|
112
119
|
|
|
113
120
|
|
|
114
121
|
### Bug Fixes
|
|
115
122
|
|
|
116
|
-
* Adding the optional flag to the entity ([#10](https://github.com/
|
|
117
|
-
* query params force coercion ([a5e547a](https://github.com/
|
|
123
|
+
* Adding the optional flag to the entity ([#10](https://github.com/iotaledger/twin-blob-storage/issues/10)) ([626677e](https://github.com/iotaledger/twin-blob-storage/commit/626677e5730d23535a0eb1f36f8394d941ff2447))
|
|
124
|
+
* query params force coercion ([a5e547a](https://github.com/iotaledger/twin-blob-storage/commit/a5e547a775f8997cb04780938c7a9561ddb048d1))
|
|
118
125
|
|
|
119
126
|
## 0.0.1 (2025-07-04)
|
|
120
127
|
|
|
121
128
|
|
|
122
129
|
### Features
|
|
123
130
|
|
|
124
|
-
* release to production ([eacfe75](https://github.com/
|
|
131
|
+
* release to production ([eacfe75](https://github.com/iotaledger/twin-blob-storage/commit/eacfe754a0dcd9243d9e13d86422327d0a605164))
|
|
125
132
|
|
|
126
|
-
## [0.0.1-next.37](https://github.com/
|
|
133
|
+
## [0.0.1-next.37](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.36...blob-storage-models-v0.0.1-next.37) (2025-06-20)
|
|
127
134
|
|
|
128
135
|
|
|
129
136
|
### Bug Fixes
|
|
130
137
|
|
|
131
|
-
* query params force coercion ([a5e547a](https://github.com/
|
|
138
|
+
* query params force coercion ([a5e547a](https://github.com/iotaledger/twin-blob-storage/commit/a5e547a775f8997cb04780938c7a9561ddb048d1))
|
|
132
139
|
|
|
133
|
-
## [0.0.1-next.36](https://github.com/
|
|
140
|
+
## [0.0.1-next.36](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.35...blob-storage-models-v0.0.1-next.36) (2025-06-19)
|
|
134
141
|
|
|
135
142
|
|
|
136
143
|
### Features
|
|
137
144
|
|
|
138
|
-
* add compression support ([67d239b](https://github.com/
|
|
145
|
+
* add compression support ([67d239b](https://github.com/iotaledger/twin-blob-storage/commit/67d239bca8321bd90bf4ff93167c564130309730))
|
|
139
146
|
|
|
140
|
-
## [0.0.1-next.35](https://github.com/
|
|
147
|
+
## [0.0.1-next.35](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.34...blob-storage-models-v0.0.1-next.35) (2025-06-17)
|
|
141
148
|
|
|
142
149
|
|
|
143
150
|
### Features
|
|
144
151
|
|
|
145
|
-
* additional encryption options on per item basis ([4b95a65](https://github.com/
|
|
152
|
+
* additional encryption options on per item basis ([4b95a65](https://github.com/iotaledger/twin-blob-storage/commit/4b95a656d19e3b571cea905e36f29b679b13e1e8))
|
|
146
153
|
|
|
147
|
-
## [0.0.1-next.34](https://github.com/
|
|
154
|
+
## [0.0.1-next.34](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.33...blob-storage-models-v0.0.1-next.34) (2025-06-12)
|
|
148
155
|
|
|
149
156
|
|
|
150
157
|
### Features
|
|
151
158
|
|
|
152
|
-
* update dependencies ([56f0094](https://github.com/
|
|
159
|
+
* update dependencies ([56f0094](https://github.com/iotaledger/twin-blob-storage/commit/56f0094b68d8bd22864cd899ac1b61d95540f719))
|
|
153
160
|
|
|
154
|
-
## [0.0.1-next.33](https://github.com/
|
|
161
|
+
## [0.0.1-next.33](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.32...blob-storage-models-v0.0.1-next.33) (2025-06-03)
|
|
155
162
|
|
|
156
163
|
|
|
157
164
|
### Features
|
|
158
165
|
|
|
159
|
-
* update ts-to-schema generation ([03439c7](https://github.com/
|
|
166
|
+
* update ts-to-schema generation ([03439c7](https://github.com/iotaledger/twin-blob-storage/commit/03439c726108bf645941290e41824c57a6a23de3))
|
|
160
167
|
|
|
161
|
-
## [0.0.1-next.32](https://github.com/
|
|
168
|
+
## [0.0.1-next.32](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.31...blob-storage-models-v0.0.1-next.32) (2025-05-28)
|
|
162
169
|
|
|
163
170
|
|
|
164
171
|
### Features
|
|
165
172
|
|
|
166
|
-
* update to support fully qualified data type names ([3297d69](https://github.com/
|
|
173
|
+
* update to support fully qualified data type names ([3297d69](https://github.com/iotaledger/twin-blob-storage/commit/3297d69d332058b0f0141002087f56ba230620e1))
|
|
167
174
|
|
|
168
|
-
## [0.0.1-next.31](https://github.com/
|
|
175
|
+
## [0.0.1-next.31](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.30...blob-storage-models-v0.0.1-next.31) (2025-05-08)
|
|
169
176
|
|
|
170
177
|
|
|
171
178
|
### Features
|
|
172
179
|
|
|
173
|
-
* use standard list json ld types ([d6bdfd6](https://github.com/
|
|
180
|
+
* use standard list json ld types ([d6bdfd6](https://github.com/iotaledger/twin-blob-storage/commit/d6bdfd68af47f70f3cc53658b4a12543497e1f48))
|
|
174
181
|
|
|
175
|
-
## [0.0.1-next.30](https://github.com/
|
|
182
|
+
## [0.0.1-next.30](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.29...blob-storage-models-v0.0.1-next.30) (2025-04-17)
|
|
176
183
|
|
|
177
184
|
|
|
178
185
|
### Features
|
|
179
186
|
|
|
180
|
-
* use shared store mechanism ([#12](https://github.com/
|
|
187
|
+
* use shared store mechanism ([#12](https://github.com/iotaledger/twin-blob-storage/issues/12)) ([cae8110](https://github.com/iotaledger/twin-blob-storage/commit/cae8110681847a1ac4fcac968b8196694e49c320))
|
|
181
188
|
|
|
182
|
-
## [0.0.1-next.29](https://github.com/
|
|
189
|
+
## [0.0.1-next.29](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.1-next.28...blob-storage-models-v0.0.1-next.29) (2025-03-28)
|
|
183
190
|
|
|
184
191
|
|
|
185
192
|
### Bug Fixes
|
|
186
193
|
|
|
187
|
-
* Adding the optional flag to the entity ([#10](https://github.com/
|
|
194
|
+
* Adding the optional flag to the entity ([#10](https://github.com/iotaledger/twin-blob-storage/issues/10)) ([626677e](https://github.com/iotaledger/twin-blob-storage/commit/626677e5730d23535a0eb1f36f8394d941ff2447))
|
|
188
195
|
|
|
189
196
|
## v0.0.1-next.28
|
|
190
197
|
|
package/docs/examples.md
CHANGED
|
@@ -1 +1,23 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Models Examples
|
|
2
|
+
|
|
3
|
+
Use these snippets to register data types and resolve connector instances by namespace when composing storage workflows.
|
|
4
|
+
|
|
5
|
+
## BlobStorageDataTypes
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { BlobStorageDataTypes } from '@twin.org/blob-storage-models';
|
|
9
|
+
|
|
10
|
+
BlobStorageDataTypes.registerTypes();
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## BlobStorageConnectorFactory
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
import { BlobStorageConnectorFactory } from '@twin.org/blob-storage-models';
|
|
17
|
+
|
|
18
|
+
const connectorNamespaces = BlobStorageConnectorFactory.names();
|
|
19
|
+
console.log(connectorNamespaces.length); // 2
|
|
20
|
+
|
|
21
|
+
const defaultConnector = BlobStorageConnectorFactory.get(connectorNamespaces[0]);
|
|
22
|
+
console.log(defaultConnector.className()); // MemoryBlobStorageConnector
|
|
23
|
+
```
|
|
@@ -8,7 +8,7 @@ Interface describing an blob storage component.
|
|
|
8
8
|
|
|
9
9
|
## Methods
|
|
10
10
|
|
|
11
|
-
### create()
|
|
11
|
+
### create() {#create}
|
|
12
12
|
|
|
13
13
|
> **create**(`blob`, `encodingFormat?`, `fileExtension?`, `metadata?`, `options?`): `Promise`\<`string`\>
|
|
14
14
|
|
|
@@ -76,7 +76,7 @@ The id of the stored blob in urn format.
|
|
|
76
76
|
|
|
77
77
|
***
|
|
78
78
|
|
|
79
|
-
### get()
|
|
79
|
+
### get() {#get}
|
|
80
80
|
|
|
81
81
|
> **get**(`id`, `options?`): `Promise`\<[`IBlobStorageEntry`](IBlobStorageEntry.md)\>
|
|
82
82
|
|
|
@@ -124,7 +124,7 @@ Not found error if the blob cannot be found.
|
|
|
124
124
|
|
|
125
125
|
***
|
|
126
126
|
|
|
127
|
-
### update()
|
|
127
|
+
### update() {#update}
|
|
128
128
|
|
|
129
129
|
> **update**(`id`, `encodingFormat?`, `fileExtension?`, `metadata?`): `Promise`\<`void`\>
|
|
130
130
|
|
|
@@ -168,7 +168,7 @@ Not found error if the blob cannot be found.
|
|
|
168
168
|
|
|
169
169
|
***
|
|
170
170
|
|
|
171
|
-
### remove()
|
|
171
|
+
### remove() {#remove}
|
|
172
172
|
|
|
173
173
|
> **remove**(`id`): `Promise`\<`void`\>
|
|
174
174
|
|
|
@@ -194,7 +194,7 @@ Not found error if the blob cannot be found.
|
|
|
194
194
|
|
|
195
195
|
***
|
|
196
196
|
|
|
197
|
-
### query()
|
|
197
|
+
### query() {#query}
|
|
198
198
|
|
|
199
199
|
> **query**(`conditions?`, `orderBy?`, `orderByDirection?`, `cursor?`, `limit?`): `Promise`\<\{ `entries`: [`IBlobStorageEntryList`](IBlobStorageEntryList.md); `cursor?`: `string`; \}\>
|
|
200
200
|
|
|
@@ -210,9 +210,9 @@ The conditions to match for the entries.
|
|
|
210
210
|
|
|
211
211
|
##### orderBy?
|
|
212
212
|
|
|
213
|
-
|
|
213
|
+
`"dateCreated"` \| `"dateModified"`
|
|
214
214
|
|
|
215
|
-
|
|
215
|
+
The order for the results, defaults to created.
|
|
216
216
|
|
|
217
217
|
##### orderByDirection?
|
|
218
218
|
|
|
@@ -8,7 +8,7 @@ Interface describing an blob storage connector.
|
|
|
8
8
|
|
|
9
9
|
## Methods
|
|
10
10
|
|
|
11
|
-
### set()
|
|
11
|
+
### set() {#set}
|
|
12
12
|
|
|
13
13
|
> **set**(`blob`): `Promise`\<`string`\>
|
|
14
14
|
|
|
@@ -30,7 +30,7 @@ The id of the stored blob in urn format.
|
|
|
30
30
|
|
|
31
31
|
***
|
|
32
32
|
|
|
33
|
-
### get()
|
|
33
|
+
### get() {#get}
|
|
34
34
|
|
|
35
35
|
> **get**(`id`): `Promise`\<`Uint8Array`\<`ArrayBufferLike`\> \| `undefined`\>
|
|
36
36
|
|
|
@@ -52,7 +52,7 @@ The data for the blob if it can be found or undefined.
|
|
|
52
52
|
|
|
53
53
|
***
|
|
54
54
|
|
|
55
|
-
### remove()
|
|
55
|
+
### remove() {#remove}
|
|
56
56
|
|
|
57
57
|
> **remove**(`id`): `Promise`\<`boolean`\>
|
|
58
58
|
|
|
@@ -4,7 +4,7 @@ Request to create an entry in blob storage.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### body
|
|
7
|
+
### body {#body}
|
|
8
8
|
|
|
9
9
|
> **body**: `object`
|
|
10
10
|
|
|
@@ -18,25 +18,25 @@ The data to store in base64 encoding.
|
|
|
18
18
|
|
|
19
19
|
#### encodingFormat?
|
|
20
20
|
|
|
21
|
-
> `optional` **encodingFormat
|
|
21
|
+
> `optional` **encodingFormat?**: `string`
|
|
22
22
|
|
|
23
23
|
The mime type of the blob, will be detected if left undefined.
|
|
24
24
|
|
|
25
25
|
#### fileExtension?
|
|
26
26
|
|
|
27
|
-
> `optional` **fileExtension
|
|
27
|
+
> `optional` **fileExtension?**: `string`
|
|
28
28
|
|
|
29
29
|
The extension of the blob, will be detected if left undefined.
|
|
30
30
|
|
|
31
31
|
#### metadata?
|
|
32
32
|
|
|
33
|
-
> `optional` **metadata
|
|
33
|
+
> `optional` **metadata?**: `IJsonLdNodeObject`
|
|
34
34
|
|
|
35
35
|
Custom metadata to associate with the blob as JSON-LD.
|
|
36
36
|
|
|
37
37
|
#### disableEncryption?
|
|
38
38
|
|
|
39
|
-
> `optional` **disableEncryption
|
|
39
|
+
> `optional` **disableEncryption?**: `boolean`
|
|
40
40
|
|
|
41
41
|
Disables encryption if enabled by default.
|
|
42
42
|
|
|
@@ -48,13 +48,13 @@ false
|
|
|
48
48
|
|
|
49
49
|
#### compress?
|
|
50
50
|
|
|
51
|
-
> `optional` **compress
|
|
51
|
+
> `optional` **compress?**: [`BlobStorageCompressionType`](../type-aliases/BlobStorageCompressionType.md)
|
|
52
52
|
|
|
53
53
|
Optional compression type to use for the blob, defaults to no compression.
|
|
54
54
|
|
|
55
55
|
#### overrideVaultKeyId?
|
|
56
56
|
|
|
57
|
-
> `optional` **overrideVaultKeyId
|
|
57
|
+
> `optional` **overrideVaultKeyId?**: `string`
|
|
58
58
|
|
|
59
59
|
Use a different vault key id for encryption, if not provided the default vault key id will be used.
|
|
60
60
|
|
|
@@ -66,6 +66,6 @@ undefined
|
|
|
66
66
|
|
|
67
67
|
#### namespace?
|
|
68
68
|
|
|
69
|
-
> `optional` **namespace
|
|
69
|
+
> `optional` **namespace?**: `string`
|
|
70
70
|
|
|
71
71
|
The namespace to store the data in, defaults to component configured namespace.
|
|
@@ -4,7 +4,7 @@ Interface describing a blob storage entry.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### @context
|
|
7
|
+
### @context {#context}
|
|
8
8
|
|
|
9
9
|
> **@context**: \[`"https://schema.twindev.org/blob-storage/"`, `"https://schema.twindev.org/common/"`, `...IJsonLdContextDefinitionElement[]`\]
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ JSON-LD Context.
|
|
|
12
12
|
|
|
13
13
|
***
|
|
14
14
|
|
|
15
|
-
### type
|
|
15
|
+
### type {#type}
|
|
16
16
|
|
|
17
17
|
> **type**: `"BlobStorageEntry"`
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ JSON-LD Type.
|
|
|
20
20
|
|
|
21
21
|
***
|
|
22
22
|
|
|
23
|
-
### id
|
|
23
|
+
### id {#id}
|
|
24
24
|
|
|
25
25
|
> **id**: `string`
|
|
26
26
|
|
|
@@ -28,90 +28,80 @@ The id for the blob.
|
|
|
28
28
|
|
|
29
29
|
***
|
|
30
30
|
|
|
31
|
-
### dateCreated
|
|
31
|
+
### dateCreated {#datecreated}
|
|
32
32
|
|
|
33
33
|
> **dateCreated**: `string`
|
|
34
34
|
|
|
35
35
|
The date/time when the entry was created.
|
|
36
|
-
json-ld namespace:schema
|
|
37
36
|
|
|
38
37
|
***
|
|
39
38
|
|
|
40
|
-
### dateModified?
|
|
39
|
+
### dateModified? {#datemodified}
|
|
41
40
|
|
|
42
|
-
> `optional` **dateModified
|
|
41
|
+
> `optional` **dateModified?**: `string`
|
|
43
42
|
|
|
44
43
|
The date/time when the entry was modified.
|
|
45
|
-
json-ld namespace:schema
|
|
46
44
|
|
|
47
45
|
***
|
|
48
46
|
|
|
49
|
-
### blobSize
|
|
47
|
+
### blobSize {#blobsize}
|
|
50
48
|
|
|
51
49
|
> **blobSize**: `number`
|
|
52
50
|
|
|
53
51
|
The size of the data in the blob.
|
|
54
|
-
json-ld type:schema:Integer
|
|
55
52
|
|
|
56
53
|
***
|
|
57
54
|
|
|
58
|
-
### integrity
|
|
55
|
+
### integrity {#integrity}
|
|
59
56
|
|
|
60
57
|
> **integrity**: `string`
|
|
61
58
|
|
|
62
59
|
The integrity of the data in the blob.
|
|
63
|
-
json-ld namespace:twin-common
|
|
64
60
|
|
|
65
61
|
***
|
|
66
62
|
|
|
67
|
-
### encodingFormat?
|
|
63
|
+
### encodingFormat? {#encodingformat}
|
|
68
64
|
|
|
69
|
-
> `optional` **encodingFormat
|
|
65
|
+
> `optional` **encodingFormat?**: `string`
|
|
70
66
|
|
|
71
67
|
The mime type for the blob.
|
|
72
|
-
json-ld namespace:schema
|
|
73
68
|
|
|
74
69
|
***
|
|
75
70
|
|
|
76
|
-
### isEncrypted?
|
|
71
|
+
### isEncrypted? {#isencrypted}
|
|
77
72
|
|
|
78
|
-
> `optional` **isEncrypted
|
|
73
|
+
> `optional` **isEncrypted?**: `boolean`
|
|
79
74
|
|
|
80
75
|
Indicates if the blob is encrypted.
|
|
81
|
-
json-ld type:schema:Boolean
|
|
82
76
|
|
|
83
77
|
***
|
|
84
78
|
|
|
85
|
-
### compression?
|
|
79
|
+
### compression? {#compression}
|
|
86
80
|
|
|
87
|
-
> `optional` **compression
|
|
81
|
+
> `optional` **compression?**: [`BlobStorageCompressionType`](../type-aliases/BlobStorageCompressionType.md)
|
|
88
82
|
|
|
89
83
|
The type of compression used for the blob, if not set it is not stored with compression.
|
|
90
|
-
json-ld type:schema:Text
|
|
91
84
|
|
|
92
85
|
***
|
|
93
86
|
|
|
94
|
-
### fileExtension?
|
|
87
|
+
### fileExtension? {#fileextension}
|
|
95
88
|
|
|
96
|
-
> `optional` **fileExtension
|
|
89
|
+
> `optional` **fileExtension?**: `string`
|
|
97
90
|
|
|
98
91
|
The extension.
|
|
99
|
-
json-ld type:schema:Text
|
|
100
92
|
|
|
101
93
|
***
|
|
102
94
|
|
|
103
|
-
### metadata?
|
|
95
|
+
### metadata? {#metadata}
|
|
104
96
|
|
|
105
|
-
> `optional` **metadata
|
|
97
|
+
> `optional` **metadata?**: `IJsonLdNodeObject`
|
|
106
98
|
|
|
107
99
|
The metadata for the blob as JSON-LD.
|
|
108
|
-
json-ld id
|
|
109
100
|
|
|
110
101
|
***
|
|
111
102
|
|
|
112
|
-
### blob?
|
|
103
|
+
### blob? {#blob}
|
|
113
104
|
|
|
114
|
-
> `optional` **blob
|
|
105
|
+
> `optional` **blob?**: `string`
|
|
115
106
|
|
|
116
107
|
The blob in base64 format, included if the includeContent flag was set in the request.
|
|
117
|
-
json-ld type:schema:Text
|
|
@@ -4,7 +4,7 @@ Interface describing an blob storage entry list.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### @context
|
|
7
|
+
### @context {#context}
|
|
8
8
|
|
|
9
9
|
> **@context**: \[`"https://schema.org"`, `"https://schema.twindev.org/blob-storage/"`, `"https://schema.twindev.org/common/"`, `...IJsonLdContextDefinitionElement[]`\]
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ JSON-LD Context.
|
|
|
12
12
|
|
|
13
13
|
***
|
|
14
14
|
|
|
15
|
-
### type
|
|
15
|
+
### type {#type}
|
|
16
16
|
|
|
17
17
|
> **type**: `"ItemList"`
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ JSON-LD Type.
|
|
|
20
20
|
|
|
21
21
|
***
|
|
22
22
|
|
|
23
|
-
### itemListElement
|
|
23
|
+
### itemListElement {#itemlistelement}
|
|
24
24
|
|
|
25
25
|
> **itemListElement**: [`IBlobStorageEntry`](IBlobStorageEntry.md)[]
|
|
26
26
|
|
|
@@ -4,7 +4,7 @@ Request to get the content from blob storage.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### pathParams
|
|
7
|
+
### pathParams {#pathparams}
|
|
8
8
|
|
|
9
9
|
> **pathParams**: `object`
|
|
10
10
|
|
|
@@ -18,15 +18,15 @@ The id of the blob to get in urn format.
|
|
|
18
18
|
|
|
19
19
|
***
|
|
20
20
|
|
|
21
|
-
### query?
|
|
21
|
+
### query? {#query}
|
|
22
22
|
|
|
23
|
-
> `optional` **query
|
|
23
|
+
> `optional` **query?**: `object`
|
|
24
24
|
|
|
25
25
|
The query parameters.
|
|
26
26
|
|
|
27
27
|
#### decompress?
|
|
28
28
|
|
|
29
|
-
> `optional` **decompress
|
|
29
|
+
> `optional` **decompress?**: `string`
|
|
30
30
|
|
|
31
31
|
If the content should be decompressed, if it was compressed when stored, defaults to true.
|
|
32
32
|
|
|
@@ -38,7 +38,7 @@ true
|
|
|
38
38
|
|
|
39
39
|
#### overrideVaultKeyId?
|
|
40
40
|
|
|
41
|
-
> `optional` **overrideVaultKeyId
|
|
41
|
+
> `optional` **overrideVaultKeyId?**: `string`
|
|
42
42
|
|
|
43
43
|
Use a different vault key id for decryption, if not provided the default vault key id will be used.
|
|
44
44
|
|
|
@@ -50,7 +50,7 @@ undefined
|
|
|
50
50
|
|
|
51
51
|
#### download?
|
|
52
52
|
|
|
53
|
-
> `optional` **download
|
|
53
|
+
> `optional` **download?**: `string`
|
|
54
54
|
|
|
55
55
|
Set the download flag which should prompt the browser to save the file.
|
|
56
56
|
Otherwise the browser should show the content inside the page.
|
|
@@ -63,7 +63,7 @@ false
|
|
|
63
63
|
|
|
64
64
|
#### filename?
|
|
65
65
|
|
|
66
|
-
> `optional` **filename
|
|
66
|
+
> `optional` **filename?**: `string`
|
|
67
67
|
|
|
68
68
|
Set the filename to use when a download is triggered.
|
|
69
69
|
A filename will be generated if not provided.
|
|
@@ -4,9 +4,9 @@ Request to get an entry from blob storage.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### headers?
|
|
7
|
+
### headers? {#headers}
|
|
8
8
|
|
|
9
|
-
> `optional` **headers
|
|
9
|
+
> `optional` **headers?**: `object`
|
|
10
10
|
|
|
11
11
|
The headers which can be used to determine the response data type.
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ The headers which can be used to determine the response data type.
|
|
|
16
16
|
|
|
17
17
|
***
|
|
18
18
|
|
|
19
|
-
### pathParams
|
|
19
|
+
### pathParams {#pathparams}
|
|
20
20
|
|
|
21
21
|
> **pathParams**: `object`
|
|
22
22
|
|
|
@@ -30,15 +30,15 @@ The id of the blob to get in urn format.
|
|
|
30
30
|
|
|
31
31
|
***
|
|
32
32
|
|
|
33
|
-
### query?
|
|
33
|
+
### query? {#query}
|
|
34
34
|
|
|
35
|
-
> `optional` **query
|
|
35
|
+
> `optional` **query?**: `object`
|
|
36
36
|
|
|
37
37
|
The query parameters.
|
|
38
38
|
|
|
39
39
|
#### includeContent?
|
|
40
40
|
|
|
41
|
-
> `optional` **includeContent
|
|
41
|
+
> `optional` **includeContent?**: `string`
|
|
42
42
|
|
|
43
43
|
Include the content in the response, otherwise only metadata is returned.
|
|
44
44
|
|
|
@@ -50,7 +50,7 @@ false
|
|
|
50
50
|
|
|
51
51
|
#### decompress?
|
|
52
52
|
|
|
53
|
-
> `optional` **decompress
|
|
53
|
+
> `optional` **decompress?**: `string`
|
|
54
54
|
|
|
55
55
|
If the content should be decompressed, if it was compressed when stored, defaults to true.
|
|
56
56
|
|
|
@@ -62,7 +62,7 @@ true
|
|
|
62
62
|
|
|
63
63
|
#### overrideVaultKeyId?
|
|
64
64
|
|
|
65
|
-
> `optional` **overrideVaultKeyId
|
|
65
|
+
> `optional` **overrideVaultKeyId?**: `string`
|
|
66
66
|
|
|
67
67
|
Use a different vault key id for decryption, if not provided the default vault key id will be used.
|
|
68
68
|
|
|
@@ -4,9 +4,9 @@ Response to get an entry from blob storage.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### headers?
|
|
7
|
+
### headers? {#headers}
|
|
8
8
|
|
|
9
|
-
> `optional` **headers
|
|
9
|
+
> `optional` **headers?**: `object`
|
|
10
10
|
|
|
11
11
|
The headers which can be used to determine the response data type.
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ The headers which can be used to determine the response data type.
|
|
|
16
16
|
|
|
17
17
|
***
|
|
18
18
|
|
|
19
|
-
### body
|
|
19
|
+
### body {#body}
|
|
20
20
|
|
|
21
21
|
> **body**: [`IBlobStorageEntry`](IBlobStorageEntry.md)
|
|
22
22
|
|
|
@@ -4,9 +4,9 @@ Query the entries from blob storage.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### headers?
|
|
7
|
+
### headers? {#headers}
|
|
8
8
|
|
|
9
|
-
> `optional` **headers
|
|
9
|
+
> `optional` **headers?**: `object`
|
|
10
10
|
|
|
11
11
|
The headers which can be used to determine the response data type.
|
|
12
12
|
|
|
@@ -16,38 +16,38 @@ The headers which can be used to determine the response data type.
|
|
|
16
16
|
|
|
17
17
|
***
|
|
18
18
|
|
|
19
|
-
### query?
|
|
19
|
+
### query? {#query}
|
|
20
20
|
|
|
21
|
-
> `optional` **query
|
|
21
|
+
> `optional` **query?**: `object`
|
|
22
22
|
|
|
23
23
|
The parameters from the query.
|
|
24
24
|
|
|
25
25
|
#### conditions?
|
|
26
26
|
|
|
27
|
-
> `optional` **conditions
|
|
27
|
+
> `optional` **conditions?**: `string`
|
|
28
28
|
|
|
29
29
|
The condition for the query as JSON version of EntityCondition type.
|
|
30
30
|
|
|
31
31
|
#### orderBy?
|
|
32
32
|
|
|
33
|
-
> `optional` **orderBy
|
|
33
|
+
> `optional` **orderBy?**: `"dateCreated"` \| `"dateModified"`
|
|
34
34
|
|
|
35
35
|
The order for the results, default to created.
|
|
36
36
|
|
|
37
37
|
#### orderByDirection?
|
|
38
38
|
|
|
39
|
-
> `optional` **orderByDirection
|
|
39
|
+
> `optional` **orderByDirection?**: `SortDirection`
|
|
40
40
|
|
|
41
41
|
The direction for the order, defaults to desc.
|
|
42
42
|
|
|
43
43
|
#### limit?
|
|
44
44
|
|
|
45
|
-
> `optional` **limit
|
|
45
|
+
> `optional` **limit?**: `string`
|
|
46
46
|
|
|
47
47
|
Limit the number of entities to return.
|
|
48
48
|
|
|
49
49
|
#### cursor?
|
|
50
50
|
|
|
51
|
-
> `optional` **cursor
|
|
51
|
+
> `optional` **cursor?**: `string`
|
|
52
52
|
|
|
53
53
|
The cursor to get next chunk of data, returned in previous response.
|
|
@@ -4,9 +4,9 @@ Response to getting the list of entries from a query.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### headers?
|
|
7
|
+
### headers? {#headers}
|
|
8
8
|
|
|
9
|
-
> `optional` **headers
|
|
9
|
+
> `optional` **headers?**: `object`
|
|
10
10
|
|
|
11
11
|
The headers which can be used to determine the response data type.
|
|
12
12
|
|
|
@@ -16,11 +16,11 @@ The headers which can be used to determine the response data type.
|
|
|
16
16
|
|
|
17
17
|
#### link?
|
|
18
18
|
|
|
19
|
-
> `optional` **link
|
|
19
|
+
> `optional` **link?**: `string` \| `string`[]
|
|
20
20
|
|
|
21
21
|
***
|
|
22
22
|
|
|
23
|
-
### body
|
|
23
|
+
### body {#body}
|
|
24
24
|
|
|
25
25
|
> **body**: [`IBlobStorageEntryList`](IBlobStorageEntryList.md)
|
|
26
26
|
|
|
@@ -4,7 +4,7 @@ Request to update a blob entry.
|
|
|
4
4
|
|
|
5
5
|
## Properties
|
|
6
6
|
|
|
7
|
-
### pathParams
|
|
7
|
+
### pathParams {#pathparams}
|
|
8
8
|
|
|
9
9
|
> **pathParams**: `object`
|
|
10
10
|
|
|
@@ -18,7 +18,7 @@ The id of the blob to get in urn format.
|
|
|
18
18
|
|
|
19
19
|
***
|
|
20
20
|
|
|
21
|
-
### body
|
|
21
|
+
### body {#body}
|
|
22
22
|
|
|
23
23
|
> **body**: `object`
|
|
24
24
|
|
|
@@ -26,18 +26,18 @@ The body parameters.
|
|
|
26
26
|
|
|
27
27
|
#### encodingFormat?
|
|
28
28
|
|
|
29
|
-
> `optional` **encodingFormat
|
|
29
|
+
> `optional` **encodingFormat?**: `string`
|
|
30
30
|
|
|
31
31
|
The mime type of the blob, will be detected if left undefined.
|
|
32
32
|
|
|
33
33
|
#### fileExtension?
|
|
34
34
|
|
|
35
|
-
> `optional` **fileExtension
|
|
35
|
+
> `optional` **fileExtension?**: `string`
|
|
36
36
|
|
|
37
37
|
The extension of the blob, will be detected if left undefined.
|
|
38
38
|
|
|
39
39
|
#### metadata?
|
|
40
40
|
|
|
41
|
-
> `optional` **metadata
|
|
41
|
+
> `optional` **metadata?**: `IJsonLdNodeObject`
|
|
42
42
|
|
|
43
43
|
Custom metadata to associate with the blob as JSON-LD.
|
|
@@ -6,13 +6,13 @@ The types of compression for blob storage data.
|
|
|
6
6
|
|
|
7
7
|
## Type Declaration
|
|
8
8
|
|
|
9
|
-
### Gzip
|
|
9
|
+
### Gzip {#gzip}
|
|
10
10
|
|
|
11
11
|
> `readonly` **Gzip**: `"gzip"` = `"gzip"`
|
|
12
12
|
|
|
13
13
|
Gzip.
|
|
14
14
|
|
|
15
|
-
### Deflate
|
|
15
|
+
### Deflate {#deflate}
|
|
16
16
|
|
|
17
17
|
> `readonly` **Deflate**: `"deflate"` = `"deflate"`
|
|
18
18
|
|
|
@@ -6,37 +6,37 @@ The contexts of blob storage data.
|
|
|
6
6
|
|
|
7
7
|
## Type Declaration
|
|
8
8
|
|
|
9
|
-
### Namespace
|
|
9
|
+
### Namespace {#namespace}
|
|
10
10
|
|
|
11
11
|
> `readonly` **Namespace**: `"https://schema.twindev.org/blob-storage/"` = `"https://schema.twindev.org/blob-storage/"`
|
|
12
12
|
|
|
13
13
|
The canonical RDF namespace URI for Blob Storage.
|
|
14
14
|
|
|
15
|
-
### Context
|
|
15
|
+
### Context {#context}
|
|
16
16
|
|
|
17
17
|
> `readonly` **Context**: `"https://schema.twindev.org/blob-storage/"` = `"https://schema.twindev.org/blob-storage/"`
|
|
18
18
|
|
|
19
19
|
The value to use in JSON-LD context for Blob Storage.
|
|
20
20
|
|
|
21
|
-
### JsonLdContext
|
|
21
|
+
### JsonLdContext {#jsonldcontext}
|
|
22
22
|
|
|
23
23
|
> `readonly` **JsonLdContext**: `"https://schema.twindev.org/blob-storage/types.jsonld"` = `"https://schema.twindev.org/blob-storage/types.jsonld"`
|
|
24
24
|
|
|
25
25
|
The JSON-LD Context URL.
|
|
26
26
|
|
|
27
|
-
### NamespaceCommon
|
|
27
|
+
### NamespaceCommon {#namespacecommon}
|
|
28
28
|
|
|
29
29
|
> `readonly` **NamespaceCommon**: `"https://schema.twindev.org/common/"` = `"https://schema.twindev.org/common/"`
|
|
30
30
|
|
|
31
31
|
The canonical RDF namespace URI for TWIN Common.
|
|
32
32
|
|
|
33
|
-
### ContextCommon
|
|
33
|
+
### ContextCommon {#contextcommon}
|
|
34
34
|
|
|
35
35
|
> `readonly` **ContextCommon**: `"https://schema.twindev.org/common/"` = `"https://schema.twindev.org/common/"`
|
|
36
36
|
|
|
37
37
|
The value to use in JSON-LD context for TWIN Common.
|
|
38
38
|
|
|
39
|
-
### JsonLdContextCommon
|
|
39
|
+
### JsonLdContextCommon {#jsonldcontextcommon}
|
|
40
40
|
|
|
41
41
|
> `readonly` **JsonLdContextCommon**: `"https://schema.twindev.org/common/types.jsonld"` = `"https://schema.twindev.org/common/types.jsonld"`
|
|
42
42
|
|
|
@@ -6,13 +6,13 @@ The types of blob storage data.
|
|
|
6
6
|
|
|
7
7
|
## Type Declaration
|
|
8
8
|
|
|
9
|
-
### Entry
|
|
9
|
+
### Entry {#entry}
|
|
10
10
|
|
|
11
11
|
> `readonly` **Entry**: `"BlobStorageEntry"` = `"BlobStorageEntry"`
|
|
12
12
|
|
|
13
13
|
Represents blob storage entry.
|
|
14
14
|
|
|
15
|
-
### CompressionType
|
|
15
|
+
### CompressionType {#compressiontype}
|
|
16
16
|
|
|
17
17
|
> `readonly` **CompressionType**: `"BlobStorageCompressionType"` = `"BlobStorageCompressionType"`
|
|
18
18
|
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/blob-storage-models",
|
|
3
|
-
"version": "0.0.3-next.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.0.3-next.8",
|
|
4
|
+
"description": "Defines shared contracts, schemas, and interfaces for blob content, metadata, and connector behaviour.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "git+https://github.com/
|
|
7
|
+
"url": "git+https://github.com/iotaledger/blob-storage.git",
|
|
8
8
|
"directory": "packages/blob-storage-models"
|
|
9
9
|
},
|
|
10
10
|
"author": "martyn.janes@iota.org",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"schemas"
|
|
55
55
|
],
|
|
56
56
|
"bugs": {
|
|
57
|
-
"url": "git+https://github.com/
|
|
57
|
+
"url": "git+https://github.com/iotaledger/blob-storage/issues"
|
|
58
58
|
},
|
|
59
59
|
"homepage": "https://twindev.org"
|
|
60
60
|
}
|