@itwin/imodel-transformer 2.0.0-dev.5 → 2.0.0-dev.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -27
- package/lib/cjs/Algo.js.map +1 -1
- package/lib/cjs/BigMap.d.ts.map +1 -1
- package/lib/cjs/BigMap.js.map +1 -1
- package/lib/cjs/BranchProvenanceInitializer.d.ts.map +1 -1
- package/lib/cjs/BranchProvenanceInitializer.js +34 -36
- package/lib/cjs/BranchProvenanceInitializer.js.map +1 -1
- package/lib/cjs/ChangesetScanner.d.ts +60 -0
- package/lib/cjs/ChangesetScanner.d.ts.map +1 -0
- package/lib/cjs/ChangesetScanner.js +101 -0
- package/lib/cjs/ChangesetScanner.js.map +1 -0
- package/lib/cjs/ECReferenceTypesCache.d.ts +0 -3
- package/lib/cjs/ECReferenceTypesCache.d.ts.map +1 -1
- package/lib/cjs/ECReferenceTypesCache.js +61 -103
- package/lib/cjs/ECReferenceTypesCache.js.map +1 -1
- package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.d.ts.map +1 -1
- package/lib/cjs/ECSqlReaderAsyncIterableIteratorAdapter.js.map +1 -1
- package/lib/cjs/ElementAspectCleanup.d.ts +16 -0
- package/lib/cjs/ElementAspectCleanup.d.ts.map +1 -0
- package/lib/cjs/ElementAspectCleanup.js +82 -0
- package/lib/cjs/ElementAspectCleanup.js.map +1 -0
- package/lib/cjs/ElementAspectExportCoordinator.d.ts +44 -0
- package/lib/cjs/ElementAspectExportCoordinator.d.ts.map +1 -0
- package/lib/cjs/ElementAspectExportCoordinator.js +148 -0
- package/lib/cjs/ElementAspectExportCoordinator.js.map +1 -0
- package/lib/cjs/ElementAspectExportProcessor.d.ts +43 -0
- package/lib/cjs/ElementAspectExportProcessor.d.ts.map +1 -0
- package/lib/cjs/ElementAspectExportProcessor.js +167 -0
- package/lib/cjs/ElementAspectExportProcessor.js.map +1 -0
- package/lib/cjs/ElementBulkDelete.d.ts +11 -0
- package/lib/cjs/ElementBulkDelete.d.ts.map +1 -0
- package/lib/cjs/ElementBulkDelete.js +55 -0
- package/lib/cjs/ElementBulkDelete.js.map +1 -0
- package/lib/cjs/EntityExistenceCache.d.ts +43 -0
- package/lib/cjs/EntityExistenceCache.d.ts.map +1 -0
- package/lib/cjs/EntityExistenceCache.js +91 -0
- package/lib/cjs/EntityExistenceCache.js.map +1 -0
- package/lib/cjs/EntityMap.d.ts.map +1 -1
- package/lib/cjs/EntityMap.js.map +1 -1
- package/lib/cjs/EntityUnifier.d.ts +8 -8
- package/lib/cjs/EntityUnifier.d.ts.map +1 -1
- package/lib/cjs/EntityUnifier.js +55 -32
- package/lib/cjs/EntityUnifier.js.map +1 -1
- package/lib/cjs/IModelCloneContext.d.ts +11 -5
- package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
- package/lib/cjs/IModelCloneContext.js +94 -58
- package/lib/cjs/IModelCloneContext.js.map +1 -1
- package/lib/cjs/IModelExporter.d.ts +109 -35
- package/lib/cjs/IModelExporter.d.ts.map +1 -1
- package/lib/cjs/IModelExporter.js +698 -224
- package/lib/cjs/IModelExporter.js.map +1 -1
- package/lib/cjs/IModelImporter.d.ts +73 -32
- package/lib/cjs/IModelImporter.d.ts.map +1 -1
- package/lib/cjs/IModelImporter.js +278 -144
- package/lib/cjs/IModelImporter.js.map +1 -1
- package/lib/cjs/IModelTransformContext.d.ts +54 -0
- package/lib/cjs/IModelTransformContext.d.ts.map +1 -0
- package/lib/cjs/IModelTransformContext.js +3 -0
- package/lib/cjs/IModelTransformContext.js.map +1 -0
- package/lib/cjs/IModelTransformer.d.ts +126 -206
- package/lib/cjs/IModelTransformer.d.ts.map +1 -1
- package/lib/cjs/IModelTransformer.js +652 -1198
- package/lib/cjs/IModelTransformer.js.map +1 -1
- package/lib/cjs/IModelTransformerError.d.ts +84 -0
- package/lib/cjs/IModelTransformerError.d.ts.map +1 -0
- package/lib/cjs/IModelTransformerError.js +93 -0
- package/lib/cjs/IModelTransformerError.js.map +1 -0
- package/lib/cjs/ProvenanceManager.d.ts +182 -0
- package/lib/cjs/ProvenanceManager.d.ts.map +1 -0
- package/lib/cjs/ProvenanceManager.js +743 -0
- package/lib/cjs/ProvenanceManager.js.map +1 -0
- package/lib/cjs/SyncTypeResolver.d.ts +34 -0
- package/lib/cjs/SyncTypeResolver.d.ts.map +1 -0
- package/lib/cjs/SyncTypeResolver.js +98 -0
- package/lib/cjs/SyncTypeResolver.js.map +1 -0
- package/lib/cjs/TransformerLoggerCategory.d.ts +1 -1
- package/lib/cjs/TransformerLoggerCategory.js +1 -1
- package/lib/cjs/TransformerLoggerCategory.js.map +1 -1
- package/lib/cjs/TransformerPackageMetadata.d.ts +8 -0
- package/lib/cjs/TransformerPackageMetadata.d.ts.map +1 -0
- package/lib/cjs/TransformerPackageMetadata.js +47 -0
- package/lib/cjs/TransformerPackageMetadata.js.map +1 -0
- package/lib/cjs/imodel-transformer.d.ts +19 -0
- package/lib/cjs/imodel-transformer.d.ts.map +1 -1
- package/lib/cjs/imodel-transformer.js +53 -34
- package/lib/cjs/imodel-transformer.js.map +1 -1
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.d.ts +29 -0
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.d.ts.map +1 -0
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.js +212 -0
- package/lib/cjs/schema-processing/DynamicSchemaUnionStrategy.js.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.d.ts +25 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.d.ts.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.js +196 -0
- package/lib/cjs/schema-processing/SchemaProcessingCoordinator.js.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.d.ts +59 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.d.ts.map +1 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.js +28 -0
- package/lib/cjs/schema-processing/SchemaProcessingStrategy.js.map +1 -0
- package/lib/cjs/schema-processing.d.ts +7 -0
- package/lib/cjs/schema-processing.d.ts.map +1 -0
- package/lib/cjs/schema-processing.js +27 -0
- package/lib/cjs/schema-processing.js.map +1 -0
- package/package.json +65 -43
- package/lib/cjs/DetachedExportElementAspectsStrategy.d.ts +0 -16
- package/lib/cjs/DetachedExportElementAspectsStrategy.d.ts.map +0 -1
- package/lib/cjs/DetachedExportElementAspectsStrategy.js +0 -106
- package/lib/cjs/DetachedExportElementAspectsStrategy.js.map +0 -1
- package/lib/cjs/ElementCascadingDeleter.d.ts +0 -22
- package/lib/cjs/ElementCascadingDeleter.d.ts.map +0 -1
- package/lib/cjs/ElementCascadingDeleter.js +0 -57
- package/lib/cjs/ElementCascadingDeleter.js.map +0 -1
- package/lib/cjs/ExportElementAspectsStrategy.d.ts +0 -35
- package/lib/cjs/ExportElementAspectsStrategy.d.ts.map +0 -1
- package/lib/cjs/ExportElementAspectsStrategy.js +0 -52
- package/lib/cjs/ExportElementAspectsStrategy.js.map +0 -1
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.d.ts +0 -12
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.d.ts.map +0 -1
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.js +0 -47
- package/lib/cjs/ExportElementAspectsWithElementsStrategy.js.map +0 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/** Scope shared by errors originating from `@itwin/imodel-transformer`.
|
|
2
|
+
* @beta
|
|
3
|
+
*/
|
|
4
|
+
export declare const IModelTransformerErrorScope = "@itwin/imodel-transformer";
|
|
5
|
+
/** Errors originating from `@itwin/imodel-transformer`.
|
|
6
|
+
* @beta
|
|
7
|
+
*/
|
|
8
|
+
export declare enum IModelTransformerError {
|
|
9
|
+
/** An ElementAspect change requires its owning element identifier. */
|
|
10
|
+
AspectOwnerRequired = "aspect-owner-required",
|
|
11
|
+
/** Required changed-instance metadata is missing. */
|
|
12
|
+
ChangedInstanceMetadataMissing = "changed-instance-metadata-missing",
|
|
13
|
+
/** A required changeset index is unavailable. */
|
|
14
|
+
ChangesetIndexUnavailable = "changeset-index-unavailable",
|
|
15
|
+
/** A source entity contains a dangling reference rejected by transformer policy. */
|
|
16
|
+
DanglingReference = "dangling-reference",
|
|
17
|
+
/** A required dependency has no target mapping. */
|
|
18
|
+
DependencyMappingMissing = "dependency-mapping-missing",
|
|
19
|
+
/** The installed iTwin.js dependency version is incompatible. */
|
|
20
|
+
DependencyVersionMismatch = "dependency-version-mismatch",
|
|
21
|
+
/** A required edit transaction is not active. */
|
|
22
|
+
EditTxnNotActive = "edit-txn-not-active",
|
|
23
|
+
/** Native bulk deletion failed for one or more requested element trees. */
|
|
24
|
+
ElementBulkDeleteFailed = "element-bulk-delete-failed",
|
|
25
|
+
/** An element identifier cannot be preserved in the target. */
|
|
26
|
+
ElementIdNotPreservable = "element-id-not-preservable",
|
|
27
|
+
/** A required element identifier was not provided. */
|
|
28
|
+
ElementIdRequired = "element-id-required",
|
|
29
|
+
/** Exporting changes requires a briefcase iModel. */
|
|
30
|
+
ExportChangesRequiresBriefcase = "export-changes-requires-briefcase",
|
|
31
|
+
/** No export handler has been registered. */
|
|
32
|
+
ExportHandlerNotRegistered = "export-handler-not-registered",
|
|
33
|
+
/** A required geographic coordinate system is unavailable. */
|
|
34
|
+
GeographicCoordinateSystemUnavailable = "geographic-coordinate-system-unavailable",
|
|
35
|
+
/** Source and target geographic coordinate systems are incompatible. */
|
|
36
|
+
GeographicCoordinateSystemMismatch = "geographic-coordinate-system-mismatch",
|
|
37
|
+
/** Required geolocation data or an invertible geolocation transform is unavailable. */
|
|
38
|
+
GeolocationUnavailable = "geolocation-unavailable",
|
|
39
|
+
/** A custom importer option conflicts with the transformer option. */
|
|
40
|
+
ImporterOptionMismatch = "importer-option-mismatch",
|
|
41
|
+
/** A code is invalid or incomplete. */
|
|
42
|
+
InvalidCode = "invalid-code",
|
|
43
|
+
/** An entity reference has an unsupported representation. */
|
|
44
|
+
InvalidEntityReference = "invalid-entity-reference",
|
|
45
|
+
/** A relationship query returned malformed instance data. */
|
|
46
|
+
InvalidRelationshipData = "invalid-relationship-data",
|
|
47
|
+
/** A model identifier is invalid or missing. */
|
|
48
|
+
InvalidModelId = "invalid-model-id",
|
|
49
|
+
/** A subcategory is invalid or incomplete. */
|
|
50
|
+
InvalidSubCategory = "invalid-subcategory",
|
|
51
|
+
/** The source iModel has no changesets or custom changes. */
|
|
52
|
+
NoChangesets = "no-changesets",
|
|
53
|
+
/** A required parent model was not provided. */
|
|
54
|
+
ParentModelRequired = "parent-model-required",
|
|
55
|
+
/** A provenance scope conflicts with existing provenance. */
|
|
56
|
+
ProvenanceScopeConflict = "provenance-scope-conflict",
|
|
57
|
+
/** The BisCore schema does not support required provenance data. */
|
|
58
|
+
ProvenanceSchemaUnsupported = "provenance-schema-unsupported",
|
|
59
|
+
/** A required relationship class is absent. */
|
|
60
|
+
RelationshipClassNotFound = "relationship-class-not-found",
|
|
61
|
+
/** A required relationship identifier was not provided. */
|
|
62
|
+
RelationshipIdRequired = "relationship-id-required",
|
|
63
|
+
/** Expected relationship provenance is absent. */
|
|
64
|
+
RelationshipProvenanceNotFound = "relationship-provenance-not-found",
|
|
65
|
+
/** The root subject cannot be processed directly. */
|
|
66
|
+
RootSubjectNotProcessable = "root-subject-not-processable",
|
|
67
|
+
/** A schema conflict or incompatible schema version prevented processing. */
|
|
68
|
+
SchemaConflict = "schema-conflict",
|
|
69
|
+
/** The source schema dependency graph contains a cycle. */
|
|
70
|
+
SchemaDependencyCycle = "schema-dependency-cycle",
|
|
71
|
+
/** A required schema could not be loaded. */
|
|
72
|
+
SchemaLoadFailed = "schema-load-failed",
|
|
73
|
+
/** Reverse synchronization requires a source edit transaction. */
|
|
74
|
+
SourceEditTxnRequired = "source-edit-txn-required",
|
|
75
|
+
/** The requested synchronization range is invalid. */
|
|
76
|
+
SynchronizationRangeInvalid = "synchronization-range-invalid",
|
|
77
|
+
/** The synchronization direction cannot be determined. */
|
|
78
|
+
SynchronizationTypeNotDetermined = "synchronization-type-not-determined",
|
|
79
|
+
/** The previous synchronization version is missing. */
|
|
80
|
+
SynchronizationVersionMissing = "synchronization-version-missing",
|
|
81
|
+
/** A required class is absent from the target iModel. */
|
|
82
|
+
TargetClassNotFound = "target-class-not-found"
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=IModelTransformerError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelTransformerError.d.ts","sourceRoot":"","sources":["../../src/IModelTransformerError.ts"],"names":[],"mappings":"AAKA;;GAEG;AAEH,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAEvE;;GAEG;AACH,oBAAY,sBAAsB;IAChC,sEAAsE;IACtE,mBAAmB,0BAA0B;IAC7C,qDAAqD;IACrD,8BAA8B,sCAAsC;IACpE,iDAAiD;IACjD,yBAAyB,gCAAgC;IACzD,oFAAoF;IACpF,iBAAiB,uBAAuB;IACxC,mDAAmD;IACnD,wBAAwB,+BAA+B;IACvD,iEAAiE;IACjE,yBAAyB,gCAAgC;IACzD,iDAAiD;IACjD,gBAAgB,wBAAwB;IACxC,2EAA2E;IAC3E,uBAAuB,+BAA+B;IACtD,+DAA+D;IAC/D,uBAAuB,+BAA+B;IACtD,sDAAsD;IACtD,iBAAiB,wBAAwB;IACzC,qDAAqD;IACrD,8BAA8B,sCAAsC;IACpE,6CAA6C;IAC7C,0BAA0B,kCAAkC;IAC5D,8DAA8D;IAC9D,qCAAqC,6CAA6C;IAClF,wEAAwE;IACxE,kCAAkC,0CAA0C;IAC5E,uFAAuF;IACvF,sBAAsB,4BAA4B;IAClD,sEAAsE;IACtE,sBAAsB,6BAA6B;IACnD,uCAAuC;IACvC,WAAW,iBAAiB;IAC5B,6DAA6D;IAC7D,sBAAsB,6BAA6B;IACnD,6DAA6D;IAC7D,uBAAuB,8BAA8B;IACrD,gDAAgD;IAChD,cAAc,qBAAqB;IACnC,8CAA8C;IAC9C,kBAAkB,wBAAwB;IAC1C,6DAA6D;IAC7D,YAAY,kBAAkB;IAC9B,gDAAgD;IAChD,mBAAmB,0BAA0B;IAC7C,6DAA6D;IAC7D,uBAAuB,8BAA8B;IACrD,oEAAoE;IACpE,2BAA2B,kCAAkC;IAC7D,+CAA+C;IAC/C,yBAAyB,iCAAiC;IAC1D,2DAA2D;IAC3D,sBAAsB,6BAA6B;IACnD,kDAAkD;IAClD,8BAA8B,sCAAsC;IACpE,qDAAqD;IACrD,yBAAyB,iCAAiC;IAC1D,6EAA6E;IAC7E,cAAc,oBAAoB;IAClC,2DAA2D;IAC3D,qBAAqB,4BAA4B;IACjD,6CAA6C;IAC7C,gBAAgB,uBAAuB;IACvC,kEAAkE;IAClE,qBAAqB,6BAA6B;IAClD,sDAAsD;IACtD,2BAA2B,kCAAkC;IAC7D,0DAA0D;IAC1D,gCAAgC,wCAAwC;IACxE,uDAAuD;IACvD,6BAA6B,oCAAoC;IACjE,yDAAyD;IACzD,mBAAmB,2BAA2B;CAC/C"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.IModelTransformerError = exports.IModelTransformerErrorScope = void 0;
|
|
8
|
+
/** Scope shared by errors originating from `@itwin/imodel-transformer`.
|
|
9
|
+
* @beta
|
|
10
|
+
*/
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
12
|
+
exports.IModelTransformerErrorScope = "@itwin/imodel-transformer";
|
|
13
|
+
/** Errors originating from `@itwin/imodel-transformer`.
|
|
14
|
+
* @beta
|
|
15
|
+
*/
|
|
16
|
+
var IModelTransformerError;
|
|
17
|
+
(function (IModelTransformerError) {
|
|
18
|
+
/** An ElementAspect change requires its owning element identifier. */
|
|
19
|
+
IModelTransformerError["AspectOwnerRequired"] = "aspect-owner-required";
|
|
20
|
+
/** Required changed-instance metadata is missing. */
|
|
21
|
+
IModelTransformerError["ChangedInstanceMetadataMissing"] = "changed-instance-metadata-missing";
|
|
22
|
+
/** A required changeset index is unavailable. */
|
|
23
|
+
IModelTransformerError["ChangesetIndexUnavailable"] = "changeset-index-unavailable";
|
|
24
|
+
/** A source entity contains a dangling reference rejected by transformer policy. */
|
|
25
|
+
IModelTransformerError["DanglingReference"] = "dangling-reference";
|
|
26
|
+
/** A required dependency has no target mapping. */
|
|
27
|
+
IModelTransformerError["DependencyMappingMissing"] = "dependency-mapping-missing";
|
|
28
|
+
/** The installed iTwin.js dependency version is incompatible. */
|
|
29
|
+
IModelTransformerError["DependencyVersionMismatch"] = "dependency-version-mismatch";
|
|
30
|
+
/** A required edit transaction is not active. */
|
|
31
|
+
IModelTransformerError["EditTxnNotActive"] = "edit-txn-not-active";
|
|
32
|
+
/** Native bulk deletion failed for one or more requested element trees. */
|
|
33
|
+
IModelTransformerError["ElementBulkDeleteFailed"] = "element-bulk-delete-failed";
|
|
34
|
+
/** An element identifier cannot be preserved in the target. */
|
|
35
|
+
IModelTransformerError["ElementIdNotPreservable"] = "element-id-not-preservable";
|
|
36
|
+
/** A required element identifier was not provided. */
|
|
37
|
+
IModelTransformerError["ElementIdRequired"] = "element-id-required";
|
|
38
|
+
/** Exporting changes requires a briefcase iModel. */
|
|
39
|
+
IModelTransformerError["ExportChangesRequiresBriefcase"] = "export-changes-requires-briefcase";
|
|
40
|
+
/** No export handler has been registered. */
|
|
41
|
+
IModelTransformerError["ExportHandlerNotRegistered"] = "export-handler-not-registered";
|
|
42
|
+
/** A required geographic coordinate system is unavailable. */
|
|
43
|
+
IModelTransformerError["GeographicCoordinateSystemUnavailable"] = "geographic-coordinate-system-unavailable";
|
|
44
|
+
/** Source and target geographic coordinate systems are incompatible. */
|
|
45
|
+
IModelTransformerError["GeographicCoordinateSystemMismatch"] = "geographic-coordinate-system-mismatch";
|
|
46
|
+
/** Required geolocation data or an invertible geolocation transform is unavailable. */
|
|
47
|
+
IModelTransformerError["GeolocationUnavailable"] = "geolocation-unavailable";
|
|
48
|
+
/** A custom importer option conflicts with the transformer option. */
|
|
49
|
+
IModelTransformerError["ImporterOptionMismatch"] = "importer-option-mismatch";
|
|
50
|
+
/** A code is invalid or incomplete. */
|
|
51
|
+
IModelTransformerError["InvalidCode"] = "invalid-code";
|
|
52
|
+
/** An entity reference has an unsupported representation. */
|
|
53
|
+
IModelTransformerError["InvalidEntityReference"] = "invalid-entity-reference";
|
|
54
|
+
/** A relationship query returned malformed instance data. */
|
|
55
|
+
IModelTransformerError["InvalidRelationshipData"] = "invalid-relationship-data";
|
|
56
|
+
/** A model identifier is invalid or missing. */
|
|
57
|
+
IModelTransformerError["InvalidModelId"] = "invalid-model-id";
|
|
58
|
+
/** A subcategory is invalid or incomplete. */
|
|
59
|
+
IModelTransformerError["InvalidSubCategory"] = "invalid-subcategory";
|
|
60
|
+
/** The source iModel has no changesets or custom changes. */
|
|
61
|
+
IModelTransformerError["NoChangesets"] = "no-changesets";
|
|
62
|
+
/** A required parent model was not provided. */
|
|
63
|
+
IModelTransformerError["ParentModelRequired"] = "parent-model-required";
|
|
64
|
+
/** A provenance scope conflicts with existing provenance. */
|
|
65
|
+
IModelTransformerError["ProvenanceScopeConflict"] = "provenance-scope-conflict";
|
|
66
|
+
/** The BisCore schema does not support required provenance data. */
|
|
67
|
+
IModelTransformerError["ProvenanceSchemaUnsupported"] = "provenance-schema-unsupported";
|
|
68
|
+
/** A required relationship class is absent. */
|
|
69
|
+
IModelTransformerError["RelationshipClassNotFound"] = "relationship-class-not-found";
|
|
70
|
+
/** A required relationship identifier was not provided. */
|
|
71
|
+
IModelTransformerError["RelationshipIdRequired"] = "relationship-id-required";
|
|
72
|
+
/** Expected relationship provenance is absent. */
|
|
73
|
+
IModelTransformerError["RelationshipProvenanceNotFound"] = "relationship-provenance-not-found";
|
|
74
|
+
/** The root subject cannot be processed directly. */
|
|
75
|
+
IModelTransformerError["RootSubjectNotProcessable"] = "root-subject-not-processable";
|
|
76
|
+
/** A schema conflict or incompatible schema version prevented processing. */
|
|
77
|
+
IModelTransformerError["SchemaConflict"] = "schema-conflict";
|
|
78
|
+
/** The source schema dependency graph contains a cycle. */
|
|
79
|
+
IModelTransformerError["SchemaDependencyCycle"] = "schema-dependency-cycle";
|
|
80
|
+
/** A required schema could not be loaded. */
|
|
81
|
+
IModelTransformerError["SchemaLoadFailed"] = "schema-load-failed";
|
|
82
|
+
/** Reverse synchronization requires a source edit transaction. */
|
|
83
|
+
IModelTransformerError["SourceEditTxnRequired"] = "source-edit-txn-required";
|
|
84
|
+
/** The requested synchronization range is invalid. */
|
|
85
|
+
IModelTransformerError["SynchronizationRangeInvalid"] = "synchronization-range-invalid";
|
|
86
|
+
/** The synchronization direction cannot be determined. */
|
|
87
|
+
IModelTransformerError["SynchronizationTypeNotDetermined"] = "synchronization-type-not-determined";
|
|
88
|
+
/** The previous synchronization version is missing. */
|
|
89
|
+
IModelTransformerError["SynchronizationVersionMissing"] = "synchronization-version-missing";
|
|
90
|
+
/** A required class is absent from the target iModel. */
|
|
91
|
+
IModelTransformerError["TargetClassNotFound"] = "target-class-not-found";
|
|
92
|
+
})(IModelTransformerError || (exports.IModelTransformerError = IModelTransformerError = {}));
|
|
93
|
+
//# sourceMappingURL=IModelTransformerError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IModelTransformerError.js","sourceRoot":"","sources":["../../src/IModelTransformerError.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG;;GAEG;AACH,gEAAgE;AACnD,QAAA,2BAA2B,GAAG,2BAA2B,CAAC;AAEvE;;GAEG;AACH,IAAY,sBA2EX;AA3ED,WAAY,sBAAsB;IAChC,sEAAsE;IACtE,uEAA6C,CAAA;IAC7C,qDAAqD;IACrD,8FAAoE,CAAA;IACpE,iDAAiD;IACjD,mFAAyD,CAAA;IACzD,oFAAoF;IACpF,kEAAwC,CAAA;IACxC,mDAAmD;IACnD,iFAAuD,CAAA;IACvD,iEAAiE;IACjE,mFAAyD,CAAA;IACzD,iDAAiD;IACjD,kEAAwC,CAAA;IACxC,2EAA2E;IAC3E,gFAAsD,CAAA;IACtD,+DAA+D;IAC/D,gFAAsD,CAAA;IACtD,sDAAsD;IACtD,mEAAyC,CAAA;IACzC,qDAAqD;IACrD,8FAAoE,CAAA;IACpE,6CAA6C;IAC7C,sFAA4D,CAAA;IAC5D,8DAA8D;IAC9D,4GAAkF,CAAA;IAClF,wEAAwE;IACxE,sGAA4E,CAAA;IAC5E,uFAAuF;IACvF,4EAAkD,CAAA;IAClD,sEAAsE;IACtE,6EAAmD,CAAA;IACnD,uCAAuC;IACvC,sDAA4B,CAAA;IAC5B,6DAA6D;IAC7D,6EAAmD,CAAA;IACnD,6DAA6D;IAC7D,+EAAqD,CAAA;IACrD,gDAAgD;IAChD,6DAAmC,CAAA;IACnC,8CAA8C;IAC9C,oEAA0C,CAAA;IAC1C,6DAA6D;IAC7D,wDAA8B,CAAA;IAC9B,gDAAgD;IAChD,uEAA6C,CAAA;IAC7C,6DAA6D;IAC7D,+EAAqD,CAAA;IACrD,oEAAoE;IACpE,uFAA6D,CAAA;IAC7D,+CAA+C;IAC/C,oFAA0D,CAAA;IAC1D,2DAA2D;IAC3D,6EAAmD,CAAA;IACnD,kDAAkD;IAClD,8FAAoE,CAAA;IACpE,qDAAqD;IACrD,oFAA0D,CAAA;IAC1D,6EAA6E;IAC7E,4DAAkC,CAAA;IAClC,2DAA2D;IAC3D,2EAAiD,CAAA;IACjD,6CAA6C;IAC7C,iEAAuC,CAAA;IACvC,kEAAkE;IAClE,4EAAkD,CAAA;IAClD,sDAAsD;IACtD,uFAA6D,CAAA;IAC7D,0DAA0D;IAC1D,kGAAwE,CAAA;IACxE,uDAAuD;IACvD,2FAAiE,CAAA;IACjE,yDAAyD;IACzD,wEAA8C,CAAA;AAChD,CAAC,EA3EW,sBAAsB,aAAtB,sBAAsB,GAAtB,sBAAsB,QA2EjC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\n/** Scope shared by errors originating from `@itwin/imodel-transformer`.\n * @beta\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const IModelTransformerErrorScope = \"@itwin/imodel-transformer\";\n\n/** Errors originating from `@itwin/imodel-transformer`.\n * @beta\n */\nexport enum IModelTransformerError {\n /** An ElementAspect change requires its owning element identifier. */\n AspectOwnerRequired = \"aspect-owner-required\",\n /** Required changed-instance metadata is missing. */\n ChangedInstanceMetadataMissing = \"changed-instance-metadata-missing\",\n /** A required changeset index is unavailable. */\n ChangesetIndexUnavailable = \"changeset-index-unavailable\",\n /** A source entity contains a dangling reference rejected by transformer policy. */\n DanglingReference = \"dangling-reference\",\n /** A required dependency has no target mapping. */\n DependencyMappingMissing = \"dependency-mapping-missing\",\n /** The installed iTwin.js dependency version is incompatible. */\n DependencyVersionMismatch = \"dependency-version-mismatch\",\n /** A required edit transaction is not active. */\n EditTxnNotActive = \"edit-txn-not-active\",\n /** Native bulk deletion failed for one or more requested element trees. */\n ElementBulkDeleteFailed = \"element-bulk-delete-failed\",\n /** An element identifier cannot be preserved in the target. */\n ElementIdNotPreservable = \"element-id-not-preservable\",\n /** A required element identifier was not provided. */\n ElementIdRequired = \"element-id-required\",\n /** Exporting changes requires a briefcase iModel. */\n ExportChangesRequiresBriefcase = \"export-changes-requires-briefcase\",\n /** No export handler has been registered. */\n ExportHandlerNotRegistered = \"export-handler-not-registered\",\n /** A required geographic coordinate system is unavailable. */\n GeographicCoordinateSystemUnavailable = \"geographic-coordinate-system-unavailable\",\n /** Source and target geographic coordinate systems are incompatible. */\n GeographicCoordinateSystemMismatch = \"geographic-coordinate-system-mismatch\",\n /** Required geolocation data or an invertible geolocation transform is unavailable. */\n GeolocationUnavailable = \"geolocation-unavailable\",\n /** A custom importer option conflicts with the transformer option. */\n ImporterOptionMismatch = \"importer-option-mismatch\",\n /** A code is invalid or incomplete. */\n InvalidCode = \"invalid-code\",\n /** An entity reference has an unsupported representation. */\n InvalidEntityReference = \"invalid-entity-reference\",\n /** A relationship query returned malformed instance data. */\n InvalidRelationshipData = \"invalid-relationship-data\",\n /** A model identifier is invalid or missing. */\n InvalidModelId = \"invalid-model-id\",\n /** A subcategory is invalid or incomplete. */\n InvalidSubCategory = \"invalid-subcategory\",\n /** The source iModel has no changesets or custom changes. */\n NoChangesets = \"no-changesets\",\n /** A required parent model was not provided. */\n ParentModelRequired = \"parent-model-required\",\n /** A provenance scope conflicts with existing provenance. */\n ProvenanceScopeConflict = \"provenance-scope-conflict\",\n /** The BisCore schema does not support required provenance data. */\n ProvenanceSchemaUnsupported = \"provenance-schema-unsupported\",\n /** A required relationship class is absent. */\n RelationshipClassNotFound = \"relationship-class-not-found\",\n /** A required relationship identifier was not provided. */\n RelationshipIdRequired = \"relationship-id-required\",\n /** Expected relationship provenance is absent. */\n RelationshipProvenanceNotFound = \"relationship-provenance-not-found\",\n /** The root subject cannot be processed directly. */\n RootSubjectNotProcessable = \"root-subject-not-processable\",\n /** A schema conflict or incompatible schema version prevented processing. */\n SchemaConflict = \"schema-conflict\",\n /** The source schema dependency graph contains a cycle. */\n SchemaDependencyCycle = \"schema-dependency-cycle\",\n /** A required schema could not be loaded. */\n SchemaLoadFailed = \"schema-load-failed\",\n /** Reverse synchronization requires a source edit transaction. */\n SourceEditTxnRequired = \"source-edit-txn-required\",\n /** The requested synchronization range is invalid. */\n SynchronizationRangeInvalid = \"synchronization-range-invalid\",\n /** The synchronization direction cannot be determined. */\n SynchronizationTypeNotDetermined = \"synchronization-type-not-determined\",\n /** The previous synchronization version is missing. */\n SynchronizationVersionMissing = \"synchronization-version-missing\",\n /** A required class is absent from the target iModel. */\n TargetClassNotFound = \"target-class-not-found\",\n}\n"]}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { Id64String } from "@itwin/core-bentley";
|
|
2
|
+
import { EditTxn, type Entity, ExternalSourceAspect, IModelDb } from "@itwin/core-backend";
|
|
3
|
+
import { ChangesetIndexAndId, ExternalSourceAspectProps } from "@itwin/core-common";
|
|
4
|
+
import type { IModelTransformOptions } from "./IModelTransformer";
|
|
5
|
+
import type { SyncTypeResolver } from "./SyncTypeResolver";
|
|
6
|
+
import type { IModelTransformContext } from "./IModelTransformContext";
|
|
7
|
+
type ProvenanceContext = Pick<IModelTransformContext, "findTargetElementId"> & {
|
|
8
|
+
readonly sourceDb: IModelDb;
|
|
9
|
+
readonly targetDb: IModelDb;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Manages provenance scope aspects and synchronization versioning.
|
|
13
|
+
* Encapsulates all ESA scope management, sync version tracking, and
|
|
14
|
+
* provenance DB direction logic extracted from IModelTransformer.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare class ProvenanceManager {
|
|
18
|
+
private readonly _context;
|
|
19
|
+
private readonly _targetScopeElementId;
|
|
20
|
+
private readonly _transformerOptions;
|
|
21
|
+
private readonly _syncTypeResolver;
|
|
22
|
+
private readonly _startingChangesetIndices?;
|
|
23
|
+
/** NOTE: the json properties must be converted to string before insertion */
|
|
24
|
+
private _targetScopeProvenanceProps;
|
|
25
|
+
private _cachedSynchronizationVersion;
|
|
26
|
+
private _targetClassNameToClassIdCache;
|
|
27
|
+
private readonly _targetEditTxn;
|
|
28
|
+
private readonly _sourceEditTxn?;
|
|
29
|
+
constructor(targetScopeElementId: Id64String, transformerOptions: IModelTransformOptions, context: ProvenanceContext, syncTypeResolver: SyncTypeResolver, targetEditTxn: EditTxn, sourceEditTxn?: EditTxn);
|
|
30
|
+
private _isReverseSynchronization;
|
|
31
|
+
private _queryTargetRelId;
|
|
32
|
+
private _targetClassNameToClassId;
|
|
33
|
+
private _getRelClassId;
|
|
34
|
+
/** The element classes that are considered to define provenance in the iModel */
|
|
35
|
+
static get provenanceElementClasses(): (typeof Entity)[];
|
|
36
|
+
/** The element aspect classes that are considered to define provenance in the iModel */
|
|
37
|
+
static get provenanceElementAspectClasses(): (typeof Entity)[];
|
|
38
|
+
/**
|
|
39
|
+
* Iterate all matching federation guids and ExternalSourceAspects in the provenance iModel (target unless reverse sync)
|
|
40
|
+
* and call a function for each one.
|
|
41
|
+
* @note provenance is done by federation guids where possible
|
|
42
|
+
* @note this may execute on each element more than once! Only use in cases where that is handled
|
|
43
|
+
*/
|
|
44
|
+
static forEachTrackedElement(args: {
|
|
45
|
+
provenanceSourceDb: IModelDb;
|
|
46
|
+
provenanceDb: IModelDb;
|
|
47
|
+
targetScopeElementId: Id64String;
|
|
48
|
+
isReverseSynchronization: boolean;
|
|
49
|
+
fn: (sourceElementId: Id64String, targetElementId: Id64String) => void;
|
|
50
|
+
skipPropagateChangesToRootElements: boolean;
|
|
51
|
+
}): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Queries for an ESA which matches the props in the provided aspectProps.
|
|
54
|
+
* @param dbToQuery db to run the query on
|
|
55
|
+
* @param aspectProps aspectProps to search for
|
|
56
|
+
*/
|
|
57
|
+
static queryScopeExternalSourceAspect(dbToQuery: IModelDb, aspectProps: ExternalSourceAspectProps): Promise<{
|
|
58
|
+
aspectId: Id64String;
|
|
59
|
+
version?: string;
|
|
60
|
+
/** stringified json */
|
|
61
|
+
jsonProperties?: string;
|
|
62
|
+
} | undefined>;
|
|
63
|
+
/** Return the IModelDb where provenance is stored (for reads/queries).
|
|
64
|
+
* This will be targetDb except when it is a reverse synchronization, in which case it will be sourceDb.
|
|
65
|
+
*/
|
|
66
|
+
private getProvenanceDb;
|
|
67
|
+
/** Return the EditTxn for writing provenance.
|
|
68
|
+
* This will be targetEditTxn except when it is a reverse synchronization, in which case it will be sourceEditTxn.
|
|
69
|
+
*/
|
|
70
|
+
getProvenanceEditTxn(): Promise<EditTxn>;
|
|
71
|
+
/** Return the IModelDb where entities referred to by stored provenance live.
|
|
72
|
+
* This will be sourceDb except when it is a reverse synchronization, in which case it will be targetDb.
|
|
73
|
+
*/
|
|
74
|
+
getProvenanceSourceDb(): Promise<IModelDb>;
|
|
75
|
+
/**
|
|
76
|
+
* @returns provenance scope aspect if it exists in the provenanceDb.
|
|
77
|
+
* Provenance scope aspect is created and inserted into provenanceDb when [[initScopeProvenance]] is invoked.
|
|
78
|
+
*/
|
|
79
|
+
tryGetProvenanceScopeAspect(): Promise<ExternalSourceAspect | undefined>;
|
|
80
|
+
/**
|
|
81
|
+
* Make sure there are no conflicting other scope-type external source aspects on the target scope element.
|
|
82
|
+
* If there are none at all, insert one (this must be a first synchronization).
|
|
83
|
+
*/
|
|
84
|
+
initScopeProvenance(): Promise<void>;
|
|
85
|
+
/** Returns true if a change was made to the aspectProps. */
|
|
86
|
+
private handleUnsafeMigrate;
|
|
87
|
+
/**
|
|
88
|
+
* We cache the synchronization version to avoid querying the target scoping ESA multiple times.
|
|
89
|
+
* Clears the cached value so the next call to getSynchronizationVersion re-queries.
|
|
90
|
+
*/
|
|
91
|
+
clearCachedSynchronizationVersion(): void;
|
|
92
|
+
/** The changeset version in the scoping element's source version found for this transformation.
|
|
93
|
+
* @note the version depends on whether this is a reverse synchronization or not.
|
|
94
|
+
* @note empty string and -1 for changeset and index if it has never been transformed.
|
|
95
|
+
*/
|
|
96
|
+
getSynchronizationVersion(): Promise<ChangesetIndexAndId>;
|
|
97
|
+
/**
|
|
98
|
+
* Returns the pending changeset indices to skip for the current synchronization direction.
|
|
99
|
+
* Used by changeset initialization to determine which changesets have already been processed.
|
|
100
|
+
*/
|
|
101
|
+
getChangesetsToSkip(): Promise<number[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Updates the synchronization version on the scope ESA.
|
|
104
|
+
*
|
|
105
|
+
* Called at the end of a transformation, updates the target scope element to record
|
|
106
|
+
* that transformation up through the source's changeset has been performed. Also stores
|
|
107
|
+
* all changesets that occurred during the transformation as "pending synchronization
|
|
108
|
+
* changeset indices" @see TargetScopeProvenanceJsonProps
|
|
109
|
+
*
|
|
110
|
+
* @param initializeReverseSyncVersion When true, saves the reverse sync version as the
|
|
111
|
+
* current changeset of the targetDb. This is typically used for the first transformation
|
|
112
|
+
* between a master and branch iModel. Setting this to true has the effect of making it so
|
|
113
|
+
* any changesets in the branch iModel at the time of the first transformation will be
|
|
114
|
+
* ignored during any future reverse synchronizations from the branch to the master iModel.
|
|
115
|
+
*
|
|
116
|
+
* Note that typically, the reverseSyncVersion is saved as the last changeset merged from
|
|
117
|
+
* the branch into master. Setting initializeReverseSyncVersion to true during a forward
|
|
118
|
+
* transformation could overwrite this correct reverseSyncVersion and should only be done
|
|
119
|
+
* during the first transformation between a master and branch iModel.
|
|
120
|
+
*
|
|
121
|
+
* @param sourceChangeDataState The current state of change data — used to skip updates
|
|
122
|
+
* when there are no changes.
|
|
123
|
+
*/
|
|
124
|
+
updateSynchronizationVersion({ initializeReverseSyncVersion, sourceChangeDataState, }: {
|
|
125
|
+
initializeReverseSyncVersion?: boolean;
|
|
126
|
+
sourceChangeDataState: "uninited" | "has-changes" | "no-changes" | "unconnected";
|
|
127
|
+
}): Promise<void>;
|
|
128
|
+
/** Create ExternalSourceAspectProps for an element in an iModel → iModel transformation. */
|
|
129
|
+
static initElementProvenanceOptions(sourceElementId: Id64String, targetElementId: Id64String, args: {
|
|
130
|
+
sourceDb: IModelDb;
|
|
131
|
+
targetDb: IModelDb;
|
|
132
|
+
isReverseSynchronization: boolean;
|
|
133
|
+
targetScopeElementId: Id64String;
|
|
134
|
+
}): ExternalSourceAspectProps;
|
|
135
|
+
/** Create ExternalSourceAspectProps for a relationship in an iModel → iModel transformation. */
|
|
136
|
+
static initRelationshipProvenanceOptions(sourceRelInstanceId: Id64String, targetRelInstanceId: Id64String, args: {
|
|
137
|
+
sourceDb: IModelDb;
|
|
138
|
+
targetDb: IModelDb;
|
|
139
|
+
isReverseSynchronization: boolean;
|
|
140
|
+
targetScopeElementId: Id64String;
|
|
141
|
+
forceOldRelationshipProvenanceMethod: boolean;
|
|
142
|
+
/** Already-known source-endpoint element ids of the relationships, used to skip the
|
|
143
|
+
* per-relationship endpoint query when the caller knows the needed id.
|
|
144
|
+
*/
|
|
145
|
+
knownEndpoints?: {
|
|
146
|
+
/** `SourceECInstanceId` of the relationship identified by `sourceRelInstanceId` in `sourceDb`. */
|
|
147
|
+
sourceRelSourceElementId?: Id64String;
|
|
148
|
+
/** `SourceECInstanceId` of the relationship identified by `targetRelInstanceId` in `targetDb`. */
|
|
149
|
+
targetRelSourceElementId?: Id64String;
|
|
150
|
+
};
|
|
151
|
+
}): Promise<ExternalSourceAspectProps>;
|
|
152
|
+
/** Create an ExternalSourceAspectProps for an element using this manager's context. */
|
|
153
|
+
initElementProvenance(sourceElementId: Id64String, targetElementId: Id64String): Promise<ExternalSourceAspectProps>;
|
|
154
|
+
/** Create an ExternalSourceAspectProps for a relationship using this manager's context. */
|
|
155
|
+
initRelationshipProvenance(sourceRelInstanceId: Id64String, targetRelInstanceId: Id64String, forceOldRelationshipProvenanceMethod: boolean, knownEndpoints?: {
|
|
156
|
+
sourceRelSourceElementId?: Id64String;
|
|
157
|
+
targetRelSourceElementId?: Id64String;
|
|
158
|
+
}): Promise<ExternalSourceAspectProps>;
|
|
159
|
+
/**
|
|
160
|
+
* Queries the provenanceDb for an ESA whose identifier matches the provided element ID.
|
|
161
|
+
* @param entityInProvenanceSourceId ID of the element in the provenanceSourceDb
|
|
162
|
+
*/
|
|
163
|
+
queryProvenanceForElement(entityInProvenanceSourceId: Id64String): Promise<Id64String | undefined>;
|
|
164
|
+
/**
|
|
165
|
+
* Queries the provenanceDb for an ESA whose identifier matches the provided relationship ID.
|
|
166
|
+
* @param entityInProvenanceSourceId ID of the relationship in the provenanceSourceDb
|
|
167
|
+
* @param sourceRelInfo Source relationship class and endpoint info (for legacy fallback)
|
|
168
|
+
*/
|
|
169
|
+
queryProvenanceForRelationship(entityInProvenanceSourceId: Id64String, sourceRelInfo: {
|
|
170
|
+
classFullName: string;
|
|
171
|
+
sourceId: Id64String;
|
|
172
|
+
targetId: Id64String;
|
|
173
|
+
}): Promise<{
|
|
174
|
+
aspectId: Id64String;
|
|
175
|
+
/** if undefined, the relationship could not be found, perhaps it was deleted */
|
|
176
|
+
relationshipId: Id64String | undefined;
|
|
177
|
+
} | undefined>;
|
|
178
|
+
/** Instance convenience that calls the static forEachTrackedElement with this manager's context. */
|
|
179
|
+
forEachTrackedElement(fn: (sourceElementId: Id64String, targetElementId: Id64String) => void): Promise<void>;
|
|
180
|
+
}
|
|
181
|
+
export {};
|
|
182
|
+
//# sourceMappingURL=ProvenanceManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProvenanceManager.d.ts","sourceRoot":"","sources":["../../src/ProvenanceManager.ts"],"names":[],"mappings":"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"}
|