@itwin/core-backend 3.5.0-dev.13 → 3.5.0-dev.16

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 (223) hide show
  1. package/CHANGELOG.md +50 -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 +71 -71
  33. package/lib/cjs/ClassRegistry.js +215 -215
  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 +32 -32
  51. package/lib/cjs/CustomViewState3dCreator.js +113 -113
  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 +1109 -1109
  69. package/lib/cjs/Element.js +1420 -1420
  70. package/lib/cjs/Element.js.map +1 -1
  71. package/lib/cjs/ElementAspect.d.ts +156 -156
  72. package/lib/cjs/ElementAspect.js +178 -178
  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 +76 -76
  81. package/lib/cjs/Entity.js +82 -82
  82. package/lib/cjs/Entity.js.map +1 -1
  83. package/lib/cjs/ExportGraphics.d.ts +317 -317
  84. package/lib/cjs/ExportGraphics.js +208 -208
  85. package/lib/cjs/ExportGraphics.js.map +1 -1
  86. package/lib/cjs/ExternalSource.d.ts +94 -94
  87. package/lib/cjs/ExternalSource.js +125 -125
  88. package/lib/cjs/ExternalSource.js.map +1 -1
  89. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  90. package/lib/cjs/GeoCoordConfig.js +82 -82
  91. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  92. package/lib/cjs/GeometrySummary.d.ts +4 -4
  93. package/lib/cjs/GeometrySummary.js +380 -380
  94. package/lib/cjs/GeometrySummary.js.map +1 -1
  95. package/lib/cjs/HubMock.d.ts +93 -93
  96. package/lib/cjs/HubMock.js +190 -190
  97. package/lib/cjs/HubMock.js.map +1 -1
  98. package/lib/cjs/IModelCloneContext.d.ts +85 -85
  99. package/lib/cjs/IModelCloneContext.js +150 -150
  100. package/lib/cjs/IModelCloneContext.js.map +1 -1
  101. package/lib/cjs/IModelDb.d.ts +1164 -1164
  102. package/lib/cjs/IModelDb.js +2324 -2324
  103. package/lib/cjs/IModelDb.js.map +1 -1
  104. package/lib/cjs/IModelHost.d.ts +361 -361
  105. package/lib/cjs/IModelHost.js +489 -489
  106. package/lib/cjs/IModelHost.js.map +1 -1
  107. package/lib/cjs/IModelJsFs.d.ts +62 -62
  108. package/lib/cjs/IModelJsFs.js +140 -140
  109. package/lib/cjs/IModelJsFs.js.map +1 -1
  110. package/lib/cjs/IpcHost.d.ts +98 -98
  111. package/lib/cjs/IpcHost.js +234 -234
  112. package/lib/cjs/IpcHost.js.map +1 -1
  113. package/lib/cjs/LineStyle.d.ts +311 -311
  114. package/lib/cjs/LineStyle.js +295 -295
  115. package/lib/cjs/LineStyle.js.map +1 -1
  116. package/lib/cjs/LocalHub.d.ts +162 -162
  117. package/lib/cjs/LocalHub.js +587 -587
  118. package/lib/cjs/LocalHub.js.map +1 -1
  119. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  120. package/lib/cjs/LocalhostIpcHost.js +81 -81
  121. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  122. package/lib/cjs/Material.d.ts +103 -103
  123. package/lib/cjs/Material.js +147 -147
  124. package/lib/cjs/Material.js.map +1 -1
  125. package/lib/cjs/Model.d.ts +386 -386
  126. package/lib/cjs/Model.js +471 -471
  127. package/lib/cjs/Model.js.map +1 -1
  128. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  129. package/lib/cjs/NativeAppStorage.js +202 -202
  130. package/lib/cjs/NativeAppStorage.js.map +1 -1
  131. package/lib/cjs/NativeHost.d.ts +52 -52
  132. package/lib/cjs/NativeHost.js +168 -168
  133. package/lib/cjs/NativeHost.js.map +1 -1
  134. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  135. package/lib/cjs/NavigationRelationship.js +225 -225
  136. package/lib/cjs/NavigationRelationship.js.map +1 -1
  137. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  138. package/lib/cjs/PromiseMemoizer.js +101 -101
  139. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  140. package/lib/cjs/PropertyStore.d.ts +132 -132
  141. package/lib/cjs/PropertyStore.js +11 -11
  142. package/lib/cjs/PropertyStore.js.map +1 -1
  143. package/lib/cjs/Relationship.d.ts +400 -400
  144. package/lib/cjs/Relationship.js +465 -465
  145. package/lib/cjs/Relationship.js.map +1 -1
  146. package/lib/cjs/RpcBackend.d.ts +28 -28
  147. package/lib/cjs/RpcBackend.js +126 -126
  148. package/lib/cjs/RpcBackend.js.map +1 -1
  149. package/lib/cjs/SQLiteDb.d.ts +219 -219
  150. package/lib/cjs/SQLiteDb.js +214 -214
  151. package/lib/cjs/SQLiteDb.js.map +1 -1
  152. package/lib/cjs/Schema.d.ts +55 -55
  153. package/lib/cjs/Schema.js +83 -83
  154. package/lib/cjs/Schema.js.map +1 -1
  155. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  156. package/lib/cjs/ServerBasedLocks.js +168 -168
  157. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  158. package/lib/cjs/SqliteStatement.d.ts +283 -283
  159. package/lib/cjs/SqliteStatement.js +448 -448
  160. package/lib/cjs/SqliteStatement.js.map +1 -1
  161. package/lib/cjs/Texture.d.ts +58 -58
  162. package/lib/cjs/Texture.js +82 -82
  163. package/lib/cjs/Texture.js.map +1 -1
  164. package/lib/cjs/TileStorage.d.ts +18 -18
  165. package/lib/cjs/TileStorage.js +90 -90
  166. package/lib/cjs/TileStorage.js.map +1 -1
  167. package/lib/cjs/TxnManager.d.ts +202 -202
  168. package/lib/cjs/TxnManager.js +356 -356
  169. package/lib/cjs/TxnManager.js.map +1 -1
  170. package/lib/cjs/ViewDefinition.d.ts +435 -435
  171. package/lib/cjs/ViewDefinition.js +635 -635
  172. package/lib/cjs/ViewDefinition.js.map +1 -1
  173. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  174. package/lib/cjs/ViewStateHydrator.js +103 -103
  175. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  176. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  177. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  178. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  179. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  180. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  181. package/lib/cjs/core-backend.d.ts +182 -182
  182. package/lib/cjs/core-backend.js +202 -202
  183. package/lib/cjs/core-backend.js.map +1 -1
  184. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  185. package/lib/cjs/domains/FunctionalElements.js +145 -145
  186. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  187. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  188. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  189. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  190. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  191. package/lib/cjs/domains/GenericElements.js +263 -263
  192. package/lib/cjs/domains/GenericElements.js.map +1 -1
  193. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  194. package/lib/cjs/domains/GenericSchema.js +28 -28
  195. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  196. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  197. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  198. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  199. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +45 -45
  200. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +262 -262
  201. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  202. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -22
  203. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +204 -204
  204. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  205. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  206. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -168
  207. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  208. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  209. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  210. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  211. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  212. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  213. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  214. package/lib/cjs/workspace/Settings.d.ts +186 -186
  215. package/lib/cjs/workspace/Settings.js +155 -155
  216. package/lib/cjs/workspace/Settings.js.map +1 -1
  217. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  218. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  219. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  220. package/lib/cjs/workspace/Workspace.d.ts +414 -414
  221. package/lib/cjs/workspace/Workspace.js +543 -543
  222. package/lib/cjs/workspace/Workspace.js.map +1 -1
  223. package/package.json +11 -11
@@ -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