@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/esm/CloudSqlite.js
CHANGED
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
/** @packageDocumentation
|
|
6
6
|
* @module SQLiteDb
|
|
7
7
|
*/
|
|
8
|
+
import * as semver from "semver";
|
|
8
9
|
import { mkdirSync, unlinkSync } from "fs";
|
|
9
10
|
import { dirname, join } from "path";
|
|
10
11
|
import { NativeLibrary } from "@bentley/imodeljs-native";
|
|
11
12
|
import { BeDuration, BriefcaseStatus, Logger, LogLevel, OpenMode, StopWatch, } from "@itwin/core-bentley";
|
|
13
|
+
import { CloudSqliteError } from "@itwin/core-common";
|
|
12
14
|
import { BlobContainer } from "./BlobContainerService";
|
|
13
15
|
import { IModelHost, KnownLocations } from "./IModelHost";
|
|
14
16
|
import { IModelJsFs } from "./IModelJsFs";
|
|
15
17
|
import { RpcTrace } from "./rpc/tracing";
|
|
16
|
-
// spell:ignore logmsg httpcode daemonless cachefile cacheslots ddthh
|
|
18
|
+
// spell:ignore logmsg httpcode daemonless cachefile cacheslots ddthh cloudsqlite premajor preminor prepatch
|
|
17
19
|
/**
|
|
18
20
|
* Types for accessing SQLite databases stored in cloud containers.
|
|
19
21
|
* @beta
|
|
@@ -22,6 +24,24 @@ export var CloudSqlite;
|
|
|
22
24
|
(function (CloudSqlite) {
|
|
23
25
|
const logInfo = (msg) => Logger.logInfo("CloudSqlite", msg);
|
|
24
26
|
const logError = (msg) => Logger.logError("CloudSqlite", msg);
|
|
27
|
+
/** Add (or replace) a property to an object that is not enumerable.
|
|
28
|
+
* This is important so this member will be skipped when the object is the target of
|
|
29
|
+
* [structuredClone](https://developer.mozilla.org/docs/Web/API/Web_Workers_API/Structured_clone_algorithm)
|
|
30
|
+
* (e.g. when the object is part of an exception that is marshalled across process boundaries.)
|
|
31
|
+
*/
|
|
32
|
+
function addHiddenProperty(o, p, value) {
|
|
33
|
+
return Object.defineProperty(o, p, { enumerable: false, writable: true, value });
|
|
34
|
+
}
|
|
35
|
+
CloudSqlite.addHiddenProperty = addHiddenProperty;
|
|
36
|
+
function verifyService(serviceName, service) {
|
|
37
|
+
if (undefined === service)
|
|
38
|
+
CloudSqliteError.throwError("service-not-available", { message: `${serviceName} service is not available` });
|
|
39
|
+
return service;
|
|
40
|
+
}
|
|
41
|
+
function getBlobService() {
|
|
42
|
+
return verifyService("BlobContainer", BlobContainer.service);
|
|
43
|
+
}
|
|
44
|
+
CloudSqlite.getBlobService = getBlobService;
|
|
25
45
|
/**
|
|
26
46
|
* Request a new AccessToken for a cloud container using the [[BlobContainer]] service.
|
|
27
47
|
* If the service is unavailable or returns an error, an empty token is returned.
|
|
@@ -31,13 +51,21 @@ export var CloudSqlite;
|
|
|
31
51
|
let userToken = args.userToken ? args.userToken : await IModelHost.getAccessToken();
|
|
32
52
|
if (userToken === "")
|
|
33
53
|
userToken = RpcTrace.currentActivity?.accessToken ?? "";
|
|
34
|
-
|
|
35
|
-
throw new Error(`BlobContainer.service is not defined`);
|
|
36
|
-
}
|
|
37
|
-
const response = await BlobContainer.service.requestToken({ ...args, userToken });
|
|
54
|
+
const response = await getBlobService().requestToken({ ...args, userToken });
|
|
38
55
|
return response?.token ?? "";
|
|
39
56
|
}
|
|
40
57
|
CloudSqlite.requestToken = requestToken;
|
|
58
|
+
function noLeadingOrTrailingSpaces(name, msg) {
|
|
59
|
+
if (name.trim() !== name)
|
|
60
|
+
CloudSqliteError.throwError("invalid-name", { message: `${msg} [${name}] may not have leading or trailing spaces` });
|
|
61
|
+
}
|
|
62
|
+
CloudSqlite.noLeadingOrTrailingSpaces = noLeadingOrTrailingSpaces;
|
|
63
|
+
function validateDbName(dbName) {
|
|
64
|
+
if (dbName === "" || dbName.length > 255 || /[#\.<>:"/\\"`'|?*\u0000-\u001F]/g.test(dbName) || /^(con|prn|aux|nul|com\d|lpt\d)$/i.test(dbName))
|
|
65
|
+
CloudSqliteError.throwError("invalid-name", { message: "invalid dbName", dbName });
|
|
66
|
+
noLeadingOrTrailingSpaces(dbName, "dbName");
|
|
67
|
+
}
|
|
68
|
+
CloudSqlite.validateDbName = validateDbName;
|
|
41
69
|
/**
|
|
42
70
|
* Create a new CloudContainer from a ContainerAccessProps. For non-public containers, a valid accessToken must be provided before the container
|
|
43
71
|
* can be used (e.g. via [[CloudSqlite.requestToken]]).
|
|
@@ -46,6 +74,10 @@ export var CloudSqlite;
|
|
|
46
74
|
*/
|
|
47
75
|
function createCloudContainer(args) {
|
|
48
76
|
const container = new NativeLibrary.nativeLib.CloudContainer(args);
|
|
77
|
+
// we're going to add these fields to the newly created object. They should *not* be enumerable so they are not copied
|
|
78
|
+
// when the object is cloned (e.g. when included in an exception across processes).
|
|
79
|
+
addHiddenProperty(container, "timer");
|
|
80
|
+
addHiddenProperty(container, "refreshPromise");
|
|
49
81
|
const refreshSeconds = (undefined !== args.tokenRefreshSeconds) ? args.tokenRefreshSeconds : 60 * 60; // default is 1 hour
|
|
50
82
|
container.lockExpireSeconds = args.lockExpireSeconds ?? 60 * 60; // default is 1 hour
|
|
51
83
|
// don't refresh tokens for public containers or if refreshSeconds<=0
|
|
@@ -71,13 +103,13 @@ export var CloudSqlite;
|
|
|
71
103
|
tokenRefreshFn(); // schedule next refresh
|
|
72
104
|
}, refreshSeconds * 1000);
|
|
73
105
|
};
|
|
74
|
-
container
|
|
75
|
-
container
|
|
106
|
+
addHiddenProperty(container, "onConnected", tokenRefreshFn); // schedule the first refresh when the container is connected
|
|
107
|
+
addHiddenProperty(container, "onDisconnect", () => {
|
|
76
108
|
if (container.timer !== undefined) {
|
|
77
109
|
clearTimeout(container.timer);
|
|
78
110
|
container.timer = undefined;
|
|
79
111
|
}
|
|
80
|
-
};
|
|
112
|
+
});
|
|
81
113
|
}
|
|
82
114
|
return container;
|
|
83
115
|
}
|
|
@@ -87,6 +119,7 @@ export var CloudSqlite;
|
|
|
87
119
|
return new NativeLibrary.nativeLib.CloudPrefetch(container, dbName, args);
|
|
88
120
|
}
|
|
89
121
|
CloudSqlite.startCloudPrefetch = startCloudPrefetch;
|
|
122
|
+
;
|
|
90
123
|
/** Logging categories for `CloudCache.setLogMask` */
|
|
91
124
|
let LoggingMask;
|
|
92
125
|
(function (LoggingMask) {
|
|
@@ -209,50 +242,60 @@ export var CloudSqlite;
|
|
|
209
242
|
const container = args.container;
|
|
210
243
|
while (true) {
|
|
211
244
|
try {
|
|
212
|
-
if
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
245
|
+
// if the write is already held:
|
|
246
|
+
// - by the same user, just update the write lock expiry (by calling acquireWriteLock).
|
|
247
|
+
// - by another user, throw an error
|
|
248
|
+
if (container.hasWriteLock && container.writeLockHeldBy !== args.user)
|
|
249
|
+
CloudSqliteError.throwError("write-lock-held", {
|
|
250
|
+
message: "lock in use", errorNumber: 5,
|
|
251
|
+
lockedBy: container.writeLockHeldBy ?? "",
|
|
252
|
+
expires: container.writeLockExpires
|
|
253
|
+
});
|
|
254
|
+
container.acquireWriteLock(args.user);
|
|
255
|
+
container.writeLockHeldBy = args.user;
|
|
256
|
+
return;
|
|
223
257
|
}
|
|
224
258
|
catch (e) {
|
|
225
259
|
if (e.errorNumber === 5 && args.busyHandler && "stop" !== await args.busyHandler(e.lockedBy, e.expires)) // 5 === BE_SQLITE_BUSY
|
|
226
260
|
continue; // busy handler wants to try again
|
|
227
|
-
|
|
261
|
+
CloudSqliteError.throwError("write-lock-held", { message: e.message, ...e });
|
|
228
262
|
}
|
|
229
263
|
}
|
|
230
264
|
}
|
|
231
265
|
CloudSqlite.acquireWriteLock = acquireWriteLock;
|
|
266
|
+
function getWriteLockHeldBy(container) {
|
|
267
|
+
return container.writeLockHeldBy;
|
|
268
|
+
}
|
|
269
|
+
CloudSqlite.getWriteLockHeldBy = getWriteLockHeldBy;
|
|
270
|
+
/** release the write lock on a container. */
|
|
271
|
+
function releaseWriteLock(container) {
|
|
272
|
+
container.releaseWriteLock();
|
|
273
|
+
container.writeLockHeldBy = undefined;
|
|
274
|
+
}
|
|
275
|
+
CloudSqlite.releaseWriteLock = releaseWriteLock;
|
|
232
276
|
/**
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
277
|
+
* Perform an asynchronous write operation on a CloudContainer with the write lock held.
|
|
278
|
+
* 1. if write lock is already held by the current user, refresh write lock's expiry time, call operation and return.
|
|
279
|
+
* 2. attempt to acquire the write lock, with retries. Throw if unable to obtain write lock.
|
|
280
|
+
* 3. perform the operation
|
|
281
|
+
* 3.a if the operation throws, abandon all changes and re-throw
|
|
282
|
+
* 4. release the write lock.
|
|
283
|
+
* 5. return value from operation
|
|
284
|
+
* @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
|
|
285
|
+
* @param container the CloudContainer for which the lock is to be acquired
|
|
286
|
+
* @param operation an asynchronous operation performed with the write lock held.
|
|
287
|
+
* @param busyHandler if present, function called when the write lock is currently held by another user.
|
|
288
|
+
* @returns a Promise with the result of `operation`
|
|
289
|
+
*/
|
|
246
290
|
async function withWriteLock(args, operation) {
|
|
247
|
-
await acquireWriteLock(args);
|
|
248
291
|
const containerInternal = args.container;
|
|
292
|
+
const wasLockedBy = containerInternal.writeLockHeldBy;
|
|
293
|
+
await acquireWriteLock(args);
|
|
249
294
|
try {
|
|
250
|
-
if (
|
|
295
|
+
if (wasLockedBy === args.user) // If the user already had the write lock, then don't release it.
|
|
251
296
|
return await operation();
|
|
252
|
-
containerInternal.writeLockHeldBy = args.user;
|
|
253
297
|
const val = await operation(); // wait for work to finish or fail
|
|
254
|
-
|
|
255
|
-
containerInternal.writeLockHeldBy = undefined;
|
|
298
|
+
releaseWriteLock(containerInternal);
|
|
256
299
|
return val;
|
|
257
300
|
}
|
|
258
301
|
catch (e) {
|
|
@@ -262,6 +305,79 @@ export var CloudSqlite;
|
|
|
262
305
|
}
|
|
263
306
|
}
|
|
264
307
|
CloudSqlite.withWriteLock = withWriteLock;
|
|
308
|
+
/**
|
|
309
|
+
* Parse the name of a Db stored in a CloudContainer into the dbName and version number. A single CloudContainer may hold
|
|
310
|
+
* many versions of the same Db. The name of the Db in the CloudContainer is in the format "name:version". This
|
|
311
|
+
* function splits them into separate strings.
|
|
312
|
+
*/
|
|
313
|
+
function parseDbFileName(dbFileName) {
|
|
314
|
+
const parts = dbFileName.split(":");
|
|
315
|
+
return { dbName: parts[0], version: parts[1] ?? "" };
|
|
316
|
+
}
|
|
317
|
+
CloudSqlite.parseDbFileName = parseDbFileName;
|
|
318
|
+
function validateDbVersion(version) {
|
|
319
|
+
version = version ?? "0.0.0";
|
|
320
|
+
const opts = { loose: true, includePrerelease: true };
|
|
321
|
+
// clean allows prerelease, so try it first. If that fails attempt to coerce it (coerce strips prerelease even if you say not to.)
|
|
322
|
+
const semVersion = semver.clean(version, opts) ?? semver.coerce(version, opts)?.version;
|
|
323
|
+
if (!semVersion)
|
|
324
|
+
CloudSqliteError.throwError("invalid-name", { message: "invalid version specification" });
|
|
325
|
+
version = semVersion;
|
|
326
|
+
return version;
|
|
327
|
+
}
|
|
328
|
+
CloudSqlite.validateDbVersion = validateDbVersion;
|
|
329
|
+
function isSemverPrerelease(version) {
|
|
330
|
+
return semver.major(version) === 0 || semver.prerelease(version);
|
|
331
|
+
}
|
|
332
|
+
CloudSqlite.isSemverPrerelease = isSemverPrerelease;
|
|
333
|
+
function isSemverEditable(dbFullName, container) {
|
|
334
|
+
return isSemverPrerelease(parseDbFileName(dbFullName).version) || container.queryDatabase(dbFullName)?.state === "copied";
|
|
335
|
+
}
|
|
336
|
+
CloudSqlite.isSemverEditable = isSemverEditable;
|
|
337
|
+
/** Create a dbName for a database from its base name and version. This will be in the format "name:version" */
|
|
338
|
+
function makeSemverName(dbName, version) {
|
|
339
|
+
return `${dbName}:${validateDbVersion(version)}`;
|
|
340
|
+
}
|
|
341
|
+
CloudSqlite.makeSemverName = makeSemverName;
|
|
342
|
+
/** 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. */
|
|
343
|
+
function querySemverMatch(props) {
|
|
344
|
+
const dbName = props.dbName;
|
|
345
|
+
const dbs = props.container.queryDatabases(`${dbName}*`); // get all databases that start with dbName
|
|
346
|
+
const versions = [];
|
|
347
|
+
for (const db of dbs) {
|
|
348
|
+
const thisDb = parseDbFileName(db);
|
|
349
|
+
if (thisDb.dbName === dbName && "string" === typeof thisDb.version && thisDb.version.length > 0)
|
|
350
|
+
versions.push(thisDb.version);
|
|
351
|
+
}
|
|
352
|
+
if (versions.length === 0)
|
|
353
|
+
versions[0] = "0.0.0";
|
|
354
|
+
const range = props.version ?? "*";
|
|
355
|
+
try {
|
|
356
|
+
const version = semver.maxSatisfying(versions, range, { loose: true, includePrerelease: props.includePrerelease });
|
|
357
|
+
if (version)
|
|
358
|
+
return `${dbName}:${version}`;
|
|
359
|
+
}
|
|
360
|
+
catch { }
|
|
361
|
+
CloudSqliteError.throwError("no-version-available", { message: `No version of '${dbName}' available for "${range}"`, ...props });
|
|
362
|
+
}
|
|
363
|
+
CloudSqlite.querySemverMatch = querySemverMatch;
|
|
364
|
+
async function createNewDbVersion(container, args) {
|
|
365
|
+
const oldFullName = CloudSqlite.querySemverMatch({ container, ...args.fromDb });
|
|
366
|
+
const oldDb = CloudSqlite.parseDbFileName(oldFullName);
|
|
367
|
+
const newVersion = semver.inc(oldDb.version, args.versionType, args.identifier);
|
|
368
|
+
if (!newVersion)
|
|
369
|
+
CloudSqliteError.throwError("invalid-name", { message: `cannot create new version for ${oldFullName}`, dbName: oldFullName, ...args });
|
|
370
|
+
const newName = makeSemverName(oldDb.dbName, newVersion);
|
|
371
|
+
try {
|
|
372
|
+
await container.copyDatabase(oldFullName, newName);
|
|
373
|
+
}
|
|
374
|
+
catch (e) {
|
|
375
|
+
CloudSqliteError.throwError("copy-error", { message: `Error attempting to create new version ${newName} from ${oldFullName}`, ...args, cause: e });
|
|
376
|
+
}
|
|
377
|
+
// return the old and new db names and versions
|
|
378
|
+
return { oldDb, newDb: { dbName: oldDb.dbName, version: newVersion } };
|
|
379
|
+
}
|
|
380
|
+
CloudSqlite.createNewDbVersion = createNewDbVersion;
|
|
265
381
|
/** The collection of currently extant `CloudCache`s, by name. */
|
|
266
382
|
class CloudCaches {
|
|
267
383
|
static cloudCaches = new Map();
|
|
@@ -392,14 +508,9 @@ export var CloudSqlite;
|
|
|
392
508
|
* @note the current user must have administrator rights to create containers.
|
|
393
509
|
*/
|
|
394
510
|
static async createBlobContainer(args) {
|
|
395
|
-
const
|
|
396
|
-
if (undefined === service)
|
|
397
|
-
throw new Error("no BlobContainer service available");
|
|
398
|
-
const auth = IModelHost.authorizationClient;
|
|
399
|
-
if (undefined === auth)
|
|
400
|
-
throw new Error("no authorization client available");
|
|
511
|
+
const auth = verifyService("Authorization Client", IModelHost.authorizationClient);
|
|
401
512
|
const userToken = await auth.getAccessToken();
|
|
402
|
-
const cloudContainer = await
|
|
513
|
+
const cloudContainer = await getBlobService().create({ scope: args.scope, metadata: args.metadata, userToken });
|
|
403
514
|
return { baseUri: cloudContainer.baseUri, containerId: cloudContainer.containerId, storageType: cloudContainer.provider };
|
|
404
515
|
}
|
|
405
516
|
/**
|
|
@@ -469,7 +580,7 @@ export var CloudSqlite;
|
|
|
469
580
|
getDbMethod(methodName) {
|
|
470
581
|
const fn = this._cloudDb[methodName];
|
|
471
582
|
if (typeof fn !== "function")
|
|
472
|
-
|
|
583
|
+
CloudSqliteError.throwError("not-a-function", { message: `illegal method name ${methodName}`, dbName: this.dbName });
|
|
473
584
|
return fn;
|
|
474
585
|
}
|
|
475
586
|
/**
|