@itwin/core-backend 5.0.0-dev.99 → 5.1.0-dev.0
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/CHANGELOG.md +6 -1
- package/lib/cjs/BackendHubAccess.js.map +1 -1
- package/lib/cjs/BackendLoggerCategory.js.map +1 -1
- package/lib/cjs/BisCoreSchema.js.map +1 -1
- package/lib/cjs/BlobContainerService.js.map +1 -1
- package/lib/cjs/BriefcaseManager.js.map +1 -1
- package/lib/cjs/CatalogDb.d.ts +103 -0
- package/lib/cjs/CatalogDb.d.ts.map +1 -0
- package/lib/cjs/CatalogDb.js +271 -0
- package/lib/cjs/CatalogDb.js.map +1 -0
- package/lib/cjs/Category.js.map +1 -1
- package/lib/cjs/ChangeSummaryManager.js +2 -2
- package/lib/cjs/ChangeSummaryManager.js.map +1 -1
- package/lib/cjs/ChangedElementsDb.js.map +1 -1
- package/lib/cjs/ChangesetECAdaptor.js +242 -242
- package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
- package/lib/cjs/ChannelControl.js.map +1 -1
- package/lib/cjs/CheckpointManager.d.ts +12 -10
- package/lib/cjs/CheckpointManager.d.ts.map +1 -1
- package/lib/cjs/CheckpointManager.js +17 -41
- package/lib/cjs/CheckpointManager.js.map +1 -1
- package/lib/cjs/ClassRegistry.js +5 -5
- package/lib/cjs/ClassRegistry.js.map +1 -1
- package/lib/cjs/CloudSqlite.d.ts +104 -20
- package/lib/cjs/CloudSqlite.d.ts.map +1 -1
- package/lib/cjs/CloudSqlite.js +157 -46
- package/lib/cjs/CloudSqlite.js.map +1 -1
- package/lib/cjs/CodeService.js.map +1 -1
- package/lib/cjs/CodeSpecs.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
- package/lib/cjs/DevTools.js.map +1 -1
- package/lib/cjs/DisplayStyle.js.map +1 -1
- package/lib/cjs/ECDb.js.map +1 -1
- package/lib/cjs/ECSchemaXmlContext.d.ts +1 -1
- package/lib/cjs/ECSchemaXmlContext.js +1 -1
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
- package/lib/cjs/ECSqlStatement.js.map +1 -1
- package/lib/cjs/Element.js.map +1 -1
- package/lib/cjs/ElementAspect.js.map +1 -1
- package/lib/cjs/ElementGraphics.js.map +1 -1
- package/lib/cjs/ElementTreeWalker.js.map +1 -1
- package/lib/cjs/Entity.d.ts +8 -4
- package/lib/cjs/Entity.d.ts.map +1 -1
- package/lib/cjs/Entity.js +3 -3
- package/lib/cjs/Entity.js.map +1 -1
- package/lib/cjs/EntityReferences.js.map +1 -1
- package/lib/cjs/ExportGraphics.js.map +1 -1
- package/lib/cjs/ExternalSource.js.map +1 -1
- package/lib/cjs/FontFile.js.map +1 -1
- package/lib/cjs/GeoCoordConfig.js.map +1 -1
- package/lib/cjs/GeographicCRSServices.js.map +1 -1
- package/lib/cjs/GeometrySummary.js +47 -47
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/IModelDb.d.ts +6 -1
- package/lib/cjs/IModelDb.d.ts.map +1 -1
- package/lib/cjs/IModelDb.js +22 -15
- package/lib/cjs/IModelDb.js.map +1 -1
- package/lib/cjs/IModelDbFonts.js.map +1 -1
- package/lib/cjs/IModelElementCloneContext.js.map +1 -1
- package/lib/cjs/IModelHost.d.ts +1 -1
- package/lib/cjs/IModelHost.js +1 -1
- package/lib/cjs/IModelHost.js.map +1 -1
- package/lib/cjs/IModelJsFs.js.map +1 -1
- package/lib/cjs/ImageSourceConversion.js.map +1 -1
- package/lib/cjs/IpcHost.js.map +1 -1
- package/lib/cjs/LineStyle.js.map +1 -1
- package/lib/cjs/LocalHub.js +1 -1
- package/lib/cjs/LocalHub.js.map +1 -1
- package/lib/cjs/LocalhostIpcHost.js.map +1 -1
- package/lib/cjs/LockControl.js.map +1 -1
- package/lib/cjs/Material.js.map +1 -1
- package/lib/cjs/Model.js.map +1 -1
- package/lib/cjs/NativeAppStorage.js.map +1 -1
- package/lib/cjs/NativeHost.d.ts.map +1 -1
- package/lib/cjs/NativeHost.js +4 -1
- package/lib/cjs/NativeHost.js.map +1 -1
- package/lib/cjs/NavigationRelationship.js.map +1 -1
- package/lib/cjs/PromiseMemoizer.js.map +1 -1
- package/lib/cjs/PropertyStore.js.map +1 -1
- package/lib/cjs/Relationship.js.map +1 -1
- package/lib/cjs/RpcBackend.js.map +1 -1
- package/lib/cjs/SQLiteDb.d.ts.map +1 -1
- package/lib/cjs/SQLiteDb.js +5 -4
- package/lib/cjs/SQLiteDb.js.map +1 -1
- package/lib/cjs/Schema.js.map +1 -1
- package/lib/cjs/SchemaSync.js.map +1 -1
- package/lib/cjs/SchemaUtils.js.map +1 -1
- package/lib/cjs/SheetIndex.js.map +1 -1
- package/lib/cjs/SqliteChangesetReader.js.map +1 -1
- package/lib/cjs/SqliteStatement.js.map +1 -1
- package/lib/cjs/TextAnnotationElement.js.map +1 -1
- package/lib/cjs/TextAnnotationGeometry.js.map +1 -1
- package/lib/cjs/TextAnnotationLayout.js.map +1 -1
- package/lib/cjs/Texture.js.map +1 -1
- package/lib/cjs/TileStorage.js.map +1 -1
- package/lib/cjs/TxnManager.js.map +1 -1
- package/lib/cjs/ViewDefinition.js.map +1 -1
- package/lib/cjs/ViewStateHydrator.js.map +1 -1
- package/lib/cjs/ViewStore.d.ts.map +1 -1
- package/lib/cjs/ViewStore.js +27 -27
- package/lib/cjs/ViewStore.js.map +1 -1
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
- package/lib/cjs/assets/Settings/Schemas/Base.Schema.json +32 -32
- package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +27 -27
- package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +94 -94
- package/lib/cjs/assets/Settings/backend.setting.json5 +21 -21
- package/lib/cjs/core-backend.d.ts +1 -1
- package/lib/cjs/core-backend.d.ts.map +1 -1
- package/lib/cjs/core-backend.js +1 -1
- package/lib/cjs/core-backend.js.map +1 -1
- package/lib/cjs/domains/FunctionalElements.js.map +1 -1
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
- package/lib/cjs/domains/GenericElements.js.map +1 -1
- package/lib/cjs/domains/GenericSchema.js.map +1 -1
- package/lib/cjs/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/cjs/internal/ChannelAdmin.js +4 -4
- package/lib/cjs/internal/ChannelAdmin.js.map +1 -1
- package/lib/cjs/internal/FontFileImpl.js.map +1 -1
- package/lib/cjs/{HubMock.d.ts → internal/HubMock.d.ts} +4 -5
- package/lib/cjs/internal/HubMock.d.ts.map +1 -0
- package/lib/cjs/{HubMock.js → internal/HubMock.js} +22 -11
- package/lib/cjs/internal/HubMock.js.map +1 -0
- package/lib/cjs/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/cjs/internal/NativePlatform.js.map +1 -1
- package/lib/cjs/internal/NoLocks.js.map +1 -1
- package/lib/cjs/internal/ServerBasedLocks.js.map +1 -1
- package/lib/cjs/internal/Symbols.d.ts +1 -2
- package/lib/cjs/internal/Symbols.d.ts.map +1 -1
- package/lib/cjs/internal/Symbols.js +2 -3
- package/lib/cjs/internal/Symbols.js.map +1 -1
- package/lib/cjs/internal/cross-package.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts +2 -16
- package/lib/cjs/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceImpl.js +35 -104
- package/lib/cjs/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/cjs/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/cjs/rpc/multipart.js.map +1 -1
- package/lib/cjs/rpc/tracing.js.map +1 -1
- package/lib/cjs/rpc/web/logging.js.map +1 -1
- package/lib/cjs/rpc/web/request.js.map +1 -1
- package/lib/cjs/rpc/web/response.js.map +1 -1
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/cjs/workspace/Settings.js.map +1 -1
- package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
- package/lib/cjs/workspace/Workspace.d.ts +6 -13
- package/lib/cjs/workspace/Workspace.d.ts.map +1 -1
- package/lib/cjs/workspace/Workspace.js.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.d.ts +2 -7
- package/lib/cjs/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/cjs/workspace/WorkspaceEditor.js.map +1 -1
- package/lib/esm/BackendHubAccess.js.map +1 -1
- package/lib/esm/BackendLoggerCategory.js.map +1 -1
- package/lib/esm/BisCoreSchema.js.map +1 -1
- package/lib/esm/BlobContainerService.js.map +1 -1
- package/lib/esm/BriefcaseManager.js.map +1 -1
- package/lib/esm/CatalogDb.d.ts +103 -0
- package/lib/esm/CatalogDb.d.ts.map +1 -0
- package/lib/esm/CatalogDb.js +267 -0
- package/lib/esm/CatalogDb.js.map +1 -0
- package/lib/esm/Category.js.map +1 -1
- package/lib/esm/ChangeSummaryManager.js +2 -2
- package/lib/esm/ChangeSummaryManager.js.map +1 -1
- package/lib/esm/ChangedElementsDb.js.map +1 -1
- package/lib/esm/ChangesetECAdaptor.js +242 -242
- package/lib/esm/ChangesetECAdaptor.js.map +1 -1
- package/lib/esm/ChannelControl.js.map +1 -1
- package/lib/esm/CheckpointManager.d.ts +12 -10
- package/lib/esm/CheckpointManager.d.ts.map +1 -1
- package/lib/esm/CheckpointManager.js +18 -42
- package/lib/esm/CheckpointManager.js.map +1 -1
- package/lib/esm/ClassRegistry.js +5 -5
- package/lib/esm/ClassRegistry.js.map +1 -1
- package/lib/esm/CloudSqlite.d.ts +104 -20
- package/lib/esm/CloudSqlite.d.ts.map +1 -1
- package/lib/esm/CloudSqlite.js +157 -46
- package/lib/esm/CloudSqlite.js.map +1 -1
- package/lib/esm/CodeService.js.map +1 -1
- package/lib/esm/CodeSpecs.js.map +1 -1
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/CustomViewState3dCreator.js.map +1 -1
- package/lib/esm/DevTools.js.map +1 -1
- package/lib/esm/DisplayStyle.js.map +1 -1
- package/lib/esm/ECDb.js.map +1 -1
- package/lib/esm/ECSchemaXmlContext.d.ts +1 -1
- package/lib/esm/ECSchemaXmlContext.js +1 -1
- package/lib/esm/ECSchemaXmlContext.js.map +1 -1
- package/lib/esm/ECSqlStatement.js.map +1 -1
- package/lib/esm/Element.js.map +1 -1
- package/lib/esm/ElementAspect.js.map +1 -1
- package/lib/esm/ElementGraphics.js.map +1 -1
- package/lib/esm/ElementTreeWalker.js.map +1 -1
- package/lib/esm/Entity.d.ts +8 -4
- package/lib/esm/Entity.d.ts.map +1 -1
- package/lib/esm/Entity.js +3 -3
- package/lib/esm/Entity.js.map +1 -1
- package/lib/esm/EntityReferences.js.map +1 -1
- package/lib/esm/ExportGraphics.js.map +1 -1
- package/lib/esm/ExternalSource.js.map +1 -1
- package/lib/esm/FontFile.js.map +1 -1
- package/lib/esm/GeoCoordConfig.js.map +1 -1
- package/lib/esm/GeographicCRSServices.js.map +1 -1
- package/lib/esm/GeometrySummary.js +47 -47
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/IModelDb.d.ts +6 -1
- package/lib/esm/IModelDb.d.ts.map +1 -1
- package/lib/esm/IModelDb.js +22 -15
- package/lib/esm/IModelDb.js.map +1 -1
- package/lib/esm/IModelDbFonts.js.map +1 -1
- package/lib/esm/IModelElementCloneContext.js.map +1 -1
- package/lib/esm/IModelHost.d.ts +1 -1
- package/lib/esm/IModelHost.js +1 -1
- package/lib/esm/IModelHost.js.map +1 -1
- package/lib/esm/IModelJsFs.js.map +1 -1
- package/lib/esm/ImageSourceConversion.js.map +1 -1
- package/lib/esm/IpcHost.js.map +1 -1
- package/lib/esm/LineStyle.js.map +1 -1
- package/lib/esm/LocalHub.js +1 -1
- package/lib/esm/LocalHub.js.map +1 -1
- package/lib/esm/LocalhostIpcHost.js.map +1 -1
- package/lib/esm/LockControl.js.map +1 -1
- package/lib/esm/Material.js.map +1 -1
- package/lib/esm/Model.js.map +1 -1
- package/lib/esm/NativeAppStorage.js.map +1 -1
- package/lib/esm/NativeHost.d.ts.map +1 -1
- package/lib/esm/NativeHost.js +4 -1
- package/lib/esm/NativeHost.js.map +1 -1
- package/lib/esm/NavigationRelationship.js.map +1 -1
- package/lib/esm/PromiseMemoizer.js.map +1 -1
- package/lib/esm/PropertyStore.js.map +1 -1
- package/lib/esm/Relationship.js.map +1 -1
- package/lib/esm/RpcBackend.js.map +1 -1
- package/lib/esm/SQLiteDb.d.ts.map +1 -1
- package/lib/esm/SQLiteDb.js +5 -4
- package/lib/esm/SQLiteDb.js.map +1 -1
- package/lib/esm/Schema.js.map +1 -1
- package/lib/esm/SchemaSync.js.map +1 -1
- package/lib/esm/SchemaUtils.js.map +1 -1
- package/lib/esm/SheetIndex.js.map +1 -1
- package/lib/esm/SqliteChangesetReader.js.map +1 -1
- package/lib/esm/SqliteStatement.js.map +1 -1
- package/lib/esm/TextAnnotationElement.js.map +1 -1
- package/lib/esm/TextAnnotationGeometry.js.map +1 -1
- package/lib/esm/TextAnnotationLayout.js.map +1 -1
- package/lib/esm/Texture.js.map +1 -1
- package/lib/esm/TileStorage.js.map +1 -1
- package/lib/esm/TxnManager.js.map +1 -1
- package/lib/esm/ViewDefinition.js.map +1 -1
- package/lib/esm/ViewStateHydrator.js.map +1 -1
- package/lib/esm/ViewStore.d.ts.map +1 -1
- package/lib/esm/ViewStore.js +28 -28
- package/lib/esm/ViewStore.js.map +1 -1
- package/lib/esm/core-backend.d.ts +1 -1
- package/lib/esm/core-backend.d.ts.map +1 -1
- package/lib/esm/core-backend.js +1 -1
- package/lib/esm/core-backend.js.map +1 -1
- package/lib/esm/domains/FunctionalElements.js.map +1 -1
- package/lib/esm/domains/FunctionalSchema.js.map +1 -1
- package/lib/esm/domains/GenericElements.js.map +1 -1
- package/lib/esm/domains/GenericSchema.js.map +1 -1
- package/lib/esm/internal/ChangesetConflictArgs.js.map +1 -1
- package/lib/esm/internal/ChannelAdmin.js +5 -5
- package/lib/esm/internal/ChannelAdmin.js.map +1 -1
- package/lib/esm/internal/FontFileImpl.js.map +1 -1
- package/lib/esm/{HubMock.d.ts → internal/HubMock.d.ts} +4 -5
- package/lib/esm/internal/HubMock.d.ts.map +1 -0
- package/lib/esm/{HubMock.js → internal/HubMock.js} +22 -11
- package/lib/esm/internal/HubMock.js.map +1 -0
- package/lib/esm/internal/IModelDbFontsImpl.js.map +1 -1
- package/lib/esm/internal/NativePlatform.js.map +1 -1
- package/lib/esm/internal/NoLocks.js.map +1 -1
- package/lib/esm/internal/ServerBasedLocks.js.map +1 -1
- package/lib/esm/internal/Symbols.d.ts +1 -2
- package/lib/esm/internal/Symbols.d.ts.map +1 -1
- package/lib/esm/internal/Symbols.js +1 -2
- package/lib/esm/internal/Symbols.js.map +1 -1
- package/lib/esm/internal/cross-package.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsImpl.js.map +1 -1
- package/lib/esm/internal/workspace/SettingsSchemasImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts +2 -16
- package/lib/esm/internal/workspace/WorkspaceImpl.d.ts.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceImpl.js +36 -100
- package/lib/esm/internal/workspace/WorkspaceImpl.js.map +1 -1
- package/lib/esm/internal/workspace/WorkspaceSqliteDb.js.map +1 -1
- package/lib/esm/rpc/multipart.js.map +1 -1
- package/lib/esm/rpc/tracing.js.map +1 -1
- package/lib/esm/rpc/web/logging.js.map +1 -1
- package/lib/esm/rpc/web/request.js.map +1 -1
- package/lib/esm/rpc/web/response.js.map +1 -1
- package/lib/esm/rpc-impl/DevToolsRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelReadRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/IModelTileRpcImpl.js.map +1 -1
- package/lib/esm/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
- package/lib/esm/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
- package/lib/esm/test/AdvancedEqual.js.map +1 -1
- package/lib/esm/test/AttachDb.test.js +11 -11
- package/lib/esm/test/AttachDb.test.js.map +1 -1
- package/lib/esm/test/GeometryTestUtil.js.map +1 -1
- package/lib/esm/test/IModelHost.test.js.map +1 -1
- package/lib/esm/test/IModelTestUtils.d.ts +6 -2
- package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
- package/lib/esm/test/IModelTestUtils.js +27 -6
- package/lib/esm/test/IModelTestUtils.js.map +1 -1
- package/lib/esm/test/ImageSourceConversion.test.js.map +1 -1
- package/lib/esm/test/IpcHost.test.js.map +1 -1
- package/lib/esm/test/KnownTestLocations.js.map +1 -1
- package/lib/esm/test/PrintElementTree.js.map +1 -1
- package/lib/esm/test/PropertyDb.test.js.map +1 -1
- package/lib/esm/test/RevisionUtility.js.map +1 -1
- package/lib/esm/test/SchemaUtils.test.js +25 -25
- package/lib/esm/test/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/SequentialLogMatcher.js.map +1 -1
- package/lib/esm/test/TestChangeSetUtility.js +1 -1
- package/lib/esm/test/TestChangeSetUtility.js.map +1 -1
- package/lib/esm/test/TestUtils.js.map +1 -1
- package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
- package/lib/esm/test/categories/Category.test.js.map +1 -1
- package/lib/esm/test/codespec/CodeSpec.test.js.map +1 -1
- package/lib/esm/test/ecdb/CTE.test.js +88 -88
- package/lib/esm/test/ecdb/CTE.test.js.map +1 -1
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js +15 -15
- package/lib/esm/test/ecdb/ConcurrentQueryLoad.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDb.test.js +57 -57
- package/lib/esm/test/ecdb/ECDb.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECDbTestHelper.js.map +1 -1
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js +4 -4
- package/lib/esm/test/ecdb/ECSchemaXmlContext.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlAst.test.js +65 -65
- package/lib/esm/test/ecdb/ECSqlAst.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlQuery.test.js +7 -7
- package/lib/esm/test/ecdb/ECSqlQuery.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlReader.test.js +16 -16
- package/lib/esm/test/ecdb/ECSqlReader.test.js.map +1 -1
- package/lib/esm/test/ecdb/ECSqlStatement.test.js +292 -292
- package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
- package/lib/esm/test/ecdb/SqliteStatement.test.js.map +1 -1
- package/lib/esm/test/ecsql/dataset/ECSqlDatasets.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js +21 -21
- package/lib/esm/test/ecsql/src/ECSqlTestGenerator.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestParser.js.map +1 -1
- package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
- package/lib/esm/test/element/DeleteDefinitionElements.test.js.map +1 -1
- package/lib/esm/test/element/ElementAspect.test.js +22 -22
- package/lib/esm/test/element/ElementAspect.test.js.map +1 -1
- package/lib/esm/test/element/ElementDependencyGraph.test.js.map +1 -1
- package/lib/esm/test/element/ElementRoundTrip.test.js +139 -139
- package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
- package/lib/esm/test/element/ExcludedElements.test.js.map +1 -1
- package/lib/esm/test/element/ExternalSource.test.js.map +1 -1
- package/lib/esm/test/element/NullStructArray.test.js +13 -13
- package/lib/esm/test/element/NullStructArray.test.js.map +1 -1
- package/lib/esm/test/element/UrlLink.test.js.map +1 -1
- package/lib/esm/test/font/FontFile.test.js.map +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js +1 -1
- package/lib/esm/test/font/IModelDbFonts.test.js.map +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js +1 -1
- package/lib/esm/test/hubaccess/BriefcaseManager.test.js.map +1 -1
- package/lib/esm/test/hubaccess/CheckpointManager.test.js +4 -3
- package/lib/esm/test/hubaccess/CheckpointManager.test.js.map +1 -1
- package/lib/esm/test/imageData.js.map +1 -1
- package/lib/esm/test/imodel/ElementTreeWalker.test.js.map +1 -1
- package/lib/esm/test/imodel/GetTextureImage.test.js.map +1 -1
- package/lib/esm/test/imodel/IModel.test.js +1 -1
- package/lib/esm/test/imodel/IModel.test.js.map +1 -1
- package/lib/esm/test/imodel/ProjectExtents.test.js.map +1 -1
- package/lib/esm/test/imodel/SchemaXmlImport.test.js.map +1 -1
- package/lib/esm/test/index.js.map +1 -1
- package/lib/esm/test/misc/DevTools.test.js.map +1 -1
- package/lib/esm/test/misc/EntitySubClasses.test.js.map +1 -1
- package/lib/esm/test/misc/GeoServices.test.js.map +1 -1
- package/lib/esm/test/misc/PromiseMemoizer.test.js.map +1 -1
- package/lib/esm/test/native/DgnDbWorker.test.js.map +1 -1
- package/lib/esm/test/rpc/response.test.js.map +1 -1
- package/lib/esm/test/schema/ClassRegistry.test.js +71 -71
- package/lib/esm/test/schema/ClassRegistry.test.js.map +1 -1
- package/lib/esm/test/schema/FunctionalDomain.test.js.map +1 -1
- package/lib/esm/test/schema/GenericDomain.test.js.map +1 -1
- package/lib/esm/test/schema/IModelSchemaContext.test.js.map +1 -1
- package/lib/esm/test/sheetindex/SheetIndex.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js +1 -1
- package/lib/esm/test/standalone/ChangeMerge.test.js.map +1 -1
- package/lib/esm/test/standalone/ChangesetReader.test.js +29 -29
- package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
- package/lib/esm/test/standalone/CustomViewState3dCreator.test.js.map +1 -1
- package/lib/esm/test/standalone/DisplayStyle.test.js.map +1 -1
- package/lib/esm/test/standalone/Drawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/ElementMesh.test.js.map +1 -1
- package/lib/esm/test/standalone/ExportGraphics.test.js +19 -54
- package/lib/esm/test/standalone/ExportGraphics.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryChangeEvents.test.js.map +1 -1
- package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
- package/lib/esm/test/standalone/HubMock.test.js +1 -1
- package/lib/esm/test/standalone/HubMock.test.js.map +1 -1
- package/lib/esm/test/standalone/IModelWrite.test.js +28 -28
- package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
- package/lib/esm/test/standalone/InlineGeometryPartReferences.test.js.map +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js +1 -1
- package/lib/esm/test/standalone/MergeConflict.test.js.map +1 -1
- package/lib/esm/test/standalone/NativeAppStorage.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderMaterialElement.test.js.map +1 -1
- package/lib/esm/test/standalone/RenderTimeline.test.js.map +1 -1
- package/lib/esm/test/standalone/SQLiteDb.test.js.map +1 -1
- package/lib/esm/test/standalone/SchemaUtils.test.js.map +1 -1
- package/lib/esm/test/standalone/SectionDrawing.test.js.map +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js +1 -1
- package/lib/esm/test/standalone/ServerBasedLocks.test.js.map +1 -1
- package/lib/esm/test/standalone/Setting.test.js.map +1 -1
- package/lib/esm/test/standalone/Settings.test.js.map +1 -1
- package/lib/esm/test/standalone/SettingsSchemas.test.js.map +1 -1
- package/lib/esm/test/standalone/SnapshotDb.test.js +5 -4
- package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Texture.test.js.map +1 -1
- package/lib/esm/test/standalone/TileCache.test.js.map +1 -1
- package/lib/esm/test/standalone/TileTree.test.js.map +1 -1
- package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewDefinition.test.js.map +1 -1
- package/lib/esm/test/standalone/ViewStoreDb.test.js.map +1 -1
- package/lib/esm/test/standalone/Workspace.test.js +4 -3
- package/lib/esm/test/standalone/Workspace.test.js.map +1 -1
- package/lib/esm/workspace/Settings.js.map +1 -1
- package/lib/esm/workspace/SettingsSchemas.js.map +1 -1
- package/lib/esm/workspace/Workspace.d.ts +6 -13
- package/lib/esm/workspace/Workspace.d.ts.map +1 -1
- package/lib/esm/workspace/Workspace.js.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.d.ts +2 -7
- package/lib/esm/workspace/WorkspaceEditor.d.ts.map +1 -1
- package/lib/esm/workspace/WorkspaceEditor.js.map +1 -1
- package/package.json +13 -13
- package/lib/cjs/HubMock.d.ts.map +0 -1
- package/lib/cjs/HubMock.js.map +0 -1
- package/lib/esm/HubMock.d.ts.map +0 -1
- package/lib/esm/HubMock.js.map +0 -1
- package/lib/esm/test/CloudSqliteMock.d.ts +0 -37
- package/lib/esm/test/CloudSqliteMock.d.ts.map +0 -1
- package/lib/esm/test/CloudSqliteMock.js +0 -117
- package/lib/esm/test/CloudSqliteMock.js.map +0 -1
package/lib/cjs/CloudSqlite.js
CHANGED
|
@@ -8,15 +8,17 @@
|
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.CloudSqlite = void 0;
|
|
11
|
+
const semver = require("semver");
|
|
11
12
|
const fs_1 = require("fs");
|
|
12
13
|
const path_1 = require("path");
|
|
13
14
|
const imodeljs_native_1 = require("@bentley/imodeljs-native");
|
|
14
15
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
16
|
+
const core_common_1 = require("@itwin/core-common");
|
|
15
17
|
const BlobContainerService_1 = require("./BlobContainerService");
|
|
16
18
|
const IModelHost_1 = require("./IModelHost");
|
|
17
19
|
const IModelJsFs_1 = require("./IModelJsFs");
|
|
18
20
|
const tracing_1 = require("./rpc/tracing");
|
|
19
|
-
// spell:ignore logmsg httpcode daemonless cachefile cacheslots ddthh
|
|
21
|
+
// spell:ignore logmsg httpcode daemonless cachefile cacheslots ddthh cloudsqlite premajor preminor prepatch
|
|
20
22
|
/**
|
|
21
23
|
* Types for accessing SQLite databases stored in cloud containers.
|
|
22
24
|
* @beta
|
|
@@ -25,6 +27,24 @@ var CloudSqlite;
|
|
|
25
27
|
(function (CloudSqlite) {
|
|
26
28
|
const logInfo = (msg) => core_bentley_1.Logger.logInfo("CloudSqlite", msg);
|
|
27
29
|
const logError = (msg) => core_bentley_1.Logger.logError("CloudSqlite", msg);
|
|
30
|
+
/** Add (or replace) a property to an object that is not enumerable.
|
|
31
|
+
* This is important so this member will be skipped when the object is the target of
|
|
32
|
+
* [structuredClone](https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
|
|
33
|
+
* (e.g. when the object is part of an exception that is marshalled across process boundaries.)
|
|
34
|
+
*/
|
|
35
|
+
function addHiddenProperty(o, p, value) {
|
|
36
|
+
return Object.defineProperty(o, p, { enumerable: false, writable: true, value });
|
|
37
|
+
}
|
|
38
|
+
CloudSqlite.addHiddenProperty = addHiddenProperty;
|
|
39
|
+
function verifyService(serviceName, service) {
|
|
40
|
+
if (undefined === service)
|
|
41
|
+
core_common_1.CloudSqliteError.throwError("service-not-available", { message: `${serviceName} service is not available` });
|
|
42
|
+
return service;
|
|
43
|
+
}
|
|
44
|
+
function getBlobService() {
|
|
45
|
+
return verifyService("BlobContainer", BlobContainerService_1.BlobContainer.service);
|
|
46
|
+
}
|
|
47
|
+
CloudSqlite.getBlobService = getBlobService;
|
|
28
48
|
/**
|
|
29
49
|
* Request a new AccessToken for a cloud container using the [[BlobContainer]] service.
|
|
30
50
|
* If the service is unavailable or returns an error, an empty token is returned.
|
|
@@ -34,13 +54,21 @@ var CloudSqlite;
|
|
|
34
54
|
let userToken = args.userToken ? args.userToken : await IModelHost_1.IModelHost.getAccessToken();
|
|
35
55
|
if (userToken === "")
|
|
36
56
|
userToken = tracing_1.RpcTrace.currentActivity?.accessToken ?? "";
|
|
37
|
-
|
|
38
|
-
throw new Error(`BlobContainer.service is not defined`);
|
|
39
|
-
}
|
|
40
|
-
const response = await BlobContainerService_1.BlobContainer.service.requestToken({ ...args, userToken });
|
|
57
|
+
const response = await getBlobService().requestToken({ ...args, userToken });
|
|
41
58
|
return response?.token ?? "";
|
|
42
59
|
}
|
|
43
60
|
CloudSqlite.requestToken = requestToken;
|
|
61
|
+
function noLeadingOrTrailingSpaces(name, msg) {
|
|
62
|
+
if (name.trim() !== name)
|
|
63
|
+
core_common_1.CloudSqliteError.throwError("invalid-name", { message: `${msg} [${name}] may not have leading or trailing spaces` });
|
|
64
|
+
}
|
|
65
|
+
CloudSqlite.noLeadingOrTrailingSpaces = noLeadingOrTrailingSpaces;
|
|
66
|
+
function validateDbName(dbName) {
|
|
67
|
+
if (dbName === "" || dbName.length > 255 || /[#\.<>:"/\\"`'|?*\u0000-\u001F]/g.test(dbName) || /^(con|prn|aux|nul|com\d|lpt\d)$/i.test(dbName))
|
|
68
|
+
core_common_1.CloudSqliteError.throwError("invalid-name", { message: "invalid dbName", dbName });
|
|
69
|
+
noLeadingOrTrailingSpaces(dbName, "dbName");
|
|
70
|
+
}
|
|
71
|
+
CloudSqlite.validateDbName = validateDbName;
|
|
44
72
|
/**
|
|
45
73
|
* Create a new CloudContainer from a ContainerAccessProps. For non-public containers, a valid accessToken must be provided before the container
|
|
46
74
|
* can be used (e.g. via [[CloudSqlite.requestToken]]).
|
|
@@ -49,6 +77,10 @@ var CloudSqlite;
|
|
|
49
77
|
*/
|
|
50
78
|
function createCloudContainer(args) {
|
|
51
79
|
const container = new imodeljs_native_1.NativeLibrary.nativeLib.CloudContainer(args);
|
|
80
|
+
// we're going to add these fields to the newly created object. They should *not* be enumerable so they are not copied
|
|
81
|
+
// when the object is cloned (e.g. when included in an exception across processes).
|
|
82
|
+
addHiddenProperty(container, "timer");
|
|
83
|
+
addHiddenProperty(container, "refreshPromise");
|
|
52
84
|
const refreshSeconds = (undefined !== args.tokenRefreshSeconds) ? args.tokenRefreshSeconds : 60 * 60; // default is 1 hour
|
|
53
85
|
container.lockExpireSeconds = args.lockExpireSeconds ?? 60 * 60; // default is 1 hour
|
|
54
86
|
// don't refresh tokens for public containers or if refreshSeconds<=0
|
|
@@ -74,13 +106,13 @@ var CloudSqlite;
|
|
|
74
106
|
tokenRefreshFn(); // schedule next refresh
|
|
75
107
|
}, refreshSeconds * 1000);
|
|
76
108
|
};
|
|
77
|
-
container
|
|
78
|
-
container
|
|
109
|
+
addHiddenProperty(container, "onConnected", tokenRefreshFn); // schedule the first refresh when the container is connected
|
|
110
|
+
addHiddenProperty(container, "onDisconnect", () => {
|
|
79
111
|
if (container.timer !== undefined) {
|
|
80
112
|
clearTimeout(container.timer);
|
|
81
113
|
container.timer = undefined;
|
|
82
114
|
}
|
|
83
|
-
};
|
|
115
|
+
});
|
|
84
116
|
}
|
|
85
117
|
return container;
|
|
86
118
|
}
|
|
@@ -90,6 +122,7 @@ var CloudSqlite;
|
|
|
90
122
|
return new imodeljs_native_1.NativeLibrary.nativeLib.CloudPrefetch(container, dbName, args);
|
|
91
123
|
}
|
|
92
124
|
CloudSqlite.startCloudPrefetch = startCloudPrefetch;
|
|
125
|
+
;
|
|
93
126
|
/** Logging categories for `CloudCache.setLogMask` */
|
|
94
127
|
let LoggingMask;
|
|
95
128
|
(function (LoggingMask) {
|
|
@@ -212,50 +245,60 @@ var CloudSqlite;
|
|
|
212
245
|
const container = args.container;
|
|
213
246
|
while (true) {
|
|
214
247
|
try {
|
|
215
|
-
if
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
248
|
+
// if the write is already held:
|
|
249
|
+
// - by the same user, just update the write lock expiry (by calling acquireWriteLock).
|
|
250
|
+
// - by another user, throw an error
|
|
251
|
+
if (container.hasWriteLock && container.writeLockHeldBy !== args.user)
|
|
252
|
+
core_common_1.CloudSqliteError.throwError("write-lock-held", {
|
|
253
|
+
message: "lock in use", errorNumber: 5,
|
|
254
|
+
lockedBy: container.writeLockHeldBy ?? "",
|
|
255
|
+
expires: container.writeLockExpires
|
|
256
|
+
});
|
|
257
|
+
container.acquireWriteLock(args.user);
|
|
258
|
+
container.writeLockHeldBy = args.user;
|
|
259
|
+
return;
|
|
226
260
|
}
|
|
227
261
|
catch (e) {
|
|
228
262
|
if (e.errorNumber === 5 && args.busyHandler && "stop" !== await args.busyHandler(e.lockedBy, e.expires)) // 5 === BE_SQLITE_BUSY
|
|
229
263
|
continue; // busy handler wants to try again
|
|
230
|
-
|
|
264
|
+
core_common_1.CloudSqliteError.throwError("write-lock-held", { message: e.message, ...e });
|
|
231
265
|
}
|
|
232
266
|
}
|
|
233
267
|
}
|
|
234
268
|
CloudSqlite.acquireWriteLock = acquireWriteLock;
|
|
269
|
+
function getWriteLockHeldBy(container) {
|
|
270
|
+
return container.writeLockHeldBy;
|
|
271
|
+
}
|
|
272
|
+
CloudSqlite.getWriteLockHeldBy = getWriteLockHeldBy;
|
|
273
|
+
/** release the write lock on a container. */
|
|
274
|
+
function releaseWriteLock(container) {
|
|
275
|
+
container.releaseWriteLock();
|
|
276
|
+
container.writeLockHeldBy = undefined;
|
|
277
|
+
}
|
|
278
|
+
CloudSqlite.releaseWriteLock = releaseWriteLock;
|
|
235
279
|
/**
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
280
|
+
* Perform an asynchronous write operation on a CloudContainer with the write lock held.
|
|
281
|
+
* 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
|
|
282
|
+
* 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
|
|
283
|
+
* 3. perform the operation
|
|
284
|
+
* 3.a if the operation throws, abandon all changes and re-throw
|
|
285
|
+
* 4. release the write lock.
|
|
286
|
+
* 5. return value from operation
|
|
287
|
+
* @param user the name to be displayed to other users in the event they attempt to obtain the lock while it is held by us
|
|
288
|
+
* @param container the CloudContainer for which the lock is to be acquired
|
|
289
|
+
* @param operation an asynchronous operation performed with the write lock held.
|
|
290
|
+
* @param busyHandler if present, function called when the write lock is currently held by another user.
|
|
291
|
+
* @returns a Promise with the result of `operation`
|
|
292
|
+
*/
|
|
249
293
|
async function withWriteLock(args, operation) {
|
|
250
|
-
await acquireWriteLock(args);
|
|
251
294
|
const containerInternal = args.container;
|
|
295
|
+
const wasLockedBy = containerInternal.writeLockHeldBy;
|
|
296
|
+
await acquireWriteLock(args);
|
|
252
297
|
try {
|
|
253
|
-
if (
|
|
298
|
+
if (wasLockedBy === args.user) // If the user already had the write lock, then don't release it.
|
|
254
299
|
return await operation();
|
|
255
|
-
containerInternal.writeLockHeldBy = args.user;
|
|
256
300
|
const val = await operation(); // wait for work to finish or fail
|
|
257
|
-
|
|
258
|
-
containerInternal.writeLockHeldBy = undefined;
|
|
301
|
+
releaseWriteLock(containerInternal);
|
|
259
302
|
return val;
|
|
260
303
|
}
|
|
261
304
|
catch (e) {
|
|
@@ -265,6 +308,79 @@ var CloudSqlite;
|
|
|
265
308
|
}
|
|
266
309
|
}
|
|
267
310
|
CloudSqlite.withWriteLock = withWriteLock;
|
|
311
|
+
/**
|
|
312
|
+
* Parse the name of a Db stored in a CloudContainer into the dbName and version number. A single CloudContainer may hold
|
|
313
|
+
* many versions of the same Db. The name of the Db in the CloudContainer is in the format "name:version". This
|
|
314
|
+
* function splits them into separate strings.
|
|
315
|
+
*/
|
|
316
|
+
function parseDbFileName(dbFileName) {
|
|
317
|
+
const parts = dbFileName.split(":");
|
|
318
|
+
return { dbName: parts[0], version: parts[1] ?? "" };
|
|
319
|
+
}
|
|
320
|
+
CloudSqlite.parseDbFileName = parseDbFileName;
|
|
321
|
+
function validateDbVersion(version) {
|
|
322
|
+
version = version ?? "0.0.0";
|
|
323
|
+
const opts = { loose: true, includePrerelease: true };
|
|
324
|
+
// clean allows prerelease, so try it first. If that fails attempt to coerce it (coerce strips prerelease even if you say not to.)
|
|
325
|
+
const semVersion = semver.clean(version, opts) ?? semver.coerce(version, opts)?.version;
|
|
326
|
+
if (!semVersion)
|
|
327
|
+
core_common_1.CloudSqliteError.throwError("invalid-name", { message: "invalid version specification" });
|
|
328
|
+
version = semVersion;
|
|
329
|
+
return version;
|
|
330
|
+
}
|
|
331
|
+
CloudSqlite.validateDbVersion = validateDbVersion;
|
|
332
|
+
function isSemverPrerelease(version) {
|
|
333
|
+
return semver.major(version) === 0 || semver.prerelease(version);
|
|
334
|
+
}
|
|
335
|
+
CloudSqlite.isSemverPrerelease = isSemverPrerelease;
|
|
336
|
+
function isSemverEditable(dbFullName, container) {
|
|
337
|
+
return isSemverPrerelease(parseDbFileName(dbFullName).version) || container.queryDatabase(dbFullName)?.state === "copied";
|
|
338
|
+
}
|
|
339
|
+
CloudSqlite.isSemverEditable = isSemverEditable;
|
|
340
|
+
/** Create a dbName for a database from its base name and version. This will be in the format "name:version" */
|
|
341
|
+
function makeSemverName(dbName, version) {
|
|
342
|
+
return `${dbName}:${validateDbVersion(version)}`;
|
|
343
|
+
}
|
|
344
|
+
CloudSqlite.makeSemverName = makeSemverName;
|
|
345
|
+
/** query the databases in the supplied container for the highest SemVer match according to the version range. Throws if no version available for the range. */
|
|
346
|
+
function querySemverMatch(props) {
|
|
347
|
+
const dbName = props.dbName;
|
|
348
|
+
const dbs = props.container.queryDatabases(`${dbName}*`); // get all databases that start with dbName
|
|
349
|
+
const versions = [];
|
|
350
|
+
for (const db of dbs) {
|
|
351
|
+
const thisDb = parseDbFileName(db);
|
|
352
|
+
if (thisDb.dbName === dbName && "string" === typeof thisDb.version && thisDb.version.length > 0)
|
|
353
|
+
versions.push(thisDb.version);
|
|
354
|
+
}
|
|
355
|
+
if (versions.length === 0)
|
|
356
|
+
versions[0] = "0.0.0";
|
|
357
|
+
const range = props.version ?? "*";
|
|
358
|
+
try {
|
|
359
|
+
const version = semver.maxSatisfying(versions, range, { loose: true, includePrerelease: props.includePrerelease });
|
|
360
|
+
if (version)
|
|
361
|
+
return `${dbName}:${version}`;
|
|
362
|
+
}
|
|
363
|
+
catch { }
|
|
364
|
+
core_common_1.CloudSqliteError.throwError("no-version-available", { message: `No version of '${dbName}' available for "${range}"`, ...props });
|
|
365
|
+
}
|
|
366
|
+
CloudSqlite.querySemverMatch = querySemverMatch;
|
|
367
|
+
async function createNewDbVersion(container, args) {
|
|
368
|
+
const oldFullName = CloudSqlite.querySemverMatch({ container, ...args.fromDb });
|
|
369
|
+
const oldDb = CloudSqlite.parseDbFileName(oldFullName);
|
|
370
|
+
const newVersion = semver.inc(oldDb.version, args.versionType, args.identifier);
|
|
371
|
+
if (!newVersion)
|
|
372
|
+
core_common_1.CloudSqliteError.throwError("invalid-name", { message: `cannot create new version for ${oldFullName}`, dbName: oldFullName, ...args });
|
|
373
|
+
const newName = makeSemverName(oldDb.dbName, newVersion);
|
|
374
|
+
try {
|
|
375
|
+
await container.copyDatabase(oldFullName, newName);
|
|
376
|
+
}
|
|
377
|
+
catch (e) {
|
|
378
|
+
core_common_1.CloudSqliteError.throwError("copy-error", { message: `Error attempting to create new version ${newName} from ${oldFullName}`, ...args, cause: e });
|
|
379
|
+
}
|
|
380
|
+
// return the old and new db names and versions
|
|
381
|
+
return { oldDb, newDb: { dbName: oldDb.dbName, version: newVersion } };
|
|
382
|
+
}
|
|
383
|
+
CloudSqlite.createNewDbVersion = createNewDbVersion;
|
|
268
384
|
/** The collection of currently extant `CloudCache`s, by name. */
|
|
269
385
|
class CloudCaches {
|
|
270
386
|
static cloudCaches = new Map();
|
|
@@ -395,14 +511,9 @@ var CloudSqlite;
|
|
|
395
511
|
* @note the current user must have administrator rights to create containers.
|
|
396
512
|
*/
|
|
397
513
|
static async createBlobContainer(args) {
|
|
398
|
-
const
|
|
399
|
-
if (undefined === service)
|
|
400
|
-
throw new Error("no BlobContainer service available");
|
|
401
|
-
const auth = IModelHost_1.IModelHost.authorizationClient;
|
|
402
|
-
if (undefined === auth)
|
|
403
|
-
throw new Error("no authorization client available");
|
|
514
|
+
const auth = verifyService("Authorization Client", IModelHost_1.IModelHost.authorizationClient);
|
|
404
515
|
const userToken = await auth.getAccessToken();
|
|
405
|
-
const cloudContainer = await
|
|
516
|
+
const cloudContainer = await getBlobService().create({ scope: args.scope, metadata: args.metadata, userToken });
|
|
406
517
|
return { baseUri: cloudContainer.baseUri, containerId: cloudContainer.containerId, storageType: cloudContainer.provider };
|
|
407
518
|
}
|
|
408
519
|
/**
|
|
@@ -472,7 +583,7 @@ var CloudSqlite;
|
|
|
472
583
|
getDbMethod(methodName) {
|
|
473
584
|
const fn = this._cloudDb[methodName];
|
|
474
585
|
if (typeof fn !== "function")
|
|
475
|
-
|
|
586
|
+
core_common_1.CloudSqliteError.throwError("not-a-function", { message: `illegal method name ${methodName}`, dbName: this.dbName });
|
|
476
587
|
return fn;
|
|
477
588
|
}
|
|
478
589
|
/**
|