@itwin/core-backend 3.4.4 → 3.4.6

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.
Files changed (226) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/AliCloudStorageService.d.ts +23 -23
  3. package/lib/cjs/AliCloudStorageService.js +71 -71
  4. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  5. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +91 -91
  9. package/lib/cjs/BackendLoggerCategory.js +99 -99
  10. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  11. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  12. package/lib/cjs/BisCoreSchema.js +60 -60
  13. package/lib/cjs/BisCoreSchema.js.map +1 -1
  14. package/lib/cjs/BriefcaseManager.d.ts +165 -165
  15. package/lib/cjs/BriefcaseManager.js +405 -405
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.d.ts +153 -153
  18. package/lib/cjs/Category.js +243 -243
  19. package/lib/cjs/Category.js.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  21. package/lib/cjs/ChangeSummaryManager.js +445 -445
  22. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  23. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  24. package/lib/cjs/ChangedElementsDb.js +165 -165
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  27. package/lib/cjs/ChangedElementsManager.js +88 -88
  28. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  29. package/lib/cjs/CheckpointManager.d.ts +120 -120
  30. package/lib/cjs/CheckpointManager.js +343 -343
  31. package/lib/cjs/CheckpointManager.js.map +1 -1
  32. package/lib/cjs/ClassRegistry.d.ts +79 -79
  33. package/lib/cjs/ClassRegistry.js +249 -249
  34. package/lib/cjs/ClassRegistry.js.map +1 -1
  35. package/lib/cjs/CloudSqlite.d.ts +349 -349
  36. package/lib/cjs/CloudSqlite.js +151 -151
  37. package/lib/cjs/CloudSqlite.js.map +1 -1
  38. package/lib/cjs/CloudStorageBackend.d.ts +58 -58
  39. package/lib/cjs/CloudStorageBackend.js +173 -173
  40. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  41. package/lib/cjs/CodeService.d.ts +396 -396
  42. package/lib/cjs/CodeService.js +63 -63
  43. package/lib/cjs/CodeService.js.map +1 -1
  44. package/lib/cjs/CodeSpecs.d.ts +50 -50
  45. package/lib/cjs/CodeSpecs.js +112 -112
  46. package/lib/cjs/CodeSpecs.js.map +1 -1
  47. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  48. package/lib/cjs/ConcurrentQuery.js +30 -30
  49. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  50. package/lib/cjs/CustomViewState3dCreator.d.ts +21 -21
  51. package/lib/cjs/CustomViewState3dCreator.js +81 -81
  52. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  53. package/lib/cjs/DevTools.d.ts +71 -71
  54. package/lib/cjs/DevTools.js +154 -154
  55. package/lib/cjs/DevTools.js.map +1 -1
  56. package/lib/cjs/DisplayStyle.d.ts +106 -106
  57. package/lib/cjs/DisplayStyle.js +256 -256
  58. package/lib/cjs/DisplayStyle.js.map +1 -1
  59. package/lib/cjs/ECDb.d.ts +191 -191
  60. package/lib/cjs/ECDb.js +350 -350
  61. package/lib/cjs/ECDb.js.map +1 -1
  62. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  63. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  64. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  65. package/lib/cjs/ECSqlStatement.d.ts +466 -466
  66. package/lib/cjs/ECSqlStatement.js +791 -791
  67. package/lib/cjs/ECSqlStatement.js.map +1 -1
  68. package/lib/cjs/Element.d.ts +1120 -1120
  69. package/lib/cjs/Element.js +1438 -1438
  70. package/lib/cjs/Element.js.map +1 -1
  71. package/lib/cjs/ElementAspect.d.ts +161 -161
  72. package/lib/cjs/ElementAspect.js +187 -187
  73. package/lib/cjs/ElementAspect.js.map +1 -1
  74. package/lib/cjs/ElementGraphics.d.ts +9 -9
  75. package/lib/cjs/ElementGraphics.js +41 -41
  76. package/lib/cjs/ElementGraphics.js.map +1 -1
  77. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  78. package/lib/cjs/ElementTreeWalker.js +409 -409
  79. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  80. package/lib/cjs/Entity.d.ts +106 -106
  81. package/lib/cjs/Entity.js +134 -134
  82. package/lib/cjs/Entity.js.map +1 -1
  83. package/lib/cjs/EntityReferences.d.ts +45 -45
  84. package/lib/cjs/EntityReferences.js +91 -91
  85. package/lib/cjs/EntityReferences.js.map +1 -1
  86. package/lib/cjs/ExportGraphics.d.ts +317 -317
  87. package/lib/cjs/ExportGraphics.js +208 -208
  88. package/lib/cjs/ExportGraphics.js.map +1 -1
  89. package/lib/cjs/ExternalSource.d.ts +96 -96
  90. package/lib/cjs/ExternalSource.js +131 -131
  91. package/lib/cjs/ExternalSource.js.map +1 -1
  92. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  93. package/lib/cjs/GeoCoordConfig.js +82 -82
  94. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  95. package/lib/cjs/GeometrySummary.d.ts +4 -4
  96. package/lib/cjs/GeometrySummary.js +380 -380
  97. package/lib/cjs/GeometrySummary.js.map +1 -1
  98. package/lib/cjs/HubMock.d.ts +93 -93
  99. package/lib/cjs/HubMock.js +190 -190
  100. package/lib/cjs/HubMock.js.map +1 -1
  101. package/lib/cjs/IModelCloneContext.d.ts +89 -89
  102. package/lib/cjs/IModelCloneContext.js +159 -159
  103. package/lib/cjs/IModelCloneContext.js.map +1 -1
  104. package/lib/cjs/IModelDb.d.ts +1180 -1180
  105. package/lib/cjs/IModelDb.js +2371 -2371
  106. package/lib/cjs/IModelDb.js.map +1 -1
  107. package/lib/cjs/IModelHost.d.ts +361 -361
  108. package/lib/cjs/IModelHost.js +489 -489
  109. package/lib/cjs/IModelHost.js.map +1 -1
  110. package/lib/cjs/IModelJsFs.d.ts +62 -62
  111. package/lib/cjs/IModelJsFs.js +140 -140
  112. package/lib/cjs/IModelJsFs.js.map +1 -1
  113. package/lib/cjs/IpcHost.d.ts +98 -98
  114. package/lib/cjs/IpcHost.js +234 -234
  115. package/lib/cjs/IpcHost.js.map +1 -1
  116. package/lib/cjs/LineStyle.d.ts +311 -311
  117. package/lib/cjs/LineStyle.js +295 -295
  118. package/lib/cjs/LineStyle.js.map +1 -1
  119. package/lib/cjs/LocalHub.d.ts +162 -162
  120. package/lib/cjs/LocalHub.js +587 -587
  121. package/lib/cjs/LocalHub.js.map +1 -1
  122. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  123. package/lib/cjs/LocalhostIpcHost.js +81 -81
  124. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  125. package/lib/cjs/Material.d.ts +103 -103
  126. package/lib/cjs/Material.js +147 -147
  127. package/lib/cjs/Material.js.map +1 -1
  128. package/lib/cjs/Model.d.ts +392 -392
  129. package/lib/cjs/Model.js +485 -485
  130. package/lib/cjs/Model.js.map +1 -1
  131. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  132. package/lib/cjs/NativeAppStorage.js +202 -202
  133. package/lib/cjs/NativeAppStorage.js.map +1 -1
  134. package/lib/cjs/NativeHost.d.ts +52 -52
  135. package/lib/cjs/NativeHost.js +168 -168
  136. package/lib/cjs/NativeHost.js.map +1 -1
  137. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  138. package/lib/cjs/NavigationRelationship.js +225 -225
  139. package/lib/cjs/NavigationRelationship.js.map +1 -1
  140. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  141. package/lib/cjs/PromiseMemoizer.js +101 -101
  142. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  143. package/lib/cjs/PropertyStore.d.ts +132 -132
  144. package/lib/cjs/PropertyStore.js +11 -11
  145. package/lib/cjs/PropertyStore.js.map +1 -1
  146. package/lib/cjs/Relationship.d.ts +416 -416
  147. package/lib/cjs/Relationship.js +494 -494
  148. package/lib/cjs/Relationship.js.map +1 -1
  149. package/lib/cjs/RpcBackend.d.ts +28 -28
  150. package/lib/cjs/RpcBackend.js +126 -126
  151. package/lib/cjs/RpcBackend.js.map +1 -1
  152. package/lib/cjs/SQLiteDb.d.ts +219 -219
  153. package/lib/cjs/SQLiteDb.js +214 -214
  154. package/lib/cjs/SQLiteDb.js.map +1 -1
  155. package/lib/cjs/Schema.d.ts +55 -55
  156. package/lib/cjs/Schema.js +83 -83
  157. package/lib/cjs/Schema.js.map +1 -1
  158. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  159. package/lib/cjs/ServerBasedLocks.js +168 -168
  160. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  161. package/lib/cjs/SqliteStatement.d.ts +283 -283
  162. package/lib/cjs/SqliteStatement.js +448 -448
  163. package/lib/cjs/SqliteStatement.js.map +1 -1
  164. package/lib/cjs/Texture.d.ts +58 -58
  165. package/lib/cjs/Texture.js +82 -82
  166. package/lib/cjs/Texture.js.map +1 -1
  167. package/lib/cjs/TileStorage.d.ts +18 -18
  168. package/lib/cjs/TileStorage.js +90 -90
  169. package/lib/cjs/TileStorage.js.map +1 -1
  170. package/lib/cjs/TxnManager.d.ts +202 -202
  171. package/lib/cjs/TxnManager.js +356 -356
  172. package/lib/cjs/TxnManager.js.map +1 -1
  173. package/lib/cjs/ViewDefinition.d.ts +439 -439
  174. package/lib/cjs/ViewDefinition.js +646 -646
  175. package/lib/cjs/ViewDefinition.js.map +1 -1
  176. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  177. package/lib/cjs/ViewStateHydrator.js +103 -103
  178. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  179. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  180. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  181. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  182. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  183. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  184. package/lib/cjs/core-backend.d.ts +183 -183
  185. package/lib/cjs/core-backend.js +203 -203
  186. package/lib/cjs/core-backend.js.map +1 -1
  187. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  188. package/lib/cjs/domains/FunctionalElements.js +145 -145
  189. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  190. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  191. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  192. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  193. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  194. package/lib/cjs/domains/GenericElements.js +263 -263
  195. package/lib/cjs/domains/GenericElements.js.map +1 -1
  196. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  197. package/lib/cjs/domains/GenericSchema.js +28 -28
  198. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  199. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  200. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  201. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  202. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +46 -46
  203. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +287 -287
  204. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  205. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -22
  206. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +202 -202
  207. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  208. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  209. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -168
  210. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  211. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  212. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  213. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  214. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  215. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  216. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  217. package/lib/cjs/workspace/Settings.d.ts +186 -186
  218. package/lib/cjs/workspace/Settings.js +155 -155
  219. package/lib/cjs/workspace/Settings.js.map +1 -1
  220. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  221. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  222. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  223. package/lib/cjs/workspace/Workspace.d.ts +414 -414
  224. package/lib/cjs/workspace/Workspace.js +543 -543
  225. package/lib/cjs/workspace/Workspace.js.map +1 -1
  226. package/package.json +12 -12
@@ -1,188 +1,188 @@
1
- /** @packageDocumentation
2
- * @module iModels
3
- */
4
- import { AccessToken, GuidString, Id64String } from "@itwin/core-bentley";
5
- import { ChangedValueState, ChangeOpCode, ChangesetRange, IModelVersion } from "@itwin/core-common";
6
- import { BriefcaseDb, IModelDb, TokenArg } from "./IModelDb";
7
- /** Represents an instance of the `ChangeSummary` ECClass from the `ECDbChange` ECSchema
8
- * combined with the information from the related `Changeset` instance (from the `IModelChange` ECSchema) from
9
- * which the Change Summary was extracted.
10
- *
11
- * See also
12
- * - [ChangeSummaryManager.queryChangeSummary]($backend)
13
- * - [ChangeSummary Overview]($docs/learning/ChangeSummaries)
14
- * @beta
15
- */
16
- export interface ChangeSummary {
17
- id: Id64String;
18
- changeSet: {
19
- wsgId: GuidString;
20
- parentWsgId: GuidString;
21
- description: string;
22
- pushDate: string;
23
- userCreated: GuidString;
24
- };
25
- }
26
- /** Represents an instance of the `InstanceChange` ECClass from the `ECDbChange` ECSchema
27
- *
28
- * See also
29
- * - [ChangeSummaryManager.queryInstanceChange]($backend)
30
- * - [ChangeSummary Overview]($docs/learning/ChangeSummaries)
31
- * @beta
32
- */
33
- export interface InstanceChange {
34
- id: Id64String;
35
- summaryId: Id64String;
36
- changedInstance: {
37
- id: Id64String;
38
- className: string;
39
- };
40
- opCode: ChangeOpCode;
41
- isIndirect: boolean;
42
- }
43
- /** Options for [ChangeSummaryManager.extractChangeSummaries]($backend).
44
- * @beta
45
- * @deprecated Use [CreateChangeSummaryArgs]($core-backend) instead
46
- */
47
- export interface ChangeSummaryExtractOptions {
48
- /** If specified, change summaries are extracted from the start version to the current version as of which the iModel
49
- * was opened. If undefined, the extraction starts at the first version of the iModel.
50
- */
51
- startVersion?: IModelVersion;
52
- /** If specified, the change summary will be extracted only for current version as of which the iModel
53
- * was opened.
54
- */
55
- currentVersionOnly?: boolean;
56
- }
57
- /** Options for [ChangeSummaryManager.createChangeSummaries]($backend).
58
- * @beta
59
- */
60
- export interface CreateChangeSummaryArgs extends TokenArg {
61
- /** Id of the iTwin that contains the iModel */
62
- iTwinId: GuidString;
63
- /** Id of the iModel */
64
- iModelId: GuidString;
65
- /**
66
- * Range of change sets
67
- * - the Change Summary for the first and last versions are also included
68
- * - if unspecified, all change sets until the latest version are processed
69
- */
70
- range: ChangesetRange;
71
- }
72
- /** Class to extract Change Summaries for a briefcase.
73
- *
74
- * See also:
75
- * - [ChangeSummary Overview]($docs/learning/ChangeSummaries)
76
- * @beta
77
- */
78
- export declare class ChangeSummaryManager {
79
- private static readonly _currentIModelChangeSchemaVersion;
80
- /** Determines whether the *Change Cache file* is attached to the specified iModel or not
81
- * @param iModel iModel to check whether a *Change Cache file* is attached
82
- * @returns Returns true if the *Change Cache file* is attached to the iModel. false otherwise
83
- */
84
- static isChangeCacheAttached(iModel: IModelDb): boolean;
85
- /** Attaches the *Change Cache file* to the specified iModel if it hasn't been attached yet.
86
- * A new *Change Cache file* will be created for the iModel if it hasn't existed before.
87
- * @param iModel iModel to attach the *Change Cache file* file to
88
- * @throws [IModelError]($common)
89
- */
90
- static attachChangeCache(iModel: IModelDb): void;
91
- /** Detaches the *Change Cache file* from the specified iModel.
92
- * - note that this method will cause any pending (currently running or queued) queries to fail
93
- * @param iModel iModel to detach the *Change Cache file* to
94
- * @throws [IModelError]($common) in case of errors, e.g. if no *Change Cache file* was attached before.
95
- */
96
- static detachChangeCache(iModel: IModelDb): void;
97
- /** Extracts change summaries from the specified iModel.
98
- * Change summaries are extracted from the version the iModel was opened with up through the specified start version.
99
- * If no start version has been specified, the first version will be used.
100
- * @param accessToken A valid access token string
101
- * @param iModel iModel to extract change summaries for. The iModel must not be a standalone iModel.
102
- * Note: For every version to extract a summary from, the method moves the iModel to that version before extraction. After
103
- * the extraction has completed, the iModel is moved back to the original version.
104
- * @param options Extraction options
105
- * @return the Ids of the extracted change summaries.
106
- * @throws [IModelError]($common) if the iModel is standalone
107
- * @deprecated Use [ChangeSummaryManager.createChangeSummaries]($core-backend) instead
108
- */
109
- static extractChangeSummaries(accessToken: AccessToken, iModel: BriefcaseDb, options?: ChangeSummaryExtractOptions): Promise<Id64String[]>;
110
- private static openOrCreateChangesFile;
111
- private static createChangeCacheFile;
112
- private static openChangeCacheFile;
113
- private static getExtendedSchemaPath;
114
- private static isSummaryAlreadyExtracted;
115
- private static addExtendedInfos;
116
- /** Queries the ChangeSummary for the specified change summary id
117
- *
118
- * See also
119
- * - `ECDbChange.ChangeSummary` ECClass in the *ECDbChange* ECSchema
120
- * - [Change Summary Overview]($docs/learning/ChangeSummaries)
121
- * @param iModel iModel
122
- * @param changeSummaryId ECInstanceId of the ChangeSummary
123
- * @returns Returns the requested ChangeSummary object
124
- * @throws [IModelError]($common) If change summary does not exist for the specified id, or if the
125
- * change cache file hasn't been attached, or in case of other errors.
126
- */
127
- static queryChangeSummary(iModel: BriefcaseDb, changeSummaryId: Id64String): ChangeSummary;
128
- /** Queries the InstanceChange for the specified instance change id.
129
- *
130
- * See also
131
- * - `ECDbChange.InstanceChange` ECClass in the *ECDbChange* ECSchema
132
- * - [Change Summary Overview]($docs/learning/ChangeSummaries)
133
- * @param iModel iModel
134
- * @param instanceChangeId ECInstanceId of the InstanceChange (see `ECDbChange.InstanceChange` ECClass in the *ECDbChange* ECSchema)
135
- * @returns Returns the requested InstanceChange object (see `ECDbChange.InstanceChange` ECClass in the *ECDbChange* ECSchema)
136
- * @throws [IModelError]($common) if instance change does not exist for the specified id, or if the
137
- * change cache file hasn't been attached, or in case of other errors.
138
- */
139
- static queryInstanceChange(iModel: BriefcaseDb, instanceChangeId: Id64String): InstanceChange;
140
- /** Retrieves the names of the properties whose values have changed for the given instance change
141
- *
142
- * See also [Change Summary Overview]($docs/learning/ChangeSummaries)
143
- * @param iModel iModel
144
- * @param instanceChangeId Id of the InstanceChange to query the properties whose values have changed
145
- * @returns Returns names of the properties whose values have changed for the given instance change
146
- * @throws [IModelError]($common) if the change cache file hasn't been attached, or in case of other errors.
147
- */
148
- static getChangedPropertyValueNames(iModel: IModelDb, instanceChangeId: Id64String): string[];
149
- /** Builds the ECSQL to query the property value changes for the specified instance change and the specified ChangedValueState.
150
- *
151
- * See also [Change Summary Overview]($docs/learning/ChangeSummaries)
152
- * @param iModel iModel
153
- * @param instanceChangeInfo InstanceChange to query the property value changes for
154
- * changedInstance.className must be fully qualified and schema and class name must be escaped with square brackets if they collide with reserved ECSQL words: `[schema name].[class name]`
155
- * @param changedValueState The Changed State to query the values for. This must correspond to the [InstanceChange.OpCode]($backend) of the InstanceChange.
156
- * @param changedPropertyNames List of the property names for which values have changed for the specified instance change.
157
- * The list can be obtained by calling [ChangeSummaryManager.getChangedPropertyValueNames]($core-backend).
158
- * If omitted, the method will call the above method by itself. The parameter allows for checking first whether
159
- * an instance change has any property value changes at all. If there are no property value changes, this method
160
- * should not be called, as it will throw an error.
161
- * @returns Returns the ECSQL that will retrieve the property value changes
162
- * @throws [IModelError]($common) if instance change does not exist, if there are not property value changes for the instance change,
163
- * if the change cache file hasn't been attached, or in case of other errors.
164
- */
165
- static buildPropertyValueChangesECSql(iModel: IModelDb, instanceChangeInfo: {
166
- id: Id64String;
167
- summaryId: Id64String;
168
- changedInstance: {
169
- id: Id64String;
170
- className: string;
171
- };
172
- }, changedValueState: ChangedValueState, changedPropertyNames?: string[]): string;
173
- /**
174
- * Creates a change summary for the last applied change set to the iModel
175
- * @param accessToken A valid access token string
176
- * @param iModel iModel to extract change summaries for. The iModel must not be a standalone iModel, and must have at least one change set applied to it.
177
- * @returns The id of the extracted change summary.
178
- * @beta
179
- */
180
- static createChangeSummary(accessToken: AccessToken, iModel: BriefcaseDb): Promise<Id64String>;
181
- /**
182
- * Creates change summaries for the specified iModel and a specified range of versions
183
- * @note This may be an expensive operation - downloads the first version and starts applying the change sets, extracting summaries one by one
184
- * @param args Arguments including the range of versions for which Change Summaries are to be created, and other necessary input for creation
185
- */
186
- static createChangeSummaries(args: CreateChangeSummaryArgs): Promise<Id64String[]>;
187
- }
1
+ /** @packageDocumentation
2
+ * @module iModels
3
+ */
4
+ import { AccessToken, GuidString, Id64String } from "@itwin/core-bentley";
5
+ import { ChangedValueState, ChangeOpCode, ChangesetRange, IModelVersion } from "@itwin/core-common";
6
+ import { BriefcaseDb, IModelDb, TokenArg } from "./IModelDb";
7
+ /** Represents an instance of the `ChangeSummary` ECClass from the `ECDbChange` ECSchema
8
+ * combined with the information from the related `Changeset` instance (from the `IModelChange` ECSchema) from
9
+ * which the Change Summary was extracted.
10
+ *
11
+ * See also
12
+ * - [ChangeSummaryManager.queryChangeSummary]($backend)
13
+ * - [ChangeSummary Overview]($docs/learning/ChangeSummaries)
14
+ * @beta
15
+ */
16
+ export interface ChangeSummary {
17
+ id: Id64String;
18
+ changeSet: {
19
+ wsgId: GuidString;
20
+ parentWsgId: GuidString;
21
+ description: string;
22
+ pushDate: string;
23
+ userCreated: GuidString;
24
+ };
25
+ }
26
+ /** Represents an instance of the `InstanceChange` ECClass from the `ECDbChange` ECSchema
27
+ *
28
+ * See also
29
+ * - [ChangeSummaryManager.queryInstanceChange]($backend)
30
+ * - [ChangeSummary Overview]($docs/learning/ChangeSummaries)
31
+ * @beta
32
+ */
33
+ export interface InstanceChange {
34
+ id: Id64String;
35
+ summaryId: Id64String;
36
+ changedInstance: {
37
+ id: Id64String;
38
+ className: string;
39
+ };
40
+ opCode: ChangeOpCode;
41
+ isIndirect: boolean;
42
+ }
43
+ /** Options for [ChangeSummaryManager.extractChangeSummaries]($backend).
44
+ * @beta
45
+ * @deprecated Use [CreateChangeSummaryArgs]($core-backend) instead
46
+ */
47
+ export interface ChangeSummaryExtractOptions {
48
+ /** If specified, change summaries are extracted from the start version to the current version as of which the iModel
49
+ * was opened. If undefined, the extraction starts at the first version of the iModel.
50
+ */
51
+ startVersion?: IModelVersion;
52
+ /** If specified, the change summary will be extracted only for current version as of which the iModel
53
+ * was opened.
54
+ */
55
+ currentVersionOnly?: boolean;
56
+ }
57
+ /** Options for [ChangeSummaryManager.createChangeSummaries]($backend).
58
+ * @beta
59
+ */
60
+ export interface CreateChangeSummaryArgs extends TokenArg {
61
+ /** Id of the iTwin that contains the iModel */
62
+ iTwinId: GuidString;
63
+ /** Id of the iModel */
64
+ iModelId: GuidString;
65
+ /**
66
+ * Range of change sets
67
+ * - the Change Summary for the first and last versions are also included
68
+ * - if unspecified, all change sets until the latest version are processed
69
+ */
70
+ range: ChangesetRange;
71
+ }
72
+ /** Class to extract Change Summaries for a briefcase.
73
+ *
74
+ * See also:
75
+ * - [ChangeSummary Overview]($docs/learning/ChangeSummaries)
76
+ * @beta
77
+ */
78
+ export declare class ChangeSummaryManager {
79
+ private static readonly _currentIModelChangeSchemaVersion;
80
+ /** Determines whether the *Change Cache file* is attached to the specified iModel or not
81
+ * @param iModel iModel to check whether a *Change Cache file* is attached
82
+ * @returns Returns true if the *Change Cache file* is attached to the iModel. false otherwise
83
+ */
84
+ static isChangeCacheAttached(iModel: IModelDb): boolean;
85
+ /** Attaches the *Change Cache file* to the specified iModel if it hasn't been attached yet.
86
+ * A new *Change Cache file* will be created for the iModel if it hasn't existed before.
87
+ * @param iModel iModel to attach the *Change Cache file* file to
88
+ * @throws [IModelError]($common)
89
+ */
90
+ static attachChangeCache(iModel: IModelDb): void;
91
+ /** Detaches the *Change Cache file* from the specified iModel.
92
+ * - note that this method will cause any pending (currently running or queued) queries to fail
93
+ * @param iModel iModel to detach the *Change Cache file* to
94
+ * @throws [IModelError]($common) in case of errors, e.g. if no *Change Cache file* was attached before.
95
+ */
96
+ static detachChangeCache(iModel: IModelDb): void;
97
+ /** Extracts change summaries from the specified iModel.
98
+ * Change summaries are extracted from the version the iModel was opened with up through the specified start version.
99
+ * If no start version has been specified, the first version will be used.
100
+ * @param accessToken A valid access token string
101
+ * @param iModel iModel to extract change summaries for. The iModel must not be a standalone iModel.
102
+ * Note: For every version to extract a summary from, the method moves the iModel to that version before extraction. After
103
+ * the extraction has completed, the iModel is moved back to the original version.
104
+ * @param options Extraction options
105
+ * @return the Ids of the extracted change summaries.
106
+ * @throws [IModelError]($common) if the iModel is standalone
107
+ * @deprecated Use [ChangeSummaryManager.createChangeSummaries]($core-backend) instead
108
+ */
109
+ static extractChangeSummaries(accessToken: AccessToken, iModel: BriefcaseDb, options?: ChangeSummaryExtractOptions): Promise<Id64String[]>;
110
+ private static openOrCreateChangesFile;
111
+ private static createChangeCacheFile;
112
+ private static openChangeCacheFile;
113
+ private static getExtendedSchemaPath;
114
+ private static isSummaryAlreadyExtracted;
115
+ private static addExtendedInfos;
116
+ /** Queries the ChangeSummary for the specified change summary id
117
+ *
118
+ * See also
119
+ * - `ECDbChange.ChangeSummary` ECClass in the *ECDbChange* ECSchema
120
+ * - [Change Summary Overview]($docs/learning/ChangeSummaries)
121
+ * @param iModel iModel
122
+ * @param changeSummaryId ECInstanceId of the ChangeSummary
123
+ * @returns Returns the requested ChangeSummary object
124
+ * @throws [IModelError]($common) If change summary does not exist for the specified id, or if the
125
+ * change cache file hasn't been attached, or in case of other errors.
126
+ */
127
+ static queryChangeSummary(iModel: BriefcaseDb, changeSummaryId: Id64String): ChangeSummary;
128
+ /** Queries the InstanceChange for the specified instance change id.
129
+ *
130
+ * See also
131
+ * - `ECDbChange.InstanceChange` ECClass in the *ECDbChange* ECSchema
132
+ * - [Change Summary Overview]($docs/learning/ChangeSummaries)
133
+ * @param iModel iModel
134
+ * @param instanceChangeId ECInstanceId of the InstanceChange (see `ECDbChange.InstanceChange` ECClass in the *ECDbChange* ECSchema)
135
+ * @returns Returns the requested InstanceChange object (see `ECDbChange.InstanceChange` ECClass in the *ECDbChange* ECSchema)
136
+ * @throws [IModelError]($common) if instance change does not exist for the specified id, or if the
137
+ * change cache file hasn't been attached, or in case of other errors.
138
+ */
139
+ static queryInstanceChange(iModel: BriefcaseDb, instanceChangeId: Id64String): InstanceChange;
140
+ /** Retrieves the names of the properties whose values have changed for the given instance change
141
+ *
142
+ * See also [Change Summary Overview]($docs/learning/ChangeSummaries)
143
+ * @param iModel iModel
144
+ * @param instanceChangeId Id of the InstanceChange to query the properties whose values have changed
145
+ * @returns Returns names of the properties whose values have changed for the given instance change
146
+ * @throws [IModelError]($common) if the change cache file hasn't been attached, or in case of other errors.
147
+ */
148
+ static getChangedPropertyValueNames(iModel: IModelDb, instanceChangeId: Id64String): string[];
149
+ /** Builds the ECSQL to query the property value changes for the specified instance change and the specified ChangedValueState.
150
+ *
151
+ * See also [Change Summary Overview]($docs/learning/ChangeSummaries)
152
+ * @param iModel iModel
153
+ * @param instanceChangeInfo InstanceChange to query the property value changes for
154
+ * changedInstance.className must be fully qualified and schema and class name must be escaped with square brackets if they collide with reserved ECSQL words: `[schema name].[class name]`
155
+ * @param changedValueState The Changed State to query the values for. This must correspond to the [InstanceChange.OpCode]($backend) of the InstanceChange.
156
+ * @param changedPropertyNames List of the property names for which values have changed for the specified instance change.
157
+ * The list can be obtained by calling [ChangeSummaryManager.getChangedPropertyValueNames]($core-backend).
158
+ * If omitted, the method will call the above method by itself. The parameter allows for checking first whether
159
+ * an instance change has any property value changes at all. If there are no property value changes, this method
160
+ * should not be called, as it will throw an error.
161
+ * @returns Returns the ECSQL that will retrieve the property value changes
162
+ * @throws [IModelError]($common) if instance change does not exist, if there are not property value changes for the instance change,
163
+ * if the change cache file hasn't been attached, or in case of other errors.
164
+ */
165
+ static buildPropertyValueChangesECSql(iModel: IModelDb, instanceChangeInfo: {
166
+ id: Id64String;
167
+ summaryId: Id64String;
168
+ changedInstance: {
169
+ id: Id64String;
170
+ className: string;
171
+ };
172
+ }, changedValueState: ChangedValueState, changedPropertyNames?: string[]): string;
173
+ /**
174
+ * Creates a change summary for the last applied change set to the iModel
175
+ * @param accessToken A valid access token string
176
+ * @param iModel iModel to extract change summaries for. The iModel must not be a standalone iModel, and must have at least one change set applied to it.
177
+ * @returns The id of the extracted change summary.
178
+ * @beta
179
+ */
180
+ static createChangeSummary(accessToken: AccessToken, iModel: BriefcaseDb): Promise<Id64String>;
181
+ /**
182
+ * Creates change summaries for the specified iModel and a specified range of versions
183
+ * @note This may be an expensive operation - downloads the first version and starts applying the change sets, extracting summaries one by one
184
+ * @param args Arguments including the range of versions for which Change Summaries are to be created, and other necessary input for creation
185
+ */
186
+ static createChangeSummaries(args: CreateChangeSummaryArgs): Promise<Id64String[]>;
187
+ }
188
188
  //# sourceMappingURL=ChangeSummaryManager.d.ts.map