@twin.org/blob-storage-models 0.0.3-next.8 → 0.9.0-next.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"blobStorageDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/blobStorageDataTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,sBAAsB,EAAoB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,gCAAgC,MAAM,4CAA4C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChH,OAAO,sBAAsB,MAAM,kCAAkC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE5F;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAChC;;OAEG;IACI,MAAM,CAAC,aAAa;QAC1B,sBAAsB,CAAC,QAAQ,CAC9B,GAAG,mBAAmB,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAC3D,GAAG,EAAE,CAAC,CAAC;YACN,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,IAAI,EAAE,gBAAgB,CAAC,KAAK;YAC5B,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,sBAAqC;SAC7D,CAAC,CACF,CAAC;QAEF,sBAAsB,CAAC,QAAQ,CAC9B,GAAG,mBAAmB,CAAC,SAAS,GAAG,gBAAgB,CAAC,eAAe,EAAE,EACrE,GAAG,EAAE,CAAC,CAAC;YACN,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,gCAA+C;SACvE,CAAC,CACF,CAAC;IACH,CAAC;CACD","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { DataTypeHandlerFactory, type IJsonSchema } from \"@twin.org/data-core\";\nimport { BlobStorageContexts } from \"../models/blobStorageContexts.js\";\nimport { BlobStorageTypes } from \"../models/blobStorageTypes.js\";\nimport BlobStorageCompressionTypeSchema from \"../schemas/BlobStorageCompressionType.json\" with { type: \"json\" };\nimport BlobStorageEntrySchema from \"../schemas/BlobStorageEntry.json\" with { type: \"json\" };\n\n/**\n * Handle all the data types for blob storage.\n */\nexport class BlobStorageDataTypes {\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${BlobStorageContexts.Namespace}${BlobStorageTypes.Entry}`,\n\t\t\t() => ({\n\t\t\t\tnamespace: BlobStorageContexts.Namespace,\n\t\t\t\ttype: BlobStorageTypes.Entry,\n\t\t\t\tdefaultValue: {},\n\t\t\t\tjsonSchema: async () => BlobStorageEntrySchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${BlobStorageContexts.Namespace}${BlobStorageTypes.CompressionType}`,\n\t\t\t() => ({\n\t\t\t\tnamespace: BlobStorageContexts.Namespace,\n\t\t\t\ttype: BlobStorageTypes.CompressionType,\n\t\t\t\tdefaultValue: {},\n\t\t\t\tjsonSchema: async () => BlobStorageCompressionTypeSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"blobStorageDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/blobStorageDataTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,gCAAgC,MAAM,4CAA4C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAChH,OAAO,sBAAsB,MAAM,kCAAkC,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE5F;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAChC;;OAEG;IACI,MAAM,CAAC,aAAa;QAC1B,sBAAsB,CAAC,QAAQ,CAC9B,GAAG,mBAAmB,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAC3D,GAAG,EAAE,CAAC,CAAC;YACN,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,IAAI,EAAE,gBAAgB,CAAC,KAAK;YAC5B,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,sBAAsB;SAC9C,CAAC,CACF,CAAC;QAEF,sBAAsB,CAAC,QAAQ,CAC9B,GAAG,mBAAmB,CAAC,SAAS,GAAG,gBAAgB,CAAC,eAAe,EAAE,EACrE,GAAG,EAAE,CAAC,CAAC;YACN,SAAS,EAAE,mBAAmB,CAAC,SAAS;YACxC,IAAI,EAAE,gBAAgB,CAAC,eAAe;YACtC,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,gCAAgC;SACxD,CAAC,CACF,CAAC;IACH,CAAC;CACD","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { DataTypeHandlerFactory } from \"@twin.org/data-core\";\nimport { BlobStorageContexts } from \"../models/blobStorageContexts.js\";\nimport { BlobStorageTypes } from \"../models/blobStorageTypes.js\";\nimport BlobStorageCompressionTypeSchema from \"../schemas/BlobStorageCompressionType.json\" with { type: \"json\" };\nimport BlobStorageEntrySchema from \"../schemas/BlobStorageEntry.json\" with { type: \"json\" };\n\n/**\n * Handle all the data types for blob storage.\n */\nexport class BlobStorageDataTypes {\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${BlobStorageContexts.Namespace}${BlobStorageTypes.Entry}`,\n\t\t\t() => ({\n\t\t\t\tnamespace: BlobStorageContexts.Namespace,\n\t\t\t\ttype: BlobStorageTypes.Entry,\n\t\t\t\tdefaultValue: {},\n\t\t\t\tjsonSchema: async () => BlobStorageEntrySchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${BlobStorageContexts.Namespace}${BlobStorageTypes.CompressionType}`,\n\t\t\t() => ({\n\t\t\t\tnamespace: BlobStorageContexts.Namespace,\n\t\t\t\ttype: BlobStorageTypes.CompressionType,\n\t\t\t\tdefaultValue: {},\n\t\t\t\tjsonSchema: async () => BlobStorageCompressionTypeSchema\n\t\t\t})\n\t\t);\n\t}\n}\n"]}
package/dist/es/index.js CHANGED
@@ -3,6 +3,7 @@
3
3
  export * from "./dataTypes/blobStorageDataTypes.js";
4
4
  export * from "./factories/blobStorageConnectorFactory.js";
5
5
  export * from "./models/api/IBlobStorageCreateRequest.js";
6
+ export * from "./models/api/IBlobStorageEmptyRequest.js";
6
7
  export * from "./models/api/IBlobStorageGetContentRequest.js";
7
8
  export * from "./models/api/IBlobStorageGetContentResponse.js";
8
9
  export * from "./models/api/IBlobStorageGetRequest.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./dataTypes/blobStorageDataTypes.js\";\nexport * from \"./factories/blobStorageConnectorFactory.js\";\nexport * from \"./models/api/IBlobStorageCreateRequest.js\";\nexport * from \"./models/api/IBlobStorageGetContentRequest.js\";\nexport * from \"./models/api/IBlobStorageGetContentResponse.js\";\nexport * from \"./models/api/IBlobStorageGetRequest.js\";\nexport * from \"./models/api/IBlobStorageGetResponse.js\";\nexport * from \"./models/api/IBlobStorageListRequest.js\";\nexport * from \"./models/api/IBlobStorageListResponse.js\";\nexport * from \"./models/api/IBlobStorageRemoveRequest.js\";\nexport * from \"./models/api/IBlobStorageUpdateRequest.js\";\nexport * from \"./models/blobStorageCompressionType.js\";\nexport * from \"./models/blobStorageContexts.js\";\nexport * from \"./models/blobStorageTypes.js\";\nexport * from \"./models/IBlobStorageComponent.js\";\nexport * from \"./models/IBlobStorageConnector.js\";\nexport * from \"./models/IBlobStorageEntry.js\";\nexport * from \"./models/IBlobStorageEntryList.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,0CAA0C,CAAC;AACzD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,wCAAwC,CAAC;AACvD,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./dataTypes/blobStorageDataTypes.js\";\nexport * from \"./factories/blobStorageConnectorFactory.js\";\nexport * from \"./models/api/IBlobStorageCreateRequest.js\";\nexport * from \"./models/api/IBlobStorageEmptyRequest.js\";\nexport * from \"./models/api/IBlobStorageGetContentRequest.js\";\nexport * from \"./models/api/IBlobStorageGetContentResponse.js\";\nexport * from \"./models/api/IBlobStorageGetRequest.js\";\nexport * from \"./models/api/IBlobStorageGetResponse.js\";\nexport * from \"./models/api/IBlobStorageListRequest.js\";\nexport * from \"./models/api/IBlobStorageListResponse.js\";\nexport * from \"./models/api/IBlobStorageRemoveRequest.js\";\nexport * from \"./models/api/IBlobStorageUpdateRequest.js\";\nexport * from \"./models/blobStorageCompressionType.js\";\nexport * from \"./models/blobStorageContexts.js\";\nexport * from \"./models/blobStorageTypes.js\";\nexport * from \"./models/IBlobStorageComponent.js\";\nexport * from \"./models/IBlobStorageConnector.js\";\nexport * from \"./models/IBlobStorageEntry.js\";\nexport * from \"./models/IBlobStorageEntryList.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IBlobStorageComponent.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { EntityCondition, SortDirection } from \"@twin.org/entity\";\nimport type { BlobStorageCompressionType } from \"./blobStorageCompressionType.js\";\nimport type { IBlobStorageEntry } from \"./IBlobStorageEntry.js\";\nimport type { IBlobStorageEntryList } from \"./IBlobStorageEntryList.js\";\n\n/**\n * Interface describing an blob storage component.\n */\nexport interface IBlobStorageComponent extends IComponent {\n\t/**\n\t * Create the blob with some metadata.\n\t * @param blob The data for the blob in base64 format.\n\t * @param encodingFormat Mime type for the blob, will be detected if left undefined.\n\t * @param fileExtension Extension for the blob, will be detected if left undefined.\n\t * @param metadata Data for the custom metadata as JSON-LD.\n\t * @param options Optional options for the creation of the blob.\n\t * @param options.disableEncryption Disables encryption if enabled by default.\n\t * @param options.overrideVaultKeyId Use a different vault key id for encryption, if not provided the default vault key id will be used.\n\t * @param options.compress Optional compression type to use for the blob, defaults to no compression.\n\t * @param options.namespace The namespace to use for storing, defaults to component configured namespace.\n\t * @returns The id of the stored blob in urn format.\n\t */\n\tcreate(\n\t\tblob: string,\n\t\tencodingFormat?: string,\n\t\tfileExtension?: string,\n\t\tmetadata?: IJsonLdNodeObject,\n\t\toptions?: {\n\t\t\tdisableEncryption?: boolean;\n\t\t\toverrideVaultKeyId?: string;\n\t\t\tcompress?: BlobStorageCompressionType;\n\t\t\tnamespace?: string;\n\t\t}\n\t): Promise<string>;\n\n\t/**\n\t * Get the blob and metadata.\n\t * @param id The id of the blob to get in urn format.\n\t * @param options Optional options for the retrieval of the blob.\n\t * @param options.includeContent Include the content, or just get the metadata.\n\t * @param options.overrideVaultKeyId Use a different vault key id for decryption, if not provided the default vault key id will be used.\n\t * @param options.decompress If the content should be decompressed, if it was compressed when stored, defaults to true.\n\t * @returns The data and metadata for the blob if it can be found.\n\t * @throws Not found error if the blob cannot be found.\n\t */\n\tget(\n\t\tid: string,\n\t\toptions?: {\n\t\t\tincludeContent?: boolean;\n\t\t\tdecompress?: boolean;\n\t\t\toverrideVaultKeyId?: string;\n\t\t}\n\t): Promise<IBlobStorageEntry>;\n\n\t/**\n\t * Update the blob with metadata.\n\t * @param id The id of the blob metadata to update.\n\t * @param encodingFormat Mime type for the blob, will be detected if left undefined.\n\t * @param fileExtension Extension for the blob, will be detected if left undefined.\n\t * @param metadata Data for the custom metadata as JSON-LD.\n\t * @returns Nothing.\n\t * @throws Not found error if the blob cannot be found.\n\t */\n\tupdate(\n\t\tid: string,\n\t\tencodingFormat?: string,\n\t\tfileExtension?: string,\n\t\tmetadata?: IJsonLdNodeObject\n\t): Promise<void>;\n\n\t/**\n\t * Remove the blob.\n\t * @param id The id of the blob to remove in urn format.\n\t * @returns Nothing.\n\t * @throws Not found error if the blob cannot be found.\n\t */\n\tremove(id: string): Promise<void>;\n\n\t/**\n\t * Query all the blob storage entries which match the conditions.\n\t * @param conditions The conditions to match for the entries.\n\t * @param orderBy The order for the results, defaults to created.\n\t * @param orderByDirection The direction for the order, defaults to descending.\n\t * @param cursor The cursor to request the next page of entries.\n\t * @param limit The suggested number of entries to return in each chunk, in some scenarios can return a different amount.\n\t * @returns All the entries for the storage matching the conditions,\n\t * and a cursor which can be used to request more entities.\n\t */\n\tquery(\n\t\tconditions?: EntityCondition<IBlobStorageEntry>,\n\t\torderBy?: keyof Pick<IBlobStorageEntry, \"dateCreated\" | \"dateModified\">,\n\t\torderByDirection?: SortDirection,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\tentries: IBlobStorageEntryList;\n\t\tcursor?: string;\n\t}>;\n}\n"]}
1
+ {"version":3,"file":"IBlobStorageComponent.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { EntityCondition, SortDirection } from \"@twin.org/entity\";\nimport type { BlobStorageCompressionType } from \"./blobStorageCompressionType.js\";\nimport type { IBlobStorageEntry } from \"./IBlobStorageEntry.js\";\nimport type { IBlobStorageEntryList } from \"./IBlobStorageEntryList.js\";\n\n/**\n * Interface describing a blob storage component.\n */\nexport interface IBlobStorageComponent extends IComponent {\n\t/**\n\t * Create the blob with some metadata.\n\t * @param blob The data for the blob in base64 format.\n\t * @param encodingFormat Mime type for the blob, will be detected if left undefined.\n\t * @param fileExtension Extension for the blob, will be detected if left undefined.\n\t * @param metadata Data for the custom metadata as JSON-LD.\n\t * @param options Optional options for the creation of the blob.\n\t * @param options.disableEncryption Disables encryption if enabled by default.\n\t * @param options.overrideVaultKeyId Use a different vault key id for encryption, if not provided the default vault key id will be used.\n\t * @param options.compress Optional compression type to use for the blob, defaults to no compression.\n\t * @param options.namespace The namespace to use for storing, defaults to component configured namespace.\n\t * @returns The id of the stored blob in urn format.\n\t */\n\tcreate(\n\t\tblob: string,\n\t\tencodingFormat?: string,\n\t\tfileExtension?: string,\n\t\tmetadata?: IJsonLdNodeObject,\n\t\toptions?: {\n\t\t\tdisableEncryption?: boolean;\n\t\t\toverrideVaultKeyId?: string;\n\t\t\tcompress?: BlobStorageCompressionType;\n\t\t\tnamespace?: string;\n\t\t}\n\t): Promise<string>;\n\n\t/**\n\t * Get the blob and metadata.\n\t * @param id The id of the blob to get in urn format.\n\t * @param options Optional options for the retrieval of the blob.\n\t * @param options.includeContent Include the content, or just get the metadata.\n\t * @param options.overrideVaultKeyId Use a different vault key id for decryption, if not provided the default vault key id will be used.\n\t * @param options.decompress If the content should be decompressed, if it was compressed when stored, defaults to true.\n\t * @returns The data and metadata for the blob if it can be found.\n\t * @throws Not found error if the blob cannot be found.\n\t */\n\tget(\n\t\tid: string,\n\t\toptions?: {\n\t\t\tincludeContent?: boolean;\n\t\t\tdecompress?: boolean;\n\t\t\toverrideVaultKeyId?: string;\n\t\t}\n\t): Promise<IBlobStorageEntry>;\n\n\t/**\n\t * Update the blob with metadata.\n\t * @param id The id of the blob metadata to update.\n\t * @param encodingFormat Mime type for the blob, will be detected if left undefined.\n\t * @param fileExtension Extension for the blob, will be detected if left undefined.\n\t * @param metadata Data for the custom metadata as JSON-LD.\n\t * @returns A promise that resolves when the blob metadata has been updated.\n\t * @throws Not found error if the blob cannot be found.\n\t */\n\tupdate(\n\t\tid: string,\n\t\tencodingFormat?: string,\n\t\tfileExtension?: string,\n\t\tmetadata?: IJsonLdNodeObject\n\t): Promise<void>;\n\n\t/**\n\t * Remove the blob.\n\t * @param id The id of the blob to remove in urn format.\n\t * @returns A promise that resolves when the blob has been removed.\n\t * @throws Not found error if the blob cannot be found.\n\t */\n\tremove(id: string): Promise<void>;\n\n\t/**\n\t * Remove all blobs from the storage.\n\t * @returns A promise that resolves when all blobs have been removed.\n\t */\n\tempty(): Promise<void>;\n\n\t/**\n\t * Query all the blob storage entries which match the conditions.\n\t * @param conditions The conditions to match for the entries.\n\t * @param orderBy The order for the results, defaults to created.\n\t * @param orderByDirection The direction for the order, defaults to descending.\n\t * @param cursor The cursor to request the next page of entries.\n\t * @param limit The suggested number of entries to return in each chunk, in some scenarios can return a different amount.\n\t * @returns All the entries for the storage matching the conditions,\n\t * and a cursor which can be used to request more entities.\n\t */\n\tquery(\n\t\tconditions?: EntityCondition<IBlobStorageEntry>,\n\t\torderBy?: keyof Pick<IBlobStorageEntry, \"dateCreated\" | \"dateModified\">,\n\t\torderByDirection?: SortDirection,\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\tentries: IBlobStorageEntryList;\n\t\tcursor?: string;\n\t}>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IBlobStorageConnector.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageConnector.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\n\n/**\n * Interface describing an blob storage connector.\n */\nexport interface IBlobStorageConnector extends IComponent {\n\t/**\n\t * Set the blob.\n\t * @param blob The data for the blob.\n\t * @returns The id of the stored blob in urn format.\n\t */\n\tset(blob: Uint8Array): Promise<string>;\n\n\t/**\n\t * Get the blob.\n\t * @param id The id of the blob to get in urn format.\n\t * @returns The data for the blob if it can be found or undefined.\n\t */\n\tget(id: string): Promise<Uint8Array | undefined>;\n\n\t/**\n\t * Remove the blob.\n\t * @param id The id of the blob to remove in urn format.\n\t * @returns True if the blob was found.\n\t */\n\tremove(id: string): Promise<boolean>;\n}\n"]}
1
+ {"version":3,"file":"IBlobStorageConnector.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageConnector.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IComponent } from \"@twin.org/core\";\n\n/**\n * Interface describing a blob storage connector.\n */\nexport interface IBlobStorageConnector extends IComponent {\n\t/**\n\t * Set the blob.\n\t * @param blob The data for the blob.\n\t * @returns The id of the stored blob in urn format.\n\t */\n\tset(blob: Uint8Array): Promise<string>;\n\n\t/**\n\t * Get the blob.\n\t * @param id The id of the blob to get in urn format.\n\t * @returns The data for the blob if it can be found or undefined.\n\t */\n\tget(id: string): Promise<Uint8Array | undefined>;\n\n\t/**\n\t * Remove the blob.\n\t * @param id The id of the blob to remove in urn format.\n\t * @returns True if the blob was found.\n\t */\n\tremove(id: string): Promise<boolean>;\n\n\t/**\n\t * Remove all blobs from the storage.\n\t * @returns A promise that resolves when all blobs have been removed.\n\t */\n\tempty(): Promise<void>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IBlobStorageEntryList.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageEntryList.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport type { BlobStorageContexts } from \"./blobStorageContexts.js\";\nimport type { IBlobStorageEntry } from \"./IBlobStorageEntry.js\";\n\n/**\n * Interface describing an blob storage entry list.\n */\nexport interface IBlobStorageEntryList {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\": [\n\t\ttypeof SchemaOrgContexts.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 SchemaOrgTypes.ItemList;\n\n\t/**\n\t * The list of entries.\n\t */\n\t[SchemaOrgTypes.ItemListElement]: IBlobStorageEntry[];\n}\n"]}
1
+ {"version":3,"file":"IBlobStorageEntryList.js","sourceRoot":"","sources":["../../../src/models/IBlobStorageEntryList.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport type { BlobStorageContexts } from \"./blobStorageContexts.js\";\nimport type { IBlobStorageEntry } from \"./IBlobStorageEntry.js\";\n\n/**\n * Interface describing a blob storage entry list.\n */\nexport interface IBlobStorageEntryList {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\": [\n\t\ttypeof SchemaOrgContexts.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 SchemaOrgTypes.ItemList;\n\n\t/**\n\t * The list of entries.\n\t */\n\t[SchemaOrgTypes.ItemListElement]: IBlobStorageEntry[];\n}\n"]}
@@ -0,0 +1,4 @@
1
+ // Copyright 2024 IOTA Stiftung.
2
+ // SPDX-License-Identifier: Apache-2.0.
3
+ export {};
4
+ //# sourceMappingURL=IBlobStorageEmptyRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IBlobStorageEmptyRequest.js","sourceRoot":"","sources":["../../../../src/models/api/IBlobStorageEmptyRequest.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Request to remove all entries from blob storage.\n */\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IBlobStorageEmptyRequest {}\n"]}
@@ -3,7 +3,7 @@
3
3
  "$id": "https://schema.twindev.org/blob-storage/BlobStorageCompressionType",
4
4
  "title": "BlobStorageCompressionType",
5
5
  "description": "The types of compression for blob storage data.",
6
- "oneOf": [
6
+ "anyOf": [
7
7
  {
8
8
  "const": "gzip",
9
9
  "description": "Gzip."
@@ -1,6 +1,7 @@
1
1
  export * from "./dataTypes/blobStorageDataTypes.js";
2
2
  export * from "./factories/blobStorageConnectorFactory.js";
3
3
  export * from "./models/api/IBlobStorageCreateRequest.js";
4
+ export * from "./models/api/IBlobStorageEmptyRequest.js";
4
5
  export * from "./models/api/IBlobStorageGetContentRequest.js";
5
6
  export * from "./models/api/IBlobStorageGetContentResponse.js";
6
7
  export * from "./models/api/IBlobStorageGetRequest.js";
@@ -5,7 +5,7 @@ import type { BlobStorageCompressionType } from "./blobStorageCompressionType.js
5
5
  import type { IBlobStorageEntry } from "./IBlobStorageEntry.js";
6
6
  import type { IBlobStorageEntryList } from "./IBlobStorageEntryList.js";
7
7
  /**
8
- * Interface describing an blob storage component.
8
+ * Interface describing a blob storage component.
9
9
  */
10
10
  export interface IBlobStorageComponent extends IComponent {
11
11
  /**
@@ -48,17 +48,22 @@ export interface IBlobStorageComponent extends IComponent {
48
48
  * @param encodingFormat Mime type for the blob, will be detected if left undefined.
49
49
  * @param fileExtension Extension for the blob, will be detected if left undefined.
50
50
  * @param metadata Data for the custom metadata as JSON-LD.
51
- * @returns Nothing.
51
+ * @returns A promise that resolves when the blob metadata has been updated.
52
52
  * @throws Not found error if the blob cannot be found.
53
53
  */
54
54
  update(id: string, encodingFormat?: string, fileExtension?: string, metadata?: IJsonLdNodeObject): Promise<void>;
55
55
  /**
56
56
  * Remove the blob.
57
57
  * @param id The id of the blob to remove in urn format.
58
- * @returns Nothing.
58
+ * @returns A promise that resolves when the blob has been removed.
59
59
  * @throws Not found error if the blob cannot be found.
60
60
  */
61
61
  remove(id: string): Promise<void>;
62
+ /**
63
+ * Remove all blobs from the storage.
64
+ * @returns A promise that resolves when all blobs have been removed.
65
+ */
66
+ empty(): Promise<void>;
62
67
  /**
63
68
  * Query all the blob storage entries which match the conditions.
64
69
  * @param conditions The conditions to match for the entries.
@@ -1,6 +1,6 @@
1
1
  import type { IComponent } from "@twin.org/core";
2
2
  /**
3
- * Interface describing an blob storage connector.
3
+ * Interface describing a blob storage connector.
4
4
  */
5
5
  export interface IBlobStorageConnector extends IComponent {
6
6
  /**
@@ -21,4 +21,9 @@ export interface IBlobStorageConnector extends IComponent {
21
21
  * @returns True if the blob was found.
22
22
  */
23
23
  remove(id: string): Promise<boolean>;
24
+ /**
25
+ * Remove all blobs from the storage.
26
+ * @returns A promise that resolves when all blobs have been removed.
27
+ */
28
+ empty(): Promise<void>;
24
29
  }
@@ -3,7 +3,7 @@ import type { SchemaOrgContexts, SchemaOrgTypes } from "@twin.org/standards-sche
3
3
  import type { BlobStorageContexts } from "./blobStorageContexts.js";
4
4
  import type { IBlobStorageEntry } from "./IBlobStorageEntry.js";
5
5
  /**
6
- * Interface describing an blob storage entry list.
6
+ * Interface describing a blob storage entry list.
7
7
  */
8
8
  export interface IBlobStorageEntryList {
9
9
  /**
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Request to remove all entries from blob storage.
3
+ */
4
+ export interface IBlobStorageEmptyRequest {
5
+ }
package/docs/changelog.md CHANGED
@@ -1,5 +1,121 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.0-next.1](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.9.0-next.0...blob-storage-models-v0.9.0-next.1) (2026-06-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * add compression support ([67d239b](https://github.com/iotaledger/twin-blob-storage/commit/67d239bca8321bd90bf4ff93167c564130309730))
9
+ * add context id features ([#30](https://github.com/iotaledger/twin-blob-storage/issues/30)) ([fbf1c92](https://github.com/iotaledger/twin-blob-storage/commit/fbf1c9276424c841ef5ef3f4de8469ab3fba7e9c))
10
+ * add empty and teardown methods ([#49](https://github.com/iotaledger/twin-blob-storage/issues/49)) ([cec6248](https://github.com/iotaledger/twin-blob-storage/commit/cec624809ffd2f2baa4b7b8cbf72a7247b8703ed))
11
+ * add missing namespace for JSON-LD context ([80b15cf](https://github.com/iotaledger/twin-blob-storage/commit/80b15cf34b580d9550affa66bcbc9b9ccb34ce21))
12
+ * add ts-to-jsonld-context tool ([2fd217f](https://github.com/iotaledger/twin-blob-storage/commit/2fd217f50dfaf6ac068091876237f5a101a7995e))
13
+ * add validate-locales ([f20fcec](https://github.com/iotaledger/twin-blob-storage/commit/f20fceced91e39a0c9edb770b2e43ce944c92f3c))
14
+ * additional encryption options on per item basis ([4b95a65](https://github.com/iotaledger/twin-blob-storage/commit/4b95a656d19e3b571cea905e36f29b679b13e1e8))
15
+ * blobHash changed to integrity ([#41](https://github.com/iotaledger/twin-blob-storage/issues/41)) ([c06a55f](https://github.com/iotaledger/twin-blob-storage/commit/c06a55f0eed3f7cad5d19c4084abd8ef0cdbfb60))
16
+ * eslint migration to flat config ([e4239dd](https://github.com/iotaledger/twin-blob-storage/commit/e4239dd1c721955cff7f0357255d2bba15319972))
17
+ * remove includeNodeIdentity flag ([13bc334](https://github.com/iotaledger/twin-blob-storage/commit/13bc33445b179879688af3c98e8be8a5609d3f46))
18
+ * 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))
19
+ * typescript 6 update ([4eed54f](https://github.com/iotaledger/twin-blob-storage/commit/4eed54f5ce2dc697c06597269c97ad4cad108be5))
20
+ * update contexts ([#34](https://github.com/iotaledger/twin-blob-storage/issues/34)) ([b9e432c](https://github.com/iotaledger/twin-blob-storage/commit/b9e432c26025e4bfdf5ba837516dfdbf40f45a61))
21
+ * update contexts and namespaces ([#32](https://github.com/iotaledger/twin-blob-storage/issues/32)) ([187ed36](https://github.com/iotaledger/twin-blob-storage/commit/187ed36a7d83062665f70689ec5e2b2f553a592e))
22
+ * update dependencies ([ca3c571](https://github.com/iotaledger/twin-blob-storage/commit/ca3c571573c771b8d25594f729651c8214e28263))
23
+ * update dependencies ([56f0094](https://github.com/iotaledger/twin-blob-storage/commit/56f0094b68d8bd22864cd899ac1b61d95540f719))
24
+ * update framework core ([ff339fe](https://github.com/iotaledger/twin-blob-storage/commit/ff339fe7e3f09ddff429907834bdf43617e9c05e))
25
+ * update schemas ([6fe6571](https://github.com/iotaledger/twin-blob-storage/commit/6fe65714e23209cdd760ecd5aa8e18762044e4b3))
26
+ * update to support fully qualified data type names ([3297d69](https://github.com/iotaledger/twin-blob-storage/commit/3297d69d332058b0f0141002087f56ba230620e1))
27
+ * update ts-to-schema generation ([03439c7](https://github.com/iotaledger/twin-blob-storage/commit/03439c726108bf645941290e41824c57a6a23de3))
28
+ * use shared store mechanism ([#12](https://github.com/iotaledger/twin-blob-storage/issues/12)) ([cae8110](https://github.com/iotaledger/twin-blob-storage/commit/cae8110681847a1ac4fcac968b8196694e49c320))
29
+ * use standard list json ld types ([d6bdfd6](https://github.com/iotaledger/twin-blob-storage/commit/d6bdfd68af47f70f3cc53658b4a12543497e1f48))
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * 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))
35
+ * data validation tests ([556979a](https://github.com/iotaledger/twin-blob-storage/commit/556979a0c36a942f691c971a9bce3a5d72093f52))
36
+ * query params force coercion ([a5e547a](https://github.com/iotaledger/twin-blob-storage/commit/a5e547a775f8997cb04780938c7a9561ddb048d1))
37
+
38
+ ## [0.0.3-next.16](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.15...blob-storage-models-v0.0.3-next.16) (2026-06-18)
39
+
40
+
41
+ ### Miscellaneous Chores
42
+
43
+ * **blob-storage-models:** Synchronize repo versions
44
+
45
+ ## [0.0.3-next.15](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.14...blob-storage-models-v0.0.3-next.15) (2026-06-15)
46
+
47
+
48
+ ### Miscellaneous Chores
49
+
50
+ * **blob-storage-models:** Synchronize repo versions
51
+
52
+ ## [0.0.3-next.14](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.13...blob-storage-models-v0.0.3-next.14) (2026-06-11)
53
+
54
+
55
+ ### Miscellaneous Chores
56
+
57
+ * **blob-storage-models:** Synchronize repo versions
58
+
59
+ ## [0.0.3-next.13](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.12...blob-storage-models-v0.0.3-next.13) (2026-05-20)
60
+
61
+
62
+ ### Features
63
+
64
+ * update dependencies ([ca3c571](https://github.com/iotaledger/twin-blob-storage/commit/ca3c571573c771b8d25594f729651c8214e28263))
65
+
66
+ ## [0.0.3-next.12](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.11...blob-storage-models-v0.0.3-next.12) (2026-05-11)
67
+
68
+
69
+ ### Features
70
+
71
+ * typescript 6 update ([4eed54f](https://github.com/iotaledger/twin-blob-storage/commit/4eed54f5ce2dc697c06597269c97ad4cad108be5))
72
+
73
+ ## [0.0.3-next.11](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.10...blob-storage-models-v0.0.3-next.11) (2026-05-08)
74
+
75
+
76
+ ### Features
77
+
78
+ * add empty and teardown methods ([#49](https://github.com/iotaledger/twin-blob-storage/issues/49)) ([cec6248](https://github.com/iotaledger/twin-blob-storage/commit/cec624809ffd2f2baa4b7b8cbf72a7247b8703ed))
79
+
80
+ ## [0.0.3-next.10](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.9...blob-storage-models-v0.0.3-next.10) (2026-05-07)
81
+
82
+
83
+ ### Miscellaneous Chores
84
+
85
+ * **blob-storage-models:** Synchronize repo versions
86
+
87
+ ## [0.0.3-next.9](https://github.com/iotaledger/twin-blob-storage/compare/blob-storage-models-v0.0.3-next.8...blob-storage-models-v0.0.3-next.9) (2026-05-07)
88
+
89
+
90
+ ### Features
91
+
92
+ * add compression support ([67d239b](https://github.com/iotaledger/twin-blob-storage/commit/67d239bca8321bd90bf4ff93167c564130309730))
93
+ * add context id features ([#30](https://github.com/iotaledger/twin-blob-storage/issues/30)) ([fbf1c92](https://github.com/iotaledger/twin-blob-storage/commit/fbf1c9276424c841ef5ef3f4de8469ab3fba7e9c))
94
+ * add missing namespace for JSON-LD context ([80b15cf](https://github.com/iotaledger/twin-blob-storage/commit/80b15cf34b580d9550affa66bcbc9b9ccb34ce21))
95
+ * add ts-to-jsonld-context tool ([2fd217f](https://github.com/iotaledger/twin-blob-storage/commit/2fd217f50dfaf6ac068091876237f5a101a7995e))
96
+ * add validate-locales ([f20fcec](https://github.com/iotaledger/twin-blob-storage/commit/f20fceced91e39a0c9edb770b2e43ce944c92f3c))
97
+ * additional encryption options on per item basis ([4b95a65](https://github.com/iotaledger/twin-blob-storage/commit/4b95a656d19e3b571cea905e36f29b679b13e1e8))
98
+ * blobHash changed to integrity ([#41](https://github.com/iotaledger/twin-blob-storage/issues/41)) ([c06a55f](https://github.com/iotaledger/twin-blob-storage/commit/c06a55f0eed3f7cad5d19c4084abd8ef0cdbfb60))
99
+ * eslint migration to flat config ([e4239dd](https://github.com/iotaledger/twin-blob-storage/commit/e4239dd1c721955cff7f0357255d2bba15319972))
100
+ * remove includeNodeIdentity flag ([13bc334](https://github.com/iotaledger/twin-blob-storage/commit/13bc33445b179879688af3c98e8be8a5609d3f46))
101
+ * 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))
102
+ * update contexts ([#34](https://github.com/iotaledger/twin-blob-storage/issues/34)) ([b9e432c](https://github.com/iotaledger/twin-blob-storage/commit/b9e432c26025e4bfdf5ba837516dfdbf40f45a61))
103
+ * update contexts and namespaces ([#32](https://github.com/iotaledger/twin-blob-storage/issues/32)) ([187ed36](https://github.com/iotaledger/twin-blob-storage/commit/187ed36a7d83062665f70689ec5e2b2f553a592e))
104
+ * update dependencies ([56f0094](https://github.com/iotaledger/twin-blob-storage/commit/56f0094b68d8bd22864cd899ac1b61d95540f719))
105
+ * update framework core ([ff339fe](https://github.com/iotaledger/twin-blob-storage/commit/ff339fe7e3f09ddff429907834bdf43617e9c05e))
106
+ * update schemas ([6fe6571](https://github.com/iotaledger/twin-blob-storage/commit/6fe65714e23209cdd760ecd5aa8e18762044e4b3))
107
+ * update to support fully qualified data type names ([3297d69](https://github.com/iotaledger/twin-blob-storage/commit/3297d69d332058b0f0141002087f56ba230620e1))
108
+ * update ts-to-schema generation ([03439c7](https://github.com/iotaledger/twin-blob-storage/commit/03439c726108bf645941290e41824c57a6a23de3))
109
+ * use shared store mechanism ([#12](https://github.com/iotaledger/twin-blob-storage/issues/12)) ([cae8110](https://github.com/iotaledger/twin-blob-storage/commit/cae8110681847a1ac4fcac968b8196694e49c320))
110
+ * use standard list json ld types ([d6bdfd6](https://github.com/iotaledger/twin-blob-storage/commit/d6bdfd68af47f70f3cc53658b4a12543497e1f48))
111
+
112
+
113
+ ### Bug Fixes
114
+
115
+ * 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))
116
+ * data validation tests ([556979a](https://github.com/iotaledger/twin-blob-storage/commit/556979a0c36a942f691c971a9bce3a5d72093f52))
117
+ * query params force coercion ([a5e547a](https://github.com/iotaledger/twin-blob-storage/commit/a5e547a775f8997cb04780938c7a9561ddb048d1))
118
+
3
119
  ## [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
120
 
5
121
 
@@ -11,6 +11,7 @@
11
11
  - [IBlobStorageEntry](interfaces/IBlobStorageEntry.md)
12
12
  - [IBlobStorageEntryList](interfaces/IBlobStorageEntryList.md)
13
13
  - [IBlobStorageCreateRequest](interfaces/IBlobStorageCreateRequest.md)
14
+ - [IBlobStorageEmptyRequest](interfaces/IBlobStorageEmptyRequest.md)
14
15
  - [IBlobStorageGetContentRequest](interfaces/IBlobStorageGetContentRequest.md)
15
16
  - [IBlobStorageGetContentResponse](interfaces/IBlobStorageGetContentResponse.md)
16
17
  - [IBlobStorageGetRequest](interfaces/IBlobStorageGetRequest.md)
@@ -1,6 +1,6 @@
1
1
  # Interface: IBlobStorageComponent
2
2
 
3
- Interface describing an blob storage component.
3
+ Interface describing a blob storage component.
4
4
 
5
5
  ## Extends
6
6
 
@@ -160,7 +160,7 @@ Data for the custom metadata as JSON-LD.
160
160
 
161
161
  `Promise`\<`void`\>
162
162
 
163
- Nothing.
163
+ A promise that resolves when the blob metadata has been updated.
164
164
 
165
165
  #### Throws
166
166
 
@@ -186,7 +186,7 @@ The id of the blob to remove in urn format.
186
186
 
187
187
  `Promise`\<`void`\>
188
188
 
189
- Nothing.
189
+ A promise that resolves when the blob has been removed.
190
190
 
191
191
  #### Throws
192
192
 
@@ -194,6 +194,20 @@ Not found error if the blob cannot be found.
194
194
 
195
195
  ***
196
196
 
197
+ ### empty() {#empty}
198
+
199
+ > **empty**(): `Promise`\<`void`\>
200
+
201
+ Remove all blobs from the storage.
202
+
203
+ #### Returns
204
+
205
+ `Promise`\<`void`\>
206
+
207
+ A promise that resolves when all blobs have been removed.
208
+
209
+ ***
210
+
197
211
  ### query() {#query}
198
212
 
199
213
  > **query**(`conditions?`, `orderBy?`, `orderByDirection?`, `cursor?`, `limit?`): `Promise`\<\{ `entries`: [`IBlobStorageEntryList`](IBlobStorageEntryList.md); `cursor?`: `string`; \}\>
@@ -1,6 +1,6 @@
1
1
  # Interface: IBlobStorageConnector
2
2
 
3
- Interface describing an blob storage connector.
3
+ Interface describing a blob storage connector.
4
4
 
5
5
  ## Extends
6
6
 
@@ -71,3 +71,17 @@ The id of the blob to remove in urn format.
71
71
  `Promise`\<`boolean`\>
72
72
 
73
73
  True if the blob was found.
74
+
75
+ ***
76
+
77
+ ### empty() {#empty}
78
+
79
+ > **empty**(): `Promise`\<`void`\>
80
+
81
+ Remove all blobs from the storage.
82
+
83
+ #### Returns
84
+
85
+ `Promise`\<`void`\>
86
+
87
+ A promise that resolves when all blobs have been removed.
@@ -0,0 +1,3 @@
1
+ # Interface: IBlobStorageEmptyRequest
2
+
3
+ Request to remove all entries from blob storage.
@@ -1,6 +1,6 @@
1
1
  # Interface: IBlobStorageEntryList
2
2
 
3
- Interface describing an blob storage entry list.
3
+ Interface describing a blob storage entry list.
4
4
 
5
5
  ## Properties
6
6
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@twin.org/blob-storage-models",
3
- "version": "0.0.3-next.8",
3
+ "version": "0.9.0-next.1",
4
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/iotaledger/blob-storage.git",
7
+ "url": "git+https://github.com/iotaledger/twin-blob-storage.git",
8
8
  "directory": "packages/blob-storage-models"
9
9
  },
10
10
  "author": "martyn.janes@iota.org",
@@ -14,13 +14,13 @@
14
14
  "node": ">=20.0.0"
15
15
  },
16
16
  "dependencies": {
17
- "@twin.org/core": "next",
18
- "@twin.org/data-core": "next",
19
- "@twin.org/data-json-ld": "next",
20
- "@twin.org/entity": "next",
21
- "@twin.org/nameof": "next",
22
- "@twin.org/standards-schema-org": "next",
23
- "@twin.org/web": "next"
17
+ "@twin.org/core": "0.9.0-next.1",
18
+ "@twin.org/data-core": "0.9.0-next.1",
19
+ "@twin.org/data-json-ld": "0.9.0-next.1",
20
+ "@twin.org/entity": "0.9.0-next.1",
21
+ "@twin.org/nameof": "0.9.0-next.1",
22
+ "@twin.org/standards-schema-org": "0.9.0-next.1",
23
+ "@twin.org/web": "0.9.0-next.1"
24
24
  },
25
25
  "main": "./dist/es/index.js",
26
26
  "types": "./dist/types/index.d.ts",
@@ -54,7 +54,7 @@
54
54
  "schemas"
55
55
  ],
56
56
  "bugs": {
57
- "url": "git+https://github.com/iotaledger/blob-storage/issues"
57
+ "url": "git+https://github.com/iotaledger/twin-blob-storage/issues"
58
58
  },
59
59
  "homepage": "https://twindev.org"
60
60
  }