@itwin/core-backend 5.13.0-dev.9 → 5.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/CHANGELOG.md +53 -1
  2. package/lib/cjs/BriefcaseManager.d.ts.map +1 -1
  3. package/lib/cjs/BriefcaseManager.js +11 -5
  4. package/lib/cjs/BriefcaseManager.js.map +1 -1
  5. package/lib/cjs/Category.d.ts +4 -4
  6. package/lib/cjs/Category.js.map +1 -1
  7. package/lib/cjs/ChangesetECAdaptor.d.ts +5 -0
  8. package/lib/cjs/ChangesetECAdaptor.d.ts.map +1 -1
  9. package/lib/cjs/ChangesetECAdaptor.js +13 -3
  10. package/lib/cjs/ChangesetECAdaptor.js.map +1 -1
  11. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  12. package/lib/cjs/CloudSqlite.js +9 -2
  13. package/lib/cjs/CloudSqlite.js.map +1 -1
  14. package/lib/cjs/CodeSpecs.d.ts +3 -3
  15. package/lib/cjs/CodeSpecs.js.map +1 -1
  16. package/lib/cjs/DisplayStyle.d.ts +2 -2
  17. package/lib/cjs/DisplayStyle.js.map +1 -1
  18. package/lib/cjs/ECDb.d.ts.map +1 -1
  19. package/lib/cjs/ECDb.js +1 -0
  20. package/lib/cjs/ECDb.js.map +1 -1
  21. package/lib/cjs/EditTxn.d.ts.map +1 -1
  22. package/lib/cjs/EditTxn.js +1 -0
  23. package/lib/cjs/EditTxn.js.map +1 -1
  24. package/lib/cjs/Element.d.ts +48 -12
  25. package/lib/cjs/Element.d.ts.map +1 -1
  26. package/lib/cjs/Element.js +120 -24
  27. package/lib/cjs/Element.js.map +1 -1
  28. package/lib/cjs/IModelDb.d.ts +72 -22
  29. package/lib/cjs/IModelDb.d.ts.map +1 -1
  30. package/lib/cjs/IModelDb.js +226 -89
  31. package/lib/cjs/IModelDb.js.map +1 -1
  32. package/lib/cjs/Model.d.ts +5 -5
  33. package/lib/cjs/Model.d.ts.map +1 -1
  34. package/lib/cjs/Model.js.map +1 -1
  35. package/lib/cjs/PropertyStore.js +1 -1
  36. package/lib/cjs/PropertyStore.js.map +1 -1
  37. package/lib/cjs/SchemaSync.d.ts +158 -22
  38. package/lib/cjs/SchemaSync.d.ts.map +1 -1
  39. package/lib/cjs/SchemaSync.js +417 -76
  40. package/lib/cjs/SchemaSync.js.map +1 -1
  41. package/lib/cjs/SynchronousChannel.d.ts +72 -0
  42. package/lib/cjs/SynchronousChannel.d.ts.map +1 -0
  43. package/lib/cjs/SynchronousChannel.js +11 -0
  44. package/lib/cjs/SynchronousChannel.js.map +1 -0
  45. package/lib/cjs/Texture.d.ts +1 -1
  46. package/lib/cjs/Texture.js.map +1 -1
  47. package/lib/cjs/TxnManager.d.ts +44 -4
  48. package/lib/cjs/TxnManager.d.ts.map +1 -1
  49. package/lib/cjs/TxnManager.js +80 -19
  50. package/lib/cjs/TxnManager.js.map +1 -1
  51. package/lib/cjs/ViewDefinition.d.ts +6 -6
  52. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  53. package/lib/cjs/ViewDefinition.js.map +1 -1
  54. package/lib/cjs/annotations/LeaderGeometry.d.ts +22 -7
  55. package/lib/cjs/annotations/LeaderGeometry.d.ts.map +1 -1
  56. package/lib/cjs/annotations/LeaderGeometry.js +104 -36
  57. package/lib/cjs/annotations/LeaderGeometry.js.map +1 -1
  58. package/lib/cjs/annotations/TextAnnotationElement.d.ts +1 -1
  59. package/lib/cjs/annotations/TextAnnotationElement.d.ts.map +1 -1
  60. package/lib/cjs/annotations/TextAnnotationElement.js +25 -10
  61. package/lib/cjs/annotations/TextAnnotationElement.js.map +1 -1
  62. package/lib/cjs/core-backend.d.ts +1 -0
  63. package/lib/cjs/core-backend.d.ts.map +1 -1
  64. package/lib/cjs/core-backend.js +1 -0
  65. package/lib/cjs/core-backend.js.map +1 -1
  66. package/lib/cjs/internal/IntegrityCheck.d.ts +22 -0
  67. package/lib/cjs/internal/IntegrityCheck.d.ts.map +1 -1
  68. package/lib/cjs/internal/IntegrityCheck.js +13 -0
  69. package/lib/cjs/internal/IntegrityCheck.js.map +1 -1
  70. package/lib/cjs/internal/NoReservations.d.ts +6 -0
  71. package/lib/cjs/internal/NoReservations.d.ts.map +1 -0
  72. package/lib/cjs/internal/NoReservations.js +21 -0
  73. package/lib/cjs/internal/NoReservations.js.map +1 -0
  74. package/lib/cjs/internal/SchemaSyncReservations.d.ts +4 -0
  75. package/lib/cjs/internal/SchemaSyncReservations.d.ts.map +1 -0
  76. package/lib/cjs/internal/SchemaSyncReservations.js +128 -0
  77. package/lib/cjs/internal/SchemaSyncReservations.js.map +1 -0
  78. package/lib/cjs/internal/Symbols.d.ts +1 -0
  79. package/lib/cjs/internal/Symbols.d.ts.map +1 -1
  80. package/lib/cjs/internal/Symbols.js +2 -1
  81. package/lib/cjs/internal/Symbols.js.map +1 -1
  82. package/lib/esm/BriefcaseManager.d.ts.map +1 -1
  83. package/lib/esm/BriefcaseManager.js +11 -5
  84. package/lib/esm/BriefcaseManager.js.map +1 -1
  85. package/lib/esm/Category.d.ts +4 -4
  86. package/lib/esm/Category.js.map +1 -1
  87. package/lib/esm/ChangesetECAdaptor.d.ts +5 -0
  88. package/lib/esm/ChangesetECAdaptor.d.ts.map +1 -1
  89. package/lib/esm/ChangesetECAdaptor.js +13 -3
  90. package/lib/esm/ChangesetECAdaptor.js.map +1 -1
  91. package/lib/esm/CloudSqlite.d.ts.map +1 -1
  92. package/lib/esm/CloudSqlite.js +10 -3
  93. package/lib/esm/CloudSqlite.js.map +1 -1
  94. package/lib/esm/CodeSpecs.d.ts +3 -3
  95. package/lib/esm/CodeSpecs.js.map +1 -1
  96. package/lib/esm/DisplayStyle.d.ts +2 -2
  97. package/lib/esm/DisplayStyle.js.map +1 -1
  98. package/lib/esm/ECDb.d.ts.map +1 -1
  99. package/lib/esm/ECDb.js +1 -0
  100. package/lib/esm/ECDb.js.map +1 -1
  101. package/lib/esm/EditTxn.d.ts.map +1 -1
  102. package/lib/esm/EditTxn.js +1 -0
  103. package/lib/esm/EditTxn.js.map +1 -1
  104. package/lib/esm/Element.d.ts +48 -12
  105. package/lib/esm/Element.d.ts.map +1 -1
  106. package/lib/esm/Element.js +121 -25
  107. package/lib/esm/Element.js.map +1 -1
  108. package/lib/esm/IModelDb.d.ts +72 -22
  109. package/lib/esm/IModelDb.d.ts.map +1 -1
  110. package/lib/esm/IModelDb.js +227 -90
  111. package/lib/esm/IModelDb.js.map +1 -1
  112. package/lib/esm/Model.d.ts +5 -5
  113. package/lib/esm/Model.d.ts.map +1 -1
  114. package/lib/esm/Model.js.map +1 -1
  115. package/lib/esm/PropertyStore.js +1 -1
  116. package/lib/esm/PropertyStore.js.map +1 -1
  117. package/lib/esm/SchemaSync.d.ts +158 -22
  118. package/lib/esm/SchemaSync.d.ts.map +1 -1
  119. package/lib/esm/SchemaSync.js +419 -78
  120. package/lib/esm/SchemaSync.js.map +1 -1
  121. package/lib/esm/SynchronousChannel.d.ts +72 -0
  122. package/lib/esm/SynchronousChannel.d.ts.map +1 -0
  123. package/lib/esm/SynchronousChannel.js +9 -0
  124. package/lib/esm/SynchronousChannel.js.map +1 -0
  125. package/lib/esm/Texture.d.ts +1 -1
  126. package/lib/esm/Texture.js.map +1 -1
  127. package/lib/esm/TxnManager.d.ts +44 -4
  128. package/lib/esm/TxnManager.d.ts.map +1 -1
  129. package/lib/esm/TxnManager.js +81 -20
  130. package/lib/esm/TxnManager.js.map +1 -1
  131. package/lib/esm/ViewDefinition.d.ts +6 -6
  132. package/lib/esm/ViewDefinition.d.ts.map +1 -1
  133. package/lib/esm/ViewDefinition.js.map +1 -1
  134. package/lib/esm/annotations/LeaderGeometry.d.ts +22 -7
  135. package/lib/esm/annotations/LeaderGeometry.d.ts.map +1 -1
  136. package/lib/esm/annotations/LeaderGeometry.js +104 -36
  137. package/lib/esm/annotations/LeaderGeometry.js.map +1 -1
  138. package/lib/esm/annotations/TextAnnotationElement.d.ts +1 -1
  139. package/lib/esm/annotations/TextAnnotationElement.d.ts.map +1 -1
  140. package/lib/esm/annotations/TextAnnotationElement.js +25 -10
  141. package/lib/esm/annotations/TextAnnotationElement.js.map +1 -1
  142. package/lib/esm/core-backend.d.ts +1 -0
  143. package/lib/esm/core-backend.d.ts.map +1 -1
  144. package/lib/esm/core-backend.js +1 -0
  145. package/lib/esm/core-backend.js.map +1 -1
  146. package/lib/esm/internal/IntegrityCheck.d.ts +22 -0
  147. package/lib/esm/internal/IntegrityCheck.d.ts.map +1 -1
  148. package/lib/esm/internal/IntegrityCheck.js +13 -0
  149. package/lib/esm/internal/IntegrityCheck.js.map +1 -1
  150. package/lib/esm/internal/NoReservations.d.ts +6 -0
  151. package/lib/esm/internal/NoReservations.d.ts.map +1 -0
  152. package/lib/esm/internal/NoReservations.js +18 -0
  153. package/lib/esm/internal/NoReservations.js.map +1 -0
  154. package/lib/esm/internal/SchemaSyncReservations.d.ts +4 -0
  155. package/lib/esm/internal/SchemaSyncReservations.d.ts.map +1 -0
  156. package/lib/esm/internal/SchemaSyncReservations.js +125 -0
  157. package/lib/esm/internal/SchemaSyncReservations.js.map +1 -0
  158. package/lib/esm/internal/Symbols.d.ts +1 -0
  159. package/lib/esm/internal/Symbols.d.ts.map +1 -1
  160. package/lib/esm/internal/Symbols.js +1 -0
  161. package/lib/esm/internal/Symbols.js.map +1 -1
  162. package/lib/esm/test/IModelTestUtils.d.ts +1 -1
  163. package/lib/esm/test/IModelTestUtils.d.ts.map +1 -1
  164. package/lib/esm/test/IModelTestUtils.js +8 -3
  165. package/lib/esm/test/IModelTestUtils.js.map +1 -1
  166. package/lib/esm/test/annotations/LeaderGeometry.test.js +178 -2
  167. package/lib/esm/test/annotations/LeaderGeometry.test.js.map +1 -1
  168. package/lib/esm/test/annotations/TextAnnotation.test.js +48 -18
  169. package/lib/esm/test/annotations/TextAnnotation.test.js.map +1 -1
  170. package/lib/esm/test/ecdb/ECSqlStatement.test.js +177 -0
  171. package/lib/esm/test/ecdb/ECSqlStatement.test.js.map +1 -1
  172. package/lib/esm/test/ecdb/QueryReaders.test.js +2 -16
  173. package/lib/esm/test/ecdb/QueryReaders.test.js.map +1 -1
  174. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js +2 -2
  175. package/lib/esm/test/ecsql/src/ECSqlTestRunner.test.js.map +1 -1
  176. package/lib/esm/test/element/ElementRoundTrip.test.js +80 -2
  177. package/lib/esm/test/element/ElementRoundTrip.test.js.map +1 -1
  178. package/lib/esm/test/hubaccess/Rebase.test.js +3 -1
  179. package/lib/esm/test/hubaccess/Rebase.test.js.map +1 -1
  180. package/lib/esm/test/hubaccess/SemanticRebase.test.js +29 -28
  181. package/lib/esm/test/hubaccess/SemanticRebase.test.js.map +1 -1
  182. package/lib/esm/test/hubaccess/SemanticRebaseTestUtils.d.ts +3 -0
  183. package/lib/esm/test/hubaccess/SemanticRebaseTestUtils.d.ts.map +1 -0
  184. package/lib/esm/test/hubaccess/SemanticRebaseTestUtils.js +15 -0
  185. package/lib/esm/test/hubaccess/SemanticRebaseTestUtils.js.map +1 -0
  186. package/lib/esm/test/imodel/IModelECSql.test.d.ts +2 -0
  187. package/lib/esm/test/imodel/IModelECSql.test.d.ts.map +1 -0
  188. package/lib/esm/test/imodel/IModelECSql.test.js +367 -0
  189. package/lib/esm/test/imodel/IModelECSql.test.js.map +1 -0
  190. package/lib/esm/test/imodel/IModelElements.test.d.ts +2 -0
  191. package/lib/esm/test/imodel/IModelElements.test.d.ts.map +1 -0
  192. package/lib/esm/test/imodel/IModelElements.test.js +969 -0
  193. package/lib/esm/test/imodel/IModelElements.test.js.map +1 -0
  194. package/lib/esm/test/imodel/IModelGeolocation.test.d.ts +2 -0
  195. package/lib/esm/test/imodel/IModelGeolocation.test.d.ts.map +1 -0
  196. package/lib/esm/test/imodel/IModelGeolocation.test.js +539 -0
  197. package/lib/esm/test/imodel/IModelGeolocation.test.js.map +1 -0
  198. package/lib/esm/test/imodel/IModelLifecycle.test.d.ts +2 -0
  199. package/lib/esm/test/imodel/IModelLifecycle.test.d.ts.map +1 -0
  200. package/lib/esm/test/imodel/IModelLifecycle.test.js +499 -0
  201. package/lib/esm/test/imodel/IModelLifecycle.test.js.map +1 -0
  202. package/lib/esm/test/imodel/IModelMetadata.test.d.ts +2 -0
  203. package/lib/esm/test/imodel/IModelMetadata.test.d.ts.map +1 -0
  204. package/lib/esm/test/imodel/IModelMetadata.test.js +274 -0
  205. package/lib/esm/test/imodel/IModelMetadata.test.js.map +1 -0
  206. package/lib/esm/test/imodel/IModelModels.test.d.ts +2 -0
  207. package/lib/esm/test/imodel/IModelModels.test.d.ts.map +1 -0
  208. package/lib/esm/test/imodel/IModelModels.test.js +357 -0
  209. package/lib/esm/test/imodel/IModelModels.test.js.map +1 -0
  210. package/lib/esm/test/imodel/IModelRelationships.test.d.ts +2 -0
  211. package/lib/esm/test/imodel/IModelRelationships.test.d.ts.map +1 -0
  212. package/lib/esm/test/imodel/IModelRelationships.test.js +407 -0
  213. package/lib/esm/test/imodel/IModelRelationships.test.js.map +1 -0
  214. package/lib/esm/test/imodel/IModelTestFixtures.d.ts +53 -0
  215. package/lib/esm/test/imodel/IModelTestFixtures.d.ts.map +1 -0
  216. package/lib/esm/test/imodel/IModelTestFixtures.js +107 -0
  217. package/lib/esm/test/imodel/IModelTestFixtures.js.map +1 -0
  218. package/lib/esm/test/imodel/IModelViews.test.d.ts +2 -0
  219. package/lib/esm/test/imodel/IModelViews.test.d.ts.map +1 -0
  220. package/lib/esm/test/imodel/IModelViews.test.js +199 -0
  221. package/lib/esm/test/imodel/IModelViews.test.js.map +1 -0
  222. package/lib/esm/test/index.d.ts +0 -1
  223. package/lib/esm/test/index.d.ts.map +1 -1
  224. package/lib/esm/test/index.js +0 -1
  225. package/lib/esm/test/index.js.map +1 -1
  226. package/lib/esm/test/standalone/ChangesetReader.test.js +8 -26
  227. package/lib/esm/test/standalone/ChangesetReader.test.js.map +1 -1
  228. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.d.ts +2 -0
  229. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.d.ts.map +1 -0
  230. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.js +263 -0
  231. package/lib/esm/test/standalone/DgnDomainMergeConflict.test.js.map +1 -0
  232. package/lib/esm/test/standalone/GeometryStream.test.js +1 -3
  233. package/lib/esm/test/standalone/GeometryStream.test.js.map +1 -1
  234. package/lib/esm/test/standalone/IModelWrite.test.d.ts.map +1 -1
  235. package/lib/esm/test/standalone/IModelWrite.test.js +78 -1
  236. package/lib/esm/test/standalone/IModelWrite.test.js.map +1 -1
  237. package/lib/esm/test/standalone/IntegrityCheck.test.js +29 -10
  238. package/lib/esm/test/standalone/IntegrityCheck.test.js.map +1 -1
  239. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js +23 -0
  240. package/lib/esm/test/standalone/SQliteChangesetReaderAndChangesetECAdaptor.test.js.map +1 -1
  241. package/lib/esm/test/standalone/SchemaSyncDb.test.d.ts +2 -0
  242. package/lib/esm/test/standalone/SchemaSyncDb.test.d.ts.map +1 -0
  243. package/lib/esm/test/standalone/SchemaSyncDb.test.js +201 -0
  244. package/lib/esm/test/standalone/SchemaSyncDb.test.js.map +1 -0
  245. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.d.ts +2 -0
  246. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.d.ts.map +1 -0
  247. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.js +460 -0
  248. package/lib/esm/test/standalone/SchemaSyncElementReservation.test.js.map +1 -0
  249. package/lib/esm/test/standalone/SnapshotDb.test.js +1 -0
  250. package/lib/esm/test/standalone/SnapshotDb.test.js.map +1 -1
  251. package/lib/esm/test/standalone/TxnManager.test.js +108 -8
  252. package/lib/esm/test/standalone/TxnManager.test.js.map +1 -1
  253. package/package.json +13 -16
  254. package/lib/esm/test/RevisionUtility.d.ts +0 -33
  255. package/lib/esm/test/RevisionUtility.d.ts.map +0 -1
  256. package/lib/esm/test/RevisionUtility.js +0 -52
  257. package/lib/esm/test/RevisionUtility.js.map +0 -1
  258. package/lib/esm/test/imodel/IModel.test.d.ts +0 -2
  259. package/lib/esm/test/imodel/IModel.test.d.ts.map +0 -1
  260. package/lib/esm/test/imodel/IModel.test.js +0 -3277
  261. package/lib/esm/test/imodel/IModel.test.js.map +0 -1
@@ -0,0 +1,21 @@
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.createNoOpReservations = createNoOpReservations;
8
+ const Symbols_1 = require("./Symbols");
9
+ /** A null-implementation of SynchronousChannel.Reservations for iModels that don't use SchemaSync-backed reservations. */
10
+ class NoReservations {
11
+ [Symbols_1._implementationProhibited] = undefined;
12
+ get isServerBased() { return false; }
13
+ [Symbols_1._close]() { }
14
+ [Symbols_1._onReservedElementInsert]() { }
15
+ needsElementReservation() { return false; }
16
+ async reserveElements() { }
17
+ }
18
+ function createNoOpReservations() {
19
+ return new NoReservations();
20
+ }
21
+ //# sourceMappingURL=NoReservations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoReservations.js","sourceRoot":"","sources":["../../../src/internal/NoReservations.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;;AAmB/F,wDAEC;AAdD,uCAAwF;AAExF,0HAA0H;AAC1H,MAAM,cAAc;IACF,CAAC,mCAAyB,CAAC,GAAG,SAAS,CAAC;IACxD,IAAW,aAAa,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC,gBAAM,CAAC,KAAW,CAAC;IACpB,CAAC,kCAAwB,CAAC,KAAW,CAAC;IACtC,uBAAuB,KAAc,OAAO,KAAK,CAAC,CAAC,CAAC;IACpD,KAAK,CAAC,eAAe,KAAoB,CAAC;CAClD;AAED,SAAgB,sBAAsB;IACpC,OAAO,IAAI,cAAc,EAAE,CAAC;AAC9B,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { SynchronousChannel } from \"../SynchronousChannel\";\r\nimport { _close, _implementationProhibited, _onReservedElementInsert } from \"./Symbols\";\r\n\r\n/** A null-implementation of SynchronousChannel.Reservations for iModels that don't use SchemaSync-backed reservations. */\r\nclass NoReservations implements SynchronousChannel.Reservations {\r\n public readonly [_implementationProhibited] = undefined;\r\n public get isServerBased() { return false; }\r\n public [_close](): void { }\r\n public [_onReservedElementInsert](): void { }\r\n public needsElementReservation(): boolean { return false; }\r\n public async reserveElements(): Promise<void> { }\r\n}\r\n\r\nexport function createNoOpReservations(): SynchronousChannel.Reservations {\r\n return new NoReservations();\r\n}\r\n"]}
@@ -0,0 +1,4 @@
1
+ import { IModelDb } from "../IModelDb";
2
+ import { SynchronousChannel } from "../SynchronousChannel";
3
+ export declare function createSchemaSyncReservations(iModel: IModelDb): Promise<SynchronousChannel.Reservations>;
4
+ //# sourceMappingURL=SchemaSyncReservations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaSyncReservations.d.ts","sourceRoot":"","sources":["../../../src/internal/SchemaSyncReservations.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,QAAQ,EAAwB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAuI3D,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAE7G"}
@@ -0,0 +1,128 @@
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.createSchemaSyncReservations = createSchemaSyncReservations;
8
+ /** @packageDocumentation
9
+ * @module iModels
10
+ */
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_common_1 = require("@itwin/core-common");
13
+ const SchemaSync_1 = require("../SchemaSync");
14
+ const Symbols_1 = require("./Symbols");
15
+ const Category_1 = require("../Category");
16
+ class SchemaSyncReservations {
17
+ [Symbols_1._implementationProhibited] = undefined;
18
+ get isServerBased() { return true; }
19
+ _iModel;
20
+ _schemaSync;
21
+ _isClosed = false;
22
+ constructor(iModel, schemaSync) {
23
+ this._iModel = iModel;
24
+ this._schemaSync = schemaSync;
25
+ }
26
+ static async create(iModel) {
27
+ const schemaSync = await SchemaSync_1.SchemaSync.getCloudAccess(iModel);
28
+ try {
29
+ schemaSync.synchronizeWithCloud();
30
+ return new SchemaSyncReservations(iModel, schemaSync);
31
+ }
32
+ catch (error) {
33
+ SchemaSync_1.SchemaSync.releaseCloudAccess(schemaSync);
34
+ throw error;
35
+ }
36
+ }
37
+ [Symbols_1._close]() {
38
+ if (this._isClosed)
39
+ return;
40
+ this._isClosed = true;
41
+ try {
42
+ SchemaSync_1.SchemaSync.releaseCloudAccess(this._schemaSync);
43
+ }
44
+ catch {
45
+ // best-effort cleanup; never throw out of close hooks
46
+ }
47
+ }
48
+ needsElementReservation(federationGuid) {
49
+ if (!SchemaSync_1.SchemaSync.isEnabled(this._iModel))
50
+ return false;
51
+ if (!core_bentley_1.Guid.isGuid(federationGuid))
52
+ core_common_1.ElementReservationError.throwError("invalid-reservation", { message: "Invalid federationGuid" });
53
+ return !this._schemaSync.reader.findReservedElement(federationGuid);
54
+ }
55
+ async reserveElements(args) {
56
+ const validated = this.validateProposedReservations(args);
57
+ await this._schemaSync.writeLocker.reserveElements(validated);
58
+ }
59
+ [Symbols_1._onReservedElementInsert](arg) {
60
+ if (!SchemaSync_1.SchemaSync.isEnabled(arg.iModel) || arg.iModel.holdsSchemaLock)
61
+ return;
62
+ const fedGuid = arg.props.federationGuid;
63
+ // The hook is only invoked for elements with an explicitly-set federationGuid (gated in Element.onInsert),
64
+ // but validate defensively.
65
+ if (fedGuid === undefined || !core_bentley_1.Guid.isGuid(fedGuid))
66
+ core_common_1.ElementReservationError.throwError("invalid-reservation", { message: "Element inserts require a valid federationGuid when SchemaSync is enabled" });
67
+ // It should be impossible for us to still have local changes, but check just in case,
68
+ // since we can't trust the contents of the SchemaSyncDb until they've been successfully pushed.
69
+ if (this._schemaSync.container.hasLocalChanges)
70
+ core_common_1.ElementReservationError.throwError("container-has-local-changes", { message: "Element inserts are not allowed when there are local changes in the SchemaSync container" });
71
+ const code = core_common_1.Code.fromJSON(arg.props.code);
72
+ const existing = this._schemaSync.reader.findReservedElement(fedGuid);
73
+ if (!existing) {
74
+ core_common_1.ElementReservationError.throwError("reservation-not-found", {
75
+ message: `No SchemaSync reservation found for element with federationGuid ${fedGuid} — include it in a SynchronousChannel.Reservations.reserveElements call before inserting`,
76
+ federationGuid: fedGuid,
77
+ });
78
+ }
79
+ const expectedClassId = arg.iModel[Symbols_1._nativeDb].classNameToId(arg.props.classFullName);
80
+ if (existing.ecClassId !== expectedClassId) {
81
+ core_common_1.ElementReservationError.throwError("reservation-conflict", {
82
+ message: `Element ${existing.federationGuid} reserved as a different class than the insert (${existing.ecClassId} vs ${expectedClassId})`,
83
+ federationGuid: existing.federationGuid,
84
+ });
85
+ }
86
+ if (!existing.code.equals(code))
87
+ core_common_1.ElementReservationError.throwError("reservation-conflict", {
88
+ message: `Element ${existing.federationGuid} insert uses a different Code than was reserved`,
89
+ federationGuid: existing.federationGuid,
90
+ });
91
+ arg.props.id = existing.elementId;
92
+ const options = arg.options ?? (arg.options = {});
93
+ options.forceUseId = true;
94
+ }
95
+ validateProposedReservations(args) {
96
+ const out = [];
97
+ const errors = [];
98
+ for (const props of args.elements) {
99
+ if (!props.federationGuid || !core_bentley_1.Guid.isGuid(props.federationGuid)) {
100
+ errors.push(`element reservation requires an explicit, valid federationGuid (got '${props.federationGuid ?? "<none>"}')`);
101
+ continue;
102
+ }
103
+ const code = props.code ? core_common_1.Code.fromJSON(props.code) : core_common_1.Code.createEmpty();
104
+ if (code.value && !core_common_1.Code.isValid(code)) {
105
+ errors.push(`(${props.federationGuid}): invalid code '${code.toString()}'`);
106
+ continue;
107
+ }
108
+ const ecClassId = this._iModel[Symbols_1._nativeDb].classNameToId(props.classFullName);
109
+ if (!core_bentley_1.Id64.isValidId64(ecClassId)) {
110
+ errors.push(`(${props.federationGuid}): unknown class '${props.classFullName}'`);
111
+ continue;
112
+ }
113
+ out.push({
114
+ federationGuid: props.federationGuid,
115
+ ecClassId,
116
+ code,
117
+ isCategory: props.classFullName === Category_1.Category.classFullName || this._iModel[Symbols_1._nativeDb].isSubClassOf(props.classFullName, Category_1.Category.classFullName),
118
+ });
119
+ }
120
+ if (errors.length > 0)
121
+ core_common_1.ElementReservationError.throwError("invalid-reservation", { message: `Invalid element(s) for reservation:\n ${errors.join("\n ")}` });
122
+ return out;
123
+ }
124
+ }
125
+ async function createSchemaSyncReservations(iModel) {
126
+ return SchemaSyncReservations.create(iModel);
127
+ }
128
+ //# sourceMappingURL=SchemaSyncReservations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaSyncReservations.js","sourceRoot":"","sources":["../../../src/internal/SchemaSyncReservations.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\n/** @packageDocumentation\r\n * @module iModels\r\n */\r\n\r\nimport { Guid, GuidString, Id64 } from \"@itwin/core-bentley\";\r\nimport { Code, ElementReservationError } from \"@itwin/core-common\";\r\nimport { OnElementPropsArg } from \"../Element\";\r\nimport { IModelDb, InsertElementOptions } from \"../IModelDb\";\r\nimport { SynchronousChannel } from \"../SynchronousChannel\";\r\nimport { SchemaSync } from \"../SchemaSync\";\r\nimport { _close, _implementationProhibited, _nativeDb, _onReservedElementInsert } from \"./Symbols\";\r\nimport { Category } from \"../Category\";\r\n\r\nclass SchemaSyncReservations implements SynchronousChannel.Reservations {\r\n public readonly [_implementationProhibited] = undefined;\r\n public get isServerBased() { return true; }\r\n private readonly _iModel: IModelDb;\r\n private readonly _schemaSync: SchemaSync.CloudAccess;\r\n private _isClosed = false;\r\n\r\n private constructor(iModel: IModelDb, schemaSync: SchemaSync.CloudAccess) {\r\n this._iModel = iModel;\r\n this._schemaSync = schemaSync;\r\n }\r\n\r\n public static async create(iModel: IModelDb): Promise<SchemaSyncReservations> {\r\n const schemaSync = await SchemaSync.getCloudAccess(iModel);\r\n try {\r\n schemaSync.synchronizeWithCloud();\r\n return new SchemaSyncReservations(iModel, schemaSync);\r\n } catch (error) {\r\n SchemaSync.releaseCloudAccess(schemaSync);\r\n throw error;\r\n }\r\n }\r\n\r\n public [_close](): void {\r\n if (this._isClosed)\r\n return;\r\n\r\n this._isClosed = true;\r\n try {\r\n SchemaSync.releaseCloudAccess(this._schemaSync);\r\n } catch {\r\n // best-effort cleanup; never throw out of close hooks\r\n }\r\n }\r\n\r\n public needsElementReservation(federationGuid: GuidString): boolean {\r\n if (!SchemaSync.isEnabled(this._iModel))\r\n return false;\r\n\r\n if (!Guid.isGuid(federationGuid))\r\n ElementReservationError.throwError(\"invalid-reservation\", { message: \"Invalid federationGuid\" });\r\n\r\n return !this._schemaSync.reader.findReservedElement(federationGuid);\r\n }\r\n\r\n public async reserveElements(args: SynchronousChannel.ReserveElementsArgs): Promise<void> {\r\n const validated = this.validateProposedReservations(args);\r\n await this._schemaSync.writeLocker.reserveElements(validated);\r\n }\r\n\r\n public [_onReservedElementInsert](arg: OnElementPropsArg): void {\r\n if (!SchemaSync.isEnabled(arg.iModel) || arg.iModel.holdsSchemaLock)\r\n return;\r\n\r\n const fedGuid = arg.props.federationGuid;\r\n // The hook is only invoked for elements with an explicitly-set federationGuid (gated in Element.onInsert),\r\n // but validate defensively.\r\n if (fedGuid === undefined || !Guid.isGuid(fedGuid))\r\n ElementReservationError.throwError(\"invalid-reservation\", { message: \"Element inserts require a valid federationGuid when SchemaSync is enabled\" });\r\n\r\n // It should be impossible for us to still have local changes, but check just in case,\r\n // since we can't trust the contents of the SchemaSyncDb until they've been successfully pushed.\r\n if (this._schemaSync.container.hasLocalChanges)\r\n ElementReservationError.throwError(\"container-has-local-changes\", { message: \"Element inserts are not allowed when there are local changes in the SchemaSync container\" });\r\n\r\n const code = Code.fromJSON(arg.props.code);\r\n\r\n const existing = this._schemaSync.reader.findReservedElement(fedGuid);\r\n if (!existing) {\r\n ElementReservationError.throwError(\"reservation-not-found\", {\r\n message: `No SchemaSync reservation found for element with federationGuid ${fedGuid} — include it in a SynchronousChannel.Reservations.reserveElements call before inserting`,\r\n federationGuid: fedGuid,\r\n });\r\n }\r\n\r\n const expectedClassId = arg.iModel[_nativeDb].classNameToId(arg.props.classFullName);\r\n if (existing.ecClassId !== expectedClassId) {\r\n ElementReservationError.throwError(\"reservation-conflict\", {\r\n message: `Element ${existing.federationGuid} reserved as a different class than the insert (${existing.ecClassId} vs ${expectedClassId})`,\r\n federationGuid: existing.federationGuid,\r\n });\r\n }\r\n\r\n if (!existing.code.equals(code))\r\n ElementReservationError.throwError(\"reservation-conflict\", {\r\n message: `Element ${existing.federationGuid} insert uses a different Code than was reserved`,\r\n federationGuid: existing.federationGuid,\r\n });\r\n\r\n arg.props.id = existing.elementId;\r\n const options = arg.options ?? (arg.options = {} as InsertElementOptions);\r\n options.forceUseId = true;\r\n }\r\n\r\n private validateProposedReservations(args: SynchronousChannel.ReserveElementsArgs): SchemaSync.ProposedElementReservation[] {\r\n const out: SchemaSync.ProposedElementReservation[] = [];\r\n const errors: string[] = [];\r\n for (const props of args.elements) {\r\n if (!props.federationGuid || !Guid.isGuid(props.federationGuid)) {\r\n errors.push(`element reservation requires an explicit, valid federationGuid (got '${props.federationGuid ?? \"<none>\"}')`);\r\n continue;\r\n }\r\n\r\n const code = props.code ? Code.fromJSON(props.code) : Code.createEmpty();\r\n if (code.value && !Code.isValid(code)) {\r\n errors.push(`(${props.federationGuid}): invalid code '${code.toString()}'`);\r\n continue;\r\n }\r\n\r\n const ecClassId = this._iModel[_nativeDb].classNameToId(props.classFullName);\r\n if (!Id64.isValidId64(ecClassId)) {\r\n errors.push(`(${props.federationGuid}): unknown class '${props.classFullName}'`);\r\n continue;\r\n }\r\n\r\n out.push({\r\n federationGuid: props.federationGuid,\r\n ecClassId,\r\n code,\r\n isCategory: props.classFullName === Category.classFullName || this._iModel[_nativeDb].isSubClassOf(props.classFullName, Category.classFullName),\r\n });\r\n }\r\n\r\n if (errors.length > 0)\r\n ElementReservationError.throwError(\"invalid-reservation\", { message: `Invalid element(s) for reservation:\\n ${errors.join(\"\\n \")}` });\r\n\r\n return out;\r\n }\r\n}\r\n\r\nexport async function createSchemaSyncReservations(iModel: IModelDb): Promise<SynchronousChannel.Reservations> {\r\n return SchemaSyncReservations.create(iModel);\r\n}\r\n"]}
@@ -23,4 +23,5 @@ export declare const _instanceKeyCache: unique symbol;
23
23
  /** @internal */
24
24
  export declare const _activeTxn: unique symbol;
25
25
  export declare const _resetIModelDb: unique symbol;
26
+ export declare const _onReservedElementInsert: unique symbol;
26
27
  //# sourceMappingURL=Symbols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Symbols.d.ts","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,yBAAyB,eAAmG,CAAC;AAM1I,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAuC,CAAC;AACvE,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,QAAQ,eAA6B,CAAC;AACnD,eAAO,MAAM,IAAI,eAAyB,CAAC;AAC3C,gBAAgB;AAChB,eAAO,MAAM,YAAY,eAAiC,CAAC;AAC3D,gBAAgB;AAChB,eAAO,MAAM,SAAS,eAA8B,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,eAAmC,CAAC;AAC/D,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,eAAe,eAAoC,CAAC;AACjE,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,iBAAiB,eAAsC,CAAC;AACrE,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,eAAmC,CAAC"}
1
+ {"version":3,"file":"Symbols.d.ts","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,eAAO,MAAM,yBAAyB,eAAmG,CAAC;AAM1I,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAuC,CAAC;AACvE,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,QAAQ,eAA6B,CAAC;AACnD,eAAO,MAAM,IAAI,eAAyB,CAAC;AAC3C,gBAAgB;AAChB,eAAO,MAAM,YAAY,eAAiC,CAAC;AAC3D,gBAAgB;AAChB,eAAO,MAAM,SAAS,eAA8B,CAAC;AACrD,eAAO,MAAM,gBAAgB,eAAqC,CAAC;AACnE,eAAO,MAAM,cAAc,eAAmC,CAAC;AAC/D,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,eAAkC,CAAC;AAC7D,eAAO,MAAM,eAAe,eAAoC,CAAC;AACjE,eAAO,MAAM,MAAM,eAA2B,CAAC;AAC/C,eAAO,MAAM,iBAAiB,eAAsC,CAAC;AACrE,gBAAgB;AAChB,eAAO,MAAM,UAAU,eAA+B,CAAC;AACvD,eAAO,MAAM,cAAc,eAAmC,CAAC;AAC/D,eAAO,MAAM,wBAAwB,eAA6C,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * @module Workspace
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports._resetIModelDb = exports._activeTxn = exports._instanceKeyCache = exports._cache = exports._mockCheckpoint = exports._getHubAccess = exports._setHubAccess = exports._hubAccess = exports._verifyChannel = exports._releaseAllLocks = exports._nativeDb = exports._implicitTxn = exports._key = exports._getData = exports._faceProps = exports._elementWasCreated = exports._close = exports._implementationProhibited = void 0;
10
+ exports._onReservedElementInsert = exports._resetIModelDb = exports._activeTxn = exports._instanceKeyCache = exports._cache = exports._mockCheckpoint = exports._getHubAccess = exports._setHubAccess = exports._hubAccess = exports._verifyChannel = exports._releaseAllLocks = exports._nativeDb = exports._implicitTxn = exports._key = exports._getData = exports._faceProps = exports._elementWasCreated = exports._close = exports._implementationProhibited = void 0;
11
11
  exports._implementationProhibited = Symbol.for("Implementations of this interface can only be obtained from the containing package");
12
12
  function sym(name) {
13
13
  return `${name}_core-backend_INTERNAL_ONLY_DO_NOT_USE`;
@@ -33,4 +33,5 @@ exports._instanceKeyCache = Symbol.for(sym("instanceKeyCache"));
33
33
  /** @internal */
34
34
  exports._activeTxn = Symbol.for(sym("activeTxn"));
35
35
  exports._resetIModelDb = Symbol.for(sym("resetIModelDb"));
36
+ exports._onReservedElementInsert = Symbol.for(sym("onReservedElementInsert"));
36
37
  //# sourceMappingURL=Symbols.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Symbols.js","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEU,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;AAE1I,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,wCAAwC,CAAC;AACzD,CAAC;AAEY,QAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC1D,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,QAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACtC,QAAA,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,gBAAgB;AACH,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,gBAAgB;AACH,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC,QAAA,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtD,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,gBAAgB;AACH,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAChD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAChD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACpD,QAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrE,gBAAgB;AACH,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Workspace\r\n */\r\n\r\nexport const _implementationProhibited = Symbol.for(\"Implementations of this interface can only be obtained from the containing package\");\r\n\r\nfunction sym(name: string): string {\r\n return `${name}_core-backend_INTERNAL_ONLY_DO_NOT_USE`;\r\n}\r\n\r\nexport const _close = Symbol.for(sym(\"close\"));\r\nexport const _elementWasCreated = Symbol.for(sym(\"elementWasCreated\"));\r\nexport const _faceProps = Symbol.for(sym(\"faceProps\"));\r\nexport const _getData = Symbol.for(sym(\"getData\"));\r\nexport const _key = Symbol.for(sym(\"key\"));\r\n/** @internal */\r\nexport const _implicitTxn = Symbol.for(sym(\"implicitTxn\"));\r\n/** @internal */\r\nexport const _nativeDb = Symbol.for(sym(\"nativeDb\"));\r\nexport const _releaseAllLocks = Symbol.for(sym(\"releaseAllLocks\"));\r\nexport const _verifyChannel = Symbol.for(sym(\"verifyChannel\"));\r\n/** @internal */\r\nexport const _hubAccess = Symbol.for(sym(\"hubAccess\"));\r\nexport const _setHubAccess = Symbol.for(sym(\"setHubAccess\"));\r\nexport const _getHubAccess = Symbol.for(sym(\"getHubAccess\"));\r\nexport const _mockCheckpoint = Symbol.for(sym(\"mockCheckpoint\"));\r\nexport const _cache = Symbol.for(sym(\"cache\"));\r\nexport const _instanceKeyCache = Symbol.for(sym(\"instanceKeyCache\"));\r\n/** @internal */\r\nexport const _activeTxn = Symbol.for(sym(\"activeTxn\"));\r\nexport const _resetIModelDb = Symbol.for(sym(\"resetIModelDb\"));\r\n"]}
1
+ {"version":3,"file":"Symbols.js","sourceRoot":"","sources":["../../../src/internal/Symbols.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEU,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAAC;AAE1I,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,IAAI,wCAAwC,CAAC;AACzD,CAAC;AAEY,QAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC1D,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,QAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AACtC,QAAA,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,gBAAgB;AACH,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,gBAAgB;AACH,QAAA,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC,QAAA,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACtD,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC/D,gBAAgB;AACH,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAChD,QAAA,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;AAChD,QAAA,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACpD,QAAA,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,QAAA,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACrE,gBAAgB;AACH,QAAA,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1C,QAAA,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAClD,QAAA,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Workspace\r\n */\r\n\r\nexport const _implementationProhibited = Symbol.for(\"Implementations of this interface can only be obtained from the containing package\");\r\n\r\nfunction sym(name: string): string {\r\n return `${name}_core-backend_INTERNAL_ONLY_DO_NOT_USE`;\r\n}\r\n\r\nexport const _close = Symbol.for(sym(\"close\"));\r\nexport const _elementWasCreated = Symbol.for(sym(\"elementWasCreated\"));\r\nexport const _faceProps = Symbol.for(sym(\"faceProps\"));\r\nexport const _getData = Symbol.for(sym(\"getData\"));\r\nexport const _key = Symbol.for(sym(\"key\"));\r\n/** @internal */\r\nexport const _implicitTxn = Symbol.for(sym(\"implicitTxn\"));\r\n/** @internal */\r\nexport const _nativeDb = Symbol.for(sym(\"nativeDb\"));\r\nexport const _releaseAllLocks = Symbol.for(sym(\"releaseAllLocks\"));\r\nexport const _verifyChannel = Symbol.for(sym(\"verifyChannel\"));\r\n/** @internal */\r\nexport const _hubAccess = Symbol.for(sym(\"hubAccess\"));\r\nexport const _setHubAccess = Symbol.for(sym(\"setHubAccess\"));\r\nexport const _getHubAccess = Symbol.for(sym(\"getHubAccess\"));\r\nexport const _mockCheckpoint = Symbol.for(sym(\"mockCheckpoint\"));\r\nexport const _cache = Symbol.for(sym(\"cache\"));\r\nexport const _instanceKeyCache = Symbol.for(sym(\"instanceKeyCache\"));\r\n/** @internal */\r\nexport const _activeTxn = Symbol.for(sym(\"activeTxn\"));\r\nexport const _resetIModelDb = Symbol.for(sym(\"resetIModelDb\"));\r\nexport const _onReservedElementInsert = Symbol.for(sym(\"onReservedElementInsert\"));\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"BriefcaseManager.d.ts","sourceRoot":"","sources":["../../src/BriefcaseManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BriefcaseManager.d.ts","sourceRoot":"","sources":["../../src/BriefcaseManager.ts"],"names":[],"mappings":"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"}
@@ -352,7 +352,8 @@ export class BriefcaseManager {
352
352
  return status;
353
353
  }
354
354
  static async applySingleChangeset(db, changesetFile, fastForward, noUpdateLoop) {
355
- if (changesetFile.changesType === ChangesetType.Schema || changesetFile.changesType === ChangesetType.SchemaSync)
355
+ // SchemaSync sets the Schema bit on top of its own, so test the bit rather than comparing whole values.
356
+ if ((changesetFile.changesType & ChangesetType.Schema) !== 0)
356
357
  db.clearCaches(); // for schema changesets, statement caches may become invalid. Do this *before* applying, in case db needs to be closed (open statements hold db open.)
357
358
  db[_nativeDb].applyChangeset(changesetFile, fastForward, noUpdateLoop);
358
359
  db.changeset = db[_nativeDb].getCurrentChangeset();
@@ -464,7 +465,7 @@ export class BriefcaseManager {
464
465
  Logger.logInfo(loggerCategory, `Creating restore point ${this.PULL_MERGE_RESTORE_POINT_NAME}`);
465
466
  await this.createRestorePoint(briefcaseDb, this.PULL_MERGE_RESTORE_POINT_NAME);
466
467
  }
467
- const hasIncomingSchemaChange = changesets.some((changeset) => changeset.changesType === ChangesetType.Schema);
468
+ const hasIncomingSchemaChange = changesets.some((changeset) => (changeset.changesType & ChangesetType.Schema) !== 0);
468
469
  const hasLocalSchemaTxn = briefcaseDb?.checkIfSchemaTxnExists() ?? false;
469
470
  const useSemanticRebase = briefcaseDb !== undefined &&
470
471
  IModelHost.useSemanticRebase &&
@@ -679,12 +680,17 @@ export class BriefcaseManager {
679
680
  while (true) {
680
681
  try {
681
682
  await BriefcaseManager.pullAndApplyChangesets(db, arg);
682
- if (!db.skipSyncSchemasOnPullAndPush)
683
- await SchemaSync.pull(db);
683
+ SchemaSync.updateDbSchema(db);
684
684
  // pullAndApply rebase changes and might remove redundant changes in local briefcase
685
685
  // this mean hasPendingTxns was true before but now after pullAndApply it might be false
686
- if (!db[_nativeDb].hasPendingTxns())
686
+ if (!db[_nativeDb].hasPendingTxns()) {
687
+ // There is nothing left to push, so the locks this briefcase took for the dropped changes have to go
688
+ // back the same way the other exits from push release them. Otherwise it keeps the shared schema lock
689
+ // and no one else can take the exclusive one.
690
+ if (!arg.retainLocks)
691
+ await db.locks[_releaseAllLocks]();
687
692
  return;
693
+ }
688
694
  await BriefcaseManager.pushChanges(db, arg);
689
695
  }
690
696
  catch (err) {