@itwin/core-backend 3.0.0-dev.100

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 (245) hide show
  1. package/CHANGELOG.md +1525 -0
  2. package/LICENSE.md +9 -0
  3. package/README.md +11 -0
  4. package/lib/cjs/AliCloudStorageService.d.ts +12 -0
  5. package/lib/cjs/AliCloudStorageService.d.ts.map +1 -0
  6. package/lib/cjs/AliCloudStorageService.js +70 -0
  7. package/lib/cjs/AliCloudStorageService.js.map +1 -0
  8. package/lib/cjs/BackendHubAccess.d.ts +208 -0
  9. package/lib/cjs/BackendHubAccess.d.ts.map +1 -0
  10. package/lib/cjs/BackendHubAccess.js +42 -0
  11. package/lib/cjs/BackendHubAccess.js.map +1 -0
  12. package/lib/cjs/BackendLoggerCategory.d.ts +83 -0
  13. package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -0
  14. package/lib/cjs/BackendLoggerCategory.js +91 -0
  15. package/lib/cjs/BackendLoggerCategory.js.map +1 -0
  16. package/lib/cjs/BisCoreSchema.d.ts +22 -0
  17. package/lib/cjs/BisCoreSchema.d.ts.map +1 -0
  18. package/lib/cjs/BisCoreSchema.js +61 -0
  19. package/lib/cjs/BisCoreSchema.js.map +1 -0
  20. package/lib/cjs/BriefcaseManager.d.ts +167 -0
  21. package/lib/cjs/BriefcaseManager.d.ts.map +1 -0
  22. package/lib/cjs/BriefcaseManager.js +406 -0
  23. package/lib/cjs/BriefcaseManager.js.map +1 -0
  24. package/lib/cjs/Category.d.ts +154 -0
  25. package/lib/cjs/Category.d.ts.map +1 -0
  26. package/lib/cjs/Category.js +244 -0
  27. package/lib/cjs/Category.js.map +1 -0
  28. package/lib/cjs/ChangeSummaryManager.d.ts +188 -0
  29. package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -0
  30. package/lib/cjs/ChangeSummaryManager.js +444 -0
  31. package/lib/cjs/ChangeSummaryManager.js.map +1 -0
  32. package/lib/cjs/ChangedElementsDb.d.ts +97 -0
  33. package/lib/cjs/ChangedElementsDb.d.ts.map +1 -0
  34. package/lib/cjs/ChangedElementsDb.js +166 -0
  35. package/lib/cjs/ChangedElementsDb.js.map +1 -0
  36. package/lib/cjs/ChangedElementsManager.d.ts +40 -0
  37. package/lib/cjs/ChangedElementsManager.d.ts.map +1 -0
  38. package/lib/cjs/ChangedElementsManager.js +89 -0
  39. package/lib/cjs/ChangedElementsManager.js.map +1 -0
  40. package/lib/cjs/CheckpointManager.d.ts +101 -0
  41. package/lib/cjs/CheckpointManager.d.ts.map +1 -0
  42. package/lib/cjs/CheckpointManager.js +257 -0
  43. package/lib/cjs/CheckpointManager.js.map +1 -0
  44. package/lib/cjs/ClassRegistry.d.ts +72 -0
  45. package/lib/cjs/ClassRegistry.d.ts.map +1 -0
  46. package/lib/cjs/ClassRegistry.js +154 -0
  47. package/lib/cjs/ClassRegistry.js.map +1 -0
  48. package/lib/cjs/CloudStorageBackend.d.ts +46 -0
  49. package/lib/cjs/CloudStorageBackend.d.ts.map +1 -0
  50. package/lib/cjs/CloudStorageBackend.js +157 -0
  51. package/lib/cjs/CloudStorageBackend.js.map +1 -0
  52. package/lib/cjs/CodeSpecs.d.ts +51 -0
  53. package/lib/cjs/CodeSpecs.d.ts.map +1 -0
  54. package/lib/cjs/CodeSpecs.js +113 -0
  55. package/lib/cjs/CodeSpecs.js.map +1 -0
  56. package/lib/cjs/ConcurrentQuery.d.ts +12 -0
  57. package/lib/cjs/ConcurrentQuery.d.ts.map +1 -0
  58. package/lib/cjs/ConcurrentQuery.js +24 -0
  59. package/lib/cjs/ConcurrentQuery.js.map +1 -0
  60. package/lib/cjs/DevTools.d.ts +72 -0
  61. package/lib/cjs/DevTools.d.ts.map +1 -0
  62. package/lib/cjs/DevTools.js +155 -0
  63. package/lib/cjs/DevTools.js.map +1 -0
  64. package/lib/cjs/DisplayStyle.d.ts +107 -0
  65. package/lib/cjs/DisplayStyle.d.ts.map +1 -0
  66. package/lib/cjs/DisplayStyle.js +292 -0
  67. package/lib/cjs/DisplayStyle.js.map +1 -0
  68. package/lib/cjs/ECDb.d.ts +196 -0
  69. package/lib/cjs/ECDb.d.ts.map +1 -0
  70. package/lib/cjs/ECDb.js +354 -0
  71. package/lib/cjs/ECDb.js.map +1 -0
  72. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -0
  73. package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -0
  74. package/lib/cjs/ECSchemaXmlContext.js +36 -0
  75. package/lib/cjs/ECSchemaXmlContext.js.map +1 -0
  76. package/lib/cjs/ECSqlStatement.d.ts +467 -0
  77. package/lib/cjs/ECSqlStatement.d.ts.map +1 -0
  78. package/lib/cjs/ECSqlStatement.js +783 -0
  79. package/lib/cjs/ECSqlStatement.js.map +1 -0
  80. package/lib/cjs/Element.d.ts +1082 -0
  81. package/lib/cjs/Element.d.ts.map +1 -0
  82. package/lib/cjs/Element.js +1392 -0
  83. package/lib/cjs/Element.js.map +1 -0
  84. package/lib/cjs/ElementAspect.d.ts +157 -0
  85. package/lib/cjs/ElementAspect.d.ts.map +1 -0
  86. package/lib/cjs/ElementAspect.js +179 -0
  87. package/lib/cjs/ElementAspect.js.map +1 -0
  88. package/lib/cjs/ElementGraphics.d.ts +10 -0
  89. package/lib/cjs/ElementGraphics.d.ts.map +1 -0
  90. package/lib/cjs/ElementGraphics.js +42 -0
  91. package/lib/cjs/ElementGraphics.js.map +1 -0
  92. package/lib/cjs/Entity.d.ts +57 -0
  93. package/lib/cjs/Entity.d.ts.map +1 -0
  94. package/lib/cjs/Entity.js +63 -0
  95. package/lib/cjs/Entity.js.map +1 -0
  96. package/lib/cjs/ExportGraphics.d.ts +302 -0
  97. package/lib/cjs/ExportGraphics.d.ts.map +1 -0
  98. package/lib/cjs/ExportGraphics.js +206 -0
  99. package/lib/cjs/ExportGraphics.js.map +1 -0
  100. package/lib/cjs/ExternalSource.d.ts +95 -0
  101. package/lib/cjs/ExternalSource.d.ts.map +1 -0
  102. package/lib/cjs/ExternalSource.js +126 -0
  103. package/lib/cjs/ExternalSource.js.map +1 -0
  104. package/lib/cjs/GeometrySummary.d.ts +5 -0
  105. package/lib/cjs/GeometrySummary.d.ts.map +1 -0
  106. package/lib/cjs/GeometrySummary.js +378 -0
  107. package/lib/cjs/GeometrySummary.js.map +1 -0
  108. package/lib/cjs/IModelCloneContext.d.ts +74 -0
  109. package/lib/cjs/IModelCloneContext.d.ts.map +1 -0
  110. package/lib/cjs/IModelCloneContext.js +130 -0
  111. package/lib/cjs/IModelCloneContext.js.map +1 -0
  112. package/lib/cjs/IModelDb.d.ts +1107 -0
  113. package/lib/cjs/IModelDb.d.ts.map +1 -0
  114. package/lib/cjs/IModelDb.js +2161 -0
  115. package/lib/cjs/IModelDb.js.map +1 -0
  116. package/lib/cjs/IModelHost.d.ts +284 -0
  117. package/lib/cjs/IModelHost.d.ts.map +1 -0
  118. package/lib/cjs/IModelHost.js +411 -0
  119. package/lib/cjs/IModelHost.js.map +1 -0
  120. package/lib/cjs/IModelJsFs.d.ts +63 -0
  121. package/lib/cjs/IModelJsFs.d.ts.map +1 -0
  122. package/lib/cjs/IModelJsFs.js +141 -0
  123. package/lib/cjs/IModelJsFs.js.map +1 -0
  124. package/lib/cjs/IModelSchemaLoader.d.ts +26 -0
  125. package/lib/cjs/IModelSchemaLoader.d.ts.map +1 -0
  126. package/lib/cjs/IModelSchemaLoader.js +95 -0
  127. package/lib/cjs/IModelSchemaLoader.js.map +1 -0
  128. package/lib/cjs/IpcHost.d.ts +99 -0
  129. package/lib/cjs/IpcHost.d.ts.map +1 -0
  130. package/lib/cjs/IpcHost.js +234 -0
  131. package/lib/cjs/IpcHost.js.map +1 -0
  132. package/lib/cjs/LineStyle.d.ts +312 -0
  133. package/lib/cjs/LineStyle.d.ts.map +1 -0
  134. package/lib/cjs/LineStyle.js +296 -0
  135. package/lib/cjs/LineStyle.js.map +1 -0
  136. package/lib/cjs/LocalhostIpcHost.d.ts +19 -0
  137. package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -0
  138. package/lib/cjs/LocalhostIpcHost.js +52 -0
  139. package/lib/cjs/LocalhostIpcHost.js.map +1 -0
  140. package/lib/cjs/Material.d.ts +102 -0
  141. package/lib/cjs/Material.d.ts.map +1 -0
  142. package/lib/cjs/Material.js +146 -0
  143. package/lib/cjs/Material.js.map +1 -0
  144. package/lib/cjs/Model.d.ts +387 -0
  145. package/lib/cjs/Model.d.ts.map +1 -0
  146. package/lib/cjs/Model.js +469 -0
  147. package/lib/cjs/Model.js.map +1 -0
  148. package/lib/cjs/NativeAppStorage.d.ts +52 -0
  149. package/lib/cjs/NativeAppStorage.d.ts.map +1 -0
  150. package/lib/cjs/NativeAppStorage.js +203 -0
  151. package/lib/cjs/NativeAppStorage.js.map +1 -0
  152. package/lib/cjs/NativeHost.d.ts +71 -0
  153. package/lib/cjs/NativeHost.d.ts.map +1 -0
  154. package/lib/cjs/NativeHost.js +221 -0
  155. package/lib/cjs/NativeHost.js.map +1 -0
  156. package/lib/cjs/NavigationRelationship.d.ts +157 -0
  157. package/lib/cjs/NavigationRelationship.d.ts.map +1 -0
  158. package/lib/cjs/NavigationRelationship.js +226 -0
  159. package/lib/cjs/NavigationRelationship.js.map +1 -0
  160. package/lib/cjs/PromiseMemoizer.d.ts +52 -0
  161. package/lib/cjs/PromiseMemoizer.d.ts.map +1 -0
  162. package/lib/cjs/PromiseMemoizer.js +93 -0
  163. package/lib/cjs/PromiseMemoizer.js.map +1 -0
  164. package/lib/cjs/Relationship.d.ts +400 -0
  165. package/lib/cjs/Relationship.d.ts.map +1 -0
  166. package/lib/cjs/Relationship.js +460 -0
  167. package/lib/cjs/Relationship.js.map +1 -0
  168. package/lib/cjs/RpcBackend.d.ts +23 -0
  169. package/lib/cjs/RpcBackend.d.ts.map +1 -0
  170. package/lib/cjs/RpcBackend.js +94 -0
  171. package/lib/cjs/RpcBackend.js.map +1 -0
  172. package/lib/cjs/SQLiteDb.d.ts +66 -0
  173. package/lib/cjs/SQLiteDb.d.ts.map +1 -0
  174. package/lib/cjs/SQLiteDb.js +140 -0
  175. package/lib/cjs/SQLiteDb.js.map +1 -0
  176. package/lib/cjs/Schema.d.ts +56 -0
  177. package/lib/cjs/Schema.d.ts.map +1 -0
  178. package/lib/cjs/Schema.js +84 -0
  179. package/lib/cjs/Schema.js.map +1 -0
  180. package/lib/cjs/ServerBasedLocks.d.ts +64 -0
  181. package/lib/cjs/ServerBasedLocks.d.ts.map +1 -0
  182. package/lib/cjs/ServerBasedLocks.js +177 -0
  183. package/lib/cjs/ServerBasedLocks.js.map +1 -0
  184. package/lib/cjs/SqliteStatement.d.ts +264 -0
  185. package/lib/cjs/SqliteStatement.d.ts.map +1 -0
  186. package/lib/cjs/SqliteStatement.js +417 -0
  187. package/lib/cjs/SqliteStatement.js.map +1 -0
  188. package/lib/cjs/Texture.d.ts +59 -0
  189. package/lib/cjs/Texture.d.ts.map +1 -0
  190. package/lib/cjs/Texture.js +83 -0
  191. package/lib/cjs/Texture.js.map +1 -0
  192. package/lib/cjs/TxnManager.d.ts +203 -0
  193. package/lib/cjs/TxnManager.d.ts.map +1 -0
  194. package/lib/cjs/TxnManager.js +354 -0
  195. package/lib/cjs/TxnManager.js.map +1 -0
  196. package/lib/cjs/ViewDefinition.d.ts +432 -0
  197. package/lib/cjs/ViewDefinition.d.ts.map +1 -0
  198. package/lib/cjs/ViewDefinition.js +623 -0
  199. package/lib/cjs/ViewDefinition.js.map +1 -0
  200. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -0
  201. package/lib/cjs/core-backend.d.ts +162 -0
  202. package/lib/cjs/core-backend.d.ts.map +1 -0
  203. package/lib/cjs/core-backend.js +181 -0
  204. package/lib/cjs/core-backend.js.map +1 -0
  205. package/lib/cjs/domains/FunctionalElements.d.ts +102 -0
  206. package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -0
  207. package/lib/cjs/domains/FunctionalElements.js +146 -0
  208. package/lib/cjs/domains/FunctionalElements.js.map +1 -0
  209. package/lib/cjs/domains/FunctionalSchema.d.ts +14 -0
  210. package/lib/cjs/domains/FunctionalSchema.d.ts.map +1 -0
  211. package/lib/cjs/domains/FunctionalSchema.js +41 -0
  212. package/lib/cjs/domains/FunctionalSchema.js.map +1 -0
  213. package/lib/cjs/domains/GenericElements.d.ts +178 -0
  214. package/lib/cjs/domains/GenericElements.d.ts.map +1 -0
  215. package/lib/cjs/domains/GenericElements.js +264 -0
  216. package/lib/cjs/domains/GenericElements.js.map +1 -0
  217. package/lib/cjs/domains/GenericSchema.d.ts +11 -0
  218. package/lib/cjs/domains/GenericSchema.d.ts.map +1 -0
  219. package/lib/cjs/domains/GenericSchema.js +29 -0
  220. package/lib/cjs/domains/GenericSchema.js.map +1 -0
  221. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
  222. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
  223. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +33 -0
  224. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -0
  225. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +40 -0
  226. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
  227. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +207 -0
  228. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -0
  229. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
  230. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
  231. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +193 -0
  232. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -0
  233. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +37 -0
  234. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
  235. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +162 -0
  236. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
  237. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +17 -0
  238. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
  239. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +44 -0
  240. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
  241. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +16 -0
  242. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts.map +1 -0
  243. package/lib/cjs/rpc-impl/WipRpcImpl.js +35 -0
  244. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -0
  245. package/package.json +101 -0
package/LICENSE.md ADDED
@@ -0,0 +1,9 @@
1
+ # MIT License
2
+
3
+ Copyright © 2017-2021 Bentley Systems, Incorporated. All rights reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
+
7
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # @itwin/core-backend
2
+
3
+ Copyright © Bentley Systems, Incorporated. All rights reserved. See LICENSE.md for license terms and full copyright notice.
4
+
5
+ ## Description
6
+
7
+ The __@itwin/core-backend__ package contains classes that backend code can use to work with directly with iModels.
8
+
9
+ ## Documentation
10
+
11
+ See the [iTwin.js](https://www.itwinjs.org) documentation for more information.
@@ -0,0 +1,12 @@
1
+ import { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider } from "@itwin/core-common";
2
+ import { CloudStorageService, CloudStorageServiceCredentials, CloudStorageUploadOptions } from "./CloudStorageBackend";
3
+ /** @beta */
4
+ export declare class AliCloudStorageService extends CloudStorageService {
5
+ private _client;
6
+ id: CloudStorageProvider;
7
+ constructor(credentials: CloudStorageServiceCredentials);
8
+ obtainContainerUrl(id: CloudStorageContainerDescriptor, expiry: Date, _clientIp?: string): CloudStorageContainerUrl;
9
+ listContainer(name: string, marker: string, count: number): Promise<string[]>;
10
+ upload(container: string, name: string, data: Uint8Array, options?: CloudStorageUploadOptions): Promise<string>;
11
+ }
12
+ //# sourceMappingURL=AliCloudStorageService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AliCloudStorageService.d.ts","sourceRoot":"","sources":["../../src/AliCloudStorageService.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACrH,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAuBvH,YAAY;AACZ,qBAAa,sBAAuB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,OAAO,CAAM;IAEd,EAAE,uBAAiC;gBAEvB,WAAW,EAAE,8BAA8B;IAUvD,kBAAkB,CAAC,EAAE,EAAE,+BAA+B,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,wBAAwB;IAoB7G,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAM7E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC;CA4B7H"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AliCloudStorageService = void 0;
4
+ /*---------------------------------------------------------------------------------------------
5
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
6
+ * See LICENSE.md in the project root for license terms and full copyright notice.
7
+ *--------------------------------------------------------------------------------------------*/
8
+ const stream_1 = require("stream");
9
+ const zlib = require("zlib");
10
+ const core_common_1 = require("@itwin/core-common");
11
+ const CloudStorageBackend_1 = require("./CloudStorageBackend");
12
+ /** @beta */
13
+ class AliCloudStorageService extends CloudStorageBackend_1.CloudStorageService {
14
+ constructor(credentials) {
15
+ super();
16
+ this.id = core_common_1.CloudStorageProvider.AliCloud;
17
+ this._client = new OSS({
18
+ region: "oss-cn-hangzhou",
19
+ accessKeyId: credentials.account,
20
+ accessKeySecret: credentials.accessKey,
21
+ });
22
+ }
23
+ obtainContainerUrl(id, expiry, _clientIp) {
24
+ const now = new Date().getTime();
25
+ const policy = {
26
+ expires: expiry.getTime() - now,
27
+ };
28
+ this._client.useBucket(id.name);
29
+ const url = {
30
+ descriptor: this.makeDescriptor(id),
31
+ valid: 0,
32
+ expires: expiry.getTime(),
33
+ url: this._client.signatureUrl(id.resource, policy),
34
+ bound: true,
35
+ };
36
+ return url;
37
+ }
38
+ async listContainer(name, marker, count) {
39
+ this._client.useBucket(name);
40
+ const query = await this._client.list({ marker, "max-keys": count }, {});
41
+ return query.objects ? query.objects.map((o) => o.name) : [];
42
+ }
43
+ async upload(container, name, data, options) {
44
+ await this._client.putBucket(container);
45
+ await this._client.putBucketCORS(container, [{ allowedOrigin: "*", allowedMethod: ["GET", "POST", "PUT", "DELETE", "HEAD"], allowedHeader: "*" }]);
46
+ this._client.useBucket(container);
47
+ const dataStream = new stream_1.PassThrough();
48
+ dataStream.end(data);
49
+ let source;
50
+ const putOptions = {
51
+ mime: (options && options.type) ? options.type : "application/octet-stream",
52
+ headers: {
53
+ // eslint-disable-next-line @typescript-eslint/naming-convention
54
+ "Cache-Control": (options && options.cacheControl) ? options.cacheControl : "private, max-age=31536000, immutable",
55
+ },
56
+ };
57
+ if (options && options.contentEncoding === "gzip") {
58
+ putOptions.headers["Content-Encoding"] = options.contentEncoding;
59
+ const compressor = zlib.createGzip();
60
+ source = dataStream.pipe(compressor);
61
+ }
62
+ else {
63
+ source = dataStream;
64
+ }
65
+ await this._client.putStream(name, source, putOptions);
66
+ return "";
67
+ }
68
+ }
69
+ exports.AliCloudStorageService = AliCloudStorageService;
70
+ //# sourceMappingURL=AliCloudStorageService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AliCloudStorageService.js","sourceRoot":"","sources":["../../src/AliCloudStorageService.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\nimport { PassThrough, Readable } from \"stream\";\r\nimport * as zlib from \"zlib\";\r\nimport { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider } from \"@itwin/core-common\";\r\nimport { CloudStorageService, CloudStorageServiceCredentials, CloudStorageUploadOptions } from \"./CloudStorageBackend\";\r\n\r\ndeclare class OSS {\r\n constructor(params: { region: string, accessKeyId: string, accessKeySecret: string })\r\n public useBucket(name: string): void;\r\n public signatureUrl(name: string, policy: OSS.SignatureUrlOptions): string;\r\n public list(params: { marker: string, \"max-keys\": number }, arg2: {}): Promise<{ objects?: Array<{ name: string }> }>;\r\n public putBucket(name: string): Promise<void>;\r\n public putBucketCORS(name: string, params: Array<{ allowedOrigin: string, allowedMethod: string[], allowedHeader: string }>): Promise<void>;\r\n public putStream(name: string, source: Readable, options: OSS.PutStreamOptions): Promise<void>;\r\n}\r\n\r\ndeclare namespace OSS { // eslint-disable-line no-redeclare\r\n interface SignatureUrlOptions {\r\n expires: number;\r\n }\r\n\r\n interface PutStreamOptions {\r\n mime: string;\r\n headers: { [index: string]: string };\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class AliCloudStorageService extends CloudStorageService {\r\n private _client: OSS;\r\n\r\n public id = CloudStorageProvider.AliCloud;\r\n\r\n public constructor(credentials: CloudStorageServiceCredentials) {\r\n super();\r\n\r\n this._client = new OSS({\r\n region: \"oss-cn-hangzhou\",\r\n accessKeyId: credentials.account,\r\n accessKeySecret: credentials.accessKey,\r\n });\r\n }\r\n\r\n public obtainContainerUrl(id: CloudStorageContainerDescriptor, expiry: Date, _clientIp?: string): CloudStorageContainerUrl {\r\n const now = new Date().getTime();\r\n\r\n const policy: OSS.SignatureUrlOptions = {\r\n expires: expiry.getTime() - now,\r\n };\r\n\r\n this._client.useBucket(id.name);\r\n\r\n const url: CloudStorageContainerUrl = {\r\n descriptor: this.makeDescriptor(id),\r\n valid: 0,\r\n expires: expiry.getTime(),\r\n url: this._client.signatureUrl(id.resource!, policy),\r\n bound: true,\r\n };\r\n\r\n return url;\r\n }\r\n\r\n public async listContainer(name: string, marker: string, count: number): Promise<string[]> {\r\n this._client.useBucket(name);\r\n const query = await this._client.list({ marker, \"max-keys\": count }, {});\r\n return query.objects ? query.objects.map((o) => o.name) : [];\r\n }\r\n\r\n public async upload(container: string, name: string, data: Uint8Array, options?: CloudStorageUploadOptions): Promise<string> {\r\n await this._client.putBucket(container);\r\n await this._client.putBucketCORS(container, [{ allowedOrigin: \"*\", allowedMethod: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"HEAD\"], allowedHeader: \"*\" }]);\r\n this._client.useBucket(container);\r\n\r\n const dataStream = new PassThrough();\r\n dataStream.end(data);\r\n\r\n let source: Readable;\r\n\r\n const putOptions = {\r\n mime: (options && options.type) ? options.type : \"application/octet-stream\",\r\n headers: {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n \"Cache-Control\": (options && options.cacheControl) ? options.cacheControl : \"private, max-age=31536000, immutable\",\r\n },\r\n } as OSS.PutStreamOptions;\r\n\r\n if (options && options.contentEncoding === \"gzip\") {\r\n (putOptions.headers as any)[\"Content-Encoding\"] = options.contentEncoding;\r\n const compressor = zlib.createGzip();\r\n source = dataStream.pipe(compressor);\r\n } else {\r\n source = dataStream;\r\n }\r\n await this._client.putStream(name, source, putOptions);\r\n return \"\";\r\n }\r\n}\r\n"]}
@@ -0,0 +1,208 @@
1
+ /** @packageDocumentation
2
+ * @module HubAccess
3
+ */
4
+ import { AccessToken, GuidString, Id64String } from "@itwin/core-bentley";
5
+ import { BriefcaseId, ChangesetFileProps, ChangesetId, ChangesetIdWithIndex, ChangesetIndex, ChangesetIndexOrId, ChangesetProps, ChangesetRange, IModelError, IModelVersion, LocalDirName, LocalFileName } from "@itwin/core-common";
6
+ import { CheckpointProps, DownloadRequest } from "./CheckpointManager";
7
+ import { TokenArg } from "./IModelDb";
8
+ /** The state of a lock.
9
+ * @public
10
+ */
11
+ export declare enum LockState {
12
+ /** The element is not locked */
13
+ None = 0,
14
+ /** Holding a shared lock on an element blocks other users from acquiring the Exclusive lock it. More than one user may acquire the shared lock. */
15
+ Shared = 1,
16
+ /** A Lock that permits modifications to an element and blocks other users from making modifications to it.
17
+ * Holding an exclusive lock on an "owner" (a model or a parent element), implicitly exclusively locks all its members.
18
+ */
19
+ Exclusive = 2
20
+ }
21
+ /** Exception thrown if lock cannot be acquired.
22
+ * @beta
23
+ */
24
+ export declare class LockConflict extends IModelError {
25
+ /** Id of Briefcase holding lock */
26
+ readonly briefcaseId: BriefcaseId;
27
+ /** Alias of Briefcase holding lock */
28
+ readonly briefcaseAlias: string;
29
+ constructor(
30
+ /** Id of Briefcase holding lock */
31
+ briefcaseId: BriefcaseId,
32
+ /** Alias of Briefcase holding lock */
33
+ briefcaseAlias: string, msg: "shared lock is held" | "exclusive lock is already held");
34
+ }
35
+ /**
36
+ * The properties to access a V2 checkpoint through a daemon.
37
+ * @internal
38
+ */
39
+ export interface V2CheckpointAccessProps {
40
+ /** blob store account name. */
41
+ readonly user: string;
42
+ /** The name of the iModel's blob store container holding all checkpoints. */
43
+ readonly container: string;
44
+ /** AccessToken that grants access to the container. */
45
+ readonly auth: AccessToken;
46
+ /** The name of the virtual file within the container, used for the checkpoint */
47
+ readonly dbAlias: string;
48
+ /** blob storage module: e.g. "azure", "google", "aws". May also include URI style parameters. */
49
+ readonly storageType: string;
50
+ }
51
+ /** @internal */
52
+ export declare type LockMap = Map<Id64String, LockState>;
53
+ /**
54
+ * The properties of a lock that may be obtained from a lock server.
55
+ * @beta
56
+ */
57
+ export interface LockProps {
58
+ /** The elementId for the lock */
59
+ readonly id: Id64String;
60
+ /** the lock state */
61
+ readonly state: LockState;
62
+ }
63
+ /**
64
+ * Argument for methods that must supply an iTwinId
65
+ * @public
66
+ */
67
+ export interface ITwinIdArg {
68
+ readonly iTwinId: GuidString;
69
+ }
70
+ /**
71
+ * Argument for methods that must supply an IModelId
72
+ * @public
73
+ */
74
+ export interface IModelIdArg extends TokenArg {
75
+ readonly iModelId: GuidString;
76
+ }
77
+ /**
78
+ * Argument for acquiring a new BriefcaseId
79
+ * @public
80
+ */
81
+ export interface AcquireNewBriefcaseIdArg extends IModelIdArg {
82
+ /** A string to be reported to other users to identify this briefcase, for example in the case of conflicts or lock collisions. */
83
+ readonly briefcaseAlias?: string;
84
+ }
85
+ /** Argument for methods that must supply an IModel name and iTwinId
86
+ * @public
87
+ */
88
+ export interface IModelNameArg extends TokenArg, ITwinIdArg {
89
+ readonly iModelName: string;
90
+ }
91
+ /** Argument for methods that must supply an IModelId and a BriefcaseId
92
+ * @public
93
+ */
94
+ export interface BriefcaseIdArg extends IModelIdArg {
95
+ readonly briefcaseId: BriefcaseId;
96
+ }
97
+ /** Argument for methods that must supply a briefcaseId and a changeset
98
+ * @public
99
+ */
100
+ export interface BriefcaseDbArg extends BriefcaseIdArg {
101
+ readonly changeset: ChangesetIdWithIndex;
102
+ }
103
+ /** Argument for methods that must supply an IModelId and a changeset
104
+ * @public
105
+ */
106
+ export interface ChangesetArg extends IModelIdArg {
107
+ readonly changeset: ChangesetIndexOrId;
108
+ }
109
+ /** @internal */
110
+ export interface ChangesetIndexArg extends IModelIdArg {
111
+ readonly changeset: ChangesetIdWithIndex;
112
+ }
113
+ /** Argument for methods that must supply an IModelId and a range of ChangesetIds.
114
+ * @public
115
+ */
116
+ export interface ChangesetRangeArg extends IModelIdArg {
117
+ /** the range of changesets desired. If is undefined, *all* changesets are returned. */
118
+ readonly range?: ChangesetRange;
119
+ }
120
+ /** @internal */
121
+ export declare type CheckpointArg = DownloadRequest;
122
+ /**
123
+ * Arguments to create a new iModel in iModelHub
124
+ * @public
125
+ */
126
+ export interface CreateNewIModelProps extends IModelNameArg {
127
+ readonly description?: string;
128
+ readonly revision0?: LocalFileName;
129
+ readonly noLocks?: true;
130
+ }
131
+ /**
132
+ * Methods for accessing services of IModelHub from an iTwin.js backend.
133
+ * Generally direct access to these methods should not be required, since higher-level apis are provided.
134
+ * @beta
135
+ */
136
+ export interface BackendHubAccess {
137
+ /** Download all the changesets in the specified range. */
138
+ downloadChangesets: (arg: ChangesetRangeArg & {
139
+ targetDir: LocalDirName;
140
+ }) => Promise<ChangesetFileProps[]>;
141
+ /** Download a single changeset. */
142
+ downloadChangeset: (arg: ChangesetArg & {
143
+ targetDir: LocalDirName;
144
+ }) => Promise<ChangesetFileProps>;
145
+ /** Query the changeset properties given a ChangesetIndex */
146
+ queryChangeset: (arg: ChangesetArg) => Promise<ChangesetProps>;
147
+ /** Query an array of changeset properties given a range of ChangesetIndexes */
148
+ queryChangesets: (arg: ChangesetRangeArg) => Promise<ChangesetProps[]>;
149
+ /** Push a changeset to iModelHub. Returns the newly pushed changeset's index */
150
+ pushChangeset: (arg: IModelIdArg & {
151
+ changesetProps: ChangesetFileProps;
152
+ }) => Promise<ChangesetIndex>;
153
+ /** Get the ChangesetProps of the most recent changeset */
154
+ getLatestChangeset: (arg: IModelIdArg) => Promise<ChangesetProps>;
155
+ /** Get the ChangesetProps for an IModelVersion */
156
+ getChangesetFromVersion: (arg: IModelIdArg & {
157
+ version: IModelVersion;
158
+ }) => Promise<ChangesetProps>;
159
+ /** Get the ChangesetProps for a named version */
160
+ getChangesetFromNamedVersion: (arg: IModelIdArg & {
161
+ versionName: string;
162
+ }) => Promise<ChangesetProps>;
163
+ /** Acquire a new briefcaseId for the supplied iModelId
164
+ * @note usually there should only be one briefcase per iModel per user.
165
+ */
166
+ acquireNewBriefcaseId: (arg: AcquireNewBriefcaseIdArg) => Promise<BriefcaseId>;
167
+ /** Release a briefcaseId. After this call it is illegal to generate changesets for the released briefcaseId. */
168
+ releaseBriefcase: (arg: BriefcaseIdArg) => Promise<void>;
169
+ /** get an array of the briefcases assigned to a user. */
170
+ getMyBriefcaseIds: (arg: IModelIdArg) => Promise<BriefcaseId[]>;
171
+ /**
172
+ * download a v1 checkpoint
173
+ * @internal
174
+ */
175
+ downloadV1Checkpoint: (arg: CheckpointArg) => Promise<ChangesetId>;
176
+ /**
177
+ * Get the access props for a V2 checkpoint. Returns undefined if no V2 checkpoint exists.
178
+ * @internal
179
+ */
180
+ queryV2Checkpoint: (arg: CheckpointProps) => Promise<V2CheckpointAccessProps | undefined>;
181
+ /**
182
+ * download a v2 checkpoint
183
+ * @internal
184
+ */
185
+ downloadV2Checkpoint: (arg: CheckpointArg) => Promise<ChangesetId>;
186
+ /**
187
+ * acquire one or more locks. Throws if unsuccessful. If *any* lock cannot be obtained, no locks are acquired
188
+ * @internal
189
+ */
190
+ acquireLocks: (arg: BriefcaseDbArg, locks: LockMap) => Promise<void>;
191
+ /**
192
+ * Get the list of all held locks for a briefcase. This can be very expensive and is currently used only for tests.
193
+ * @internal
194
+ */
195
+ queryAllLocks: (arg: BriefcaseDbArg) => Promise<LockProps[]>;
196
+ /**
197
+ * Release all currently held locks
198
+ * @internal
199
+ */
200
+ releaseAllLocks: (arg: BriefcaseDbArg) => Promise<void>;
201
+ /** Get the iModelId of an iModel by name. Undefined if no iModel with that name exists. */
202
+ queryIModelByName: (arg: IModelNameArg) => Promise<GuidString | undefined>;
203
+ /** create a new iModel. Returns the Guid of the newly created iModel */
204
+ createNewIModel: (arg: CreateNewIModelProps) => Promise<GuidString>;
205
+ /** delete an iModel */
206
+ deleteIModel: (arg: IModelIdArg & ITwinIdArg) => Promise<void>;
207
+ }
208
+ //# sourceMappingURL=BackendHubAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendHubAccess.d.ts","sourceRoot":"","sources":["../../src/BackendHubAccess.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
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
+ /** @packageDocumentation
7
+ * @module HubAccess
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.LockConflict = exports.LockState = void 0;
11
+ const core_bentley_1 = require("@itwin/core-bentley");
12
+ const core_common_1 = require("@itwin/core-common");
13
+ /** The state of a lock.
14
+ * @public
15
+ */
16
+ var LockState;
17
+ (function (LockState) {
18
+ /** The element is not locked */
19
+ LockState[LockState["None"] = 0] = "None";
20
+ /** Holding a shared lock on an element blocks other users from acquiring the Exclusive lock it. More than one user may acquire the shared lock. */
21
+ LockState[LockState["Shared"] = 1] = "Shared";
22
+ /** A Lock that permits modifications to an element and blocks other users from making modifications to it.
23
+ * Holding an exclusive lock on an "owner" (a model or a parent element), implicitly exclusively locks all its members.
24
+ */
25
+ LockState[LockState["Exclusive"] = 2] = "Exclusive";
26
+ })(LockState = exports.LockState || (exports.LockState = {}));
27
+ /** Exception thrown if lock cannot be acquired.
28
+ * @beta
29
+ */
30
+ class LockConflict extends core_common_1.IModelError {
31
+ constructor(
32
+ /** Id of Briefcase holding lock */
33
+ briefcaseId,
34
+ /** Alias of Briefcase holding lock */
35
+ briefcaseAlias, msg) {
36
+ super(core_bentley_1.IModelHubStatus.LockOwnedByAnotherBriefcase, msg);
37
+ this.briefcaseId = briefcaseId;
38
+ this.briefcaseAlias = briefcaseAlias;
39
+ }
40
+ }
41
+ exports.LockConflict = LockConflict;
42
+ //# sourceMappingURL=BackendHubAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendHubAccess.js","sourceRoot":"","sources":["../../src/BackendHubAccess.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA2F;AAC3F,oDAG4B;AAI5B;;GAEG;AACH,IAAY,SASX;AATD,WAAY,SAAS;IACnB,gCAAgC;IAChC,yCAAQ,CAAA;IACR,mJAAmJ;IACnJ,6CAAU,CAAA;IACV;;OAEG;IACH,mDAAa,CAAA;AACf,CAAC,EATW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QASpB;AAED;;EAEE;AACF,MAAa,YAAa,SAAQ,yBAAW;IAC3C;IACE,mCAAmC;IACnB,WAAwB;IACxC,sCAAsC;IACtB,cAAsB,EACtC,GAA6D;QAE7D,KAAK,CAAC,8BAAe,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QALxC,gBAAW,GAAX,WAAW,CAAa;QAExB,mBAAc,GAAd,cAAc,CAAQ;IAIxC,CAAC;CACF;AAVD,oCAUC","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 HubAccess\r\n */\r\n\r\nimport { AccessToken, GuidString, Id64String, IModelHubStatus } from \"@itwin/core-bentley\";\r\nimport {\r\n BriefcaseId, ChangesetFileProps, ChangesetId, ChangesetIdWithIndex, ChangesetIndex, ChangesetIndexOrId, ChangesetProps, ChangesetRange, IModelError,\r\n IModelVersion, LocalDirName, LocalFileName,\r\n} from \"@itwin/core-common\";\r\nimport { CheckpointProps, DownloadRequest } from \"./CheckpointManager\";\r\nimport { TokenArg } from \"./IModelDb\";\r\n\r\n/** The state of a lock.\r\n * @public\r\n */\r\nexport enum LockState {\r\n /** The element is not locked */\r\n None = 0,\r\n /** Holding a shared lock on an element blocks other users from acquiring the Exclusive lock it. More than one user may acquire the shared lock. */\r\n Shared = 1,\r\n /** A Lock that permits modifications to an element and blocks other users from making modifications to it.\r\n * Holding an exclusive lock on an \"owner\" (a model or a parent element), implicitly exclusively locks all its members.\r\n */\r\n Exclusive = 2,\r\n}\r\n\r\n/** Exception thrown if lock cannot be acquired.\r\n * @beta\r\n*/\r\nexport class LockConflict extends IModelError {\r\n public constructor(\r\n /** Id of Briefcase holding lock */\r\n public readonly briefcaseId: BriefcaseId,\r\n /** Alias of Briefcase holding lock */\r\n public readonly briefcaseAlias: string,\r\n msg: \"shared lock is held\" | \"exclusive lock is already held\"\r\n ) {\r\n super(IModelHubStatus.LockOwnedByAnotherBriefcase, msg);\r\n }\r\n}\r\n\r\n/**\r\n * The properties to access a V2 checkpoint through a daemon.\r\n * @internal\r\n */\r\nexport interface V2CheckpointAccessProps {\r\n /** blob store account name. */\r\n readonly user: string;\r\n /** The name of the iModel's blob store container holding all checkpoints. */\r\n readonly container: string;\r\n /** AccessToken that grants access to the container. */\r\n readonly auth: AccessToken;\r\n /** The name of the virtual file within the container, used for the checkpoint */\r\n readonly dbAlias: string;\r\n /** blob storage module: e.g. \"azure\", \"google\", \"aws\". May also include URI style parameters. */\r\n readonly storageType: string;\r\n}\r\n\r\n/** @internal */\r\nexport type LockMap = Map<Id64String, LockState>;\r\n\r\n/**\r\n * The properties of a lock that may be obtained from a lock server.\r\n * @beta\r\n */\r\nexport interface LockProps {\r\n /** The elementId for the lock */\r\n readonly id: Id64String;\r\n /** the lock state */\r\n readonly state: LockState;\r\n}\r\n\r\n/**\r\n * Argument for methods that must supply an iTwinId\r\n * @public\r\n */\r\nexport interface ITwinIdArg {\r\n readonly iTwinId: GuidString;\r\n}\r\n\r\n/**\r\n * Argument for methods that must supply an IModelId\r\n * @public\r\n */\r\nexport interface IModelIdArg extends TokenArg {\r\n readonly iModelId: GuidString;\r\n}\r\n\r\n/**\r\n * Argument for acquiring a new BriefcaseId\r\n * @public\r\n */\r\nexport interface AcquireNewBriefcaseIdArg extends IModelIdArg {\r\n /** A string to be reported to other users to identify this briefcase, for example in the case of conflicts or lock collisions. */\r\n readonly briefcaseAlias?: string;\r\n}\r\n\r\n/** Argument for methods that must supply an IModel name and iTwinId\r\n * @public\r\n */\r\nexport interface IModelNameArg extends TokenArg, ITwinIdArg {\r\n readonly iModelName: string;\r\n}\r\n\r\n/** Argument for methods that must supply an IModelId and a BriefcaseId\r\n * @public\r\n */\r\nexport interface BriefcaseIdArg extends IModelIdArg {\r\n readonly briefcaseId: BriefcaseId;\r\n}\r\n\r\n/** Argument for methods that must supply a briefcaseId and a changeset\r\n * @public\r\n */\r\nexport interface BriefcaseDbArg extends BriefcaseIdArg {\r\n readonly changeset: ChangesetIdWithIndex;\r\n}\r\n\r\n/** Argument for methods that must supply an IModelId and a changeset\r\n * @public\r\n */\r\nexport interface ChangesetArg extends IModelIdArg {\r\n readonly changeset: ChangesetIndexOrId;\r\n}\r\n\r\n/** @internal */\r\nexport interface ChangesetIndexArg extends IModelIdArg {\r\n readonly changeset: ChangesetIdWithIndex;\r\n}\r\n\r\n/** Argument for methods that must supply an IModelId and a range of ChangesetIds.\r\n * @public\r\n */\r\nexport interface ChangesetRangeArg extends IModelIdArg {\r\n /** the range of changesets desired. If is undefined, *all* changesets are returned. */\r\n readonly range?: ChangesetRange;\r\n}\r\n\r\n/** @internal */\r\nexport type CheckpointArg = DownloadRequest;\r\n\r\n/**\r\n * Arguments to create a new iModel in iModelHub\r\n * @public\r\n */\r\nexport interface CreateNewIModelProps extends IModelNameArg {\r\n readonly description?: string;\r\n readonly revision0?: LocalFileName;\r\n readonly noLocks?: true;\r\n}\r\n\r\n/**\r\n * Methods for accessing services of IModelHub from an iTwin.js backend.\r\n * Generally direct access to these methods should not be required, since higher-level apis are provided.\r\n * @beta\r\n */\r\nexport interface BackendHubAccess {\r\n /** Download all the changesets in the specified range. */\r\n downloadChangesets: (arg: ChangesetRangeArg & { targetDir: LocalDirName }) => Promise<ChangesetFileProps[]>;\r\n /** Download a single changeset. */\r\n downloadChangeset: (arg: ChangesetArg & { targetDir: LocalDirName }) => Promise<ChangesetFileProps>;\r\n /** Query the changeset properties given a ChangesetIndex */\r\n queryChangeset: (arg: ChangesetArg) => Promise<ChangesetProps>;\r\n /** Query an array of changeset properties given a range of ChangesetIndexes */\r\n queryChangesets: (arg: ChangesetRangeArg) => Promise<ChangesetProps[]>;\r\n /** Push a changeset to iModelHub. Returns the newly pushed changeset's index */\r\n pushChangeset: (arg: IModelIdArg & { changesetProps: ChangesetFileProps }) => Promise<ChangesetIndex>;\r\n /** Get the ChangesetProps of the most recent changeset */\r\n getLatestChangeset: (arg: IModelIdArg) => Promise<ChangesetProps>;\r\n /** Get the ChangesetProps for an IModelVersion */\r\n getChangesetFromVersion: (arg: IModelIdArg & { version: IModelVersion }) => Promise<ChangesetProps>;\r\n /** Get the ChangesetProps for a named version */\r\n getChangesetFromNamedVersion: (arg: IModelIdArg & { versionName: string }) => Promise<ChangesetProps>;\r\n\r\n /** Acquire a new briefcaseId for the supplied iModelId\r\n * @note usually there should only be one briefcase per iModel per user.\r\n */\r\n acquireNewBriefcaseId: (arg: AcquireNewBriefcaseIdArg) => Promise<BriefcaseId>;\r\n /** Release a briefcaseId. After this call it is illegal to generate changesets for the released briefcaseId. */\r\n releaseBriefcase: (arg: BriefcaseIdArg) => Promise<void>;\r\n\r\n /** get an array of the briefcases assigned to a user. */\r\n getMyBriefcaseIds: (arg: IModelIdArg) => Promise<BriefcaseId[]>;\r\n\r\n /**\r\n * download a v1 checkpoint\r\n * @internal\r\n */\r\n downloadV1Checkpoint: (arg: CheckpointArg) => Promise<ChangesetId>;\r\n\r\n /**\r\n * Get the access props for a V2 checkpoint. Returns undefined if no V2 checkpoint exists.\r\n * @internal\r\n */\r\n queryV2Checkpoint: (arg: CheckpointProps) => Promise<V2CheckpointAccessProps | undefined>;\r\n /**\r\n * download a v2 checkpoint\r\n * @internal\r\n */\r\n downloadV2Checkpoint: (arg: CheckpointArg) => Promise<ChangesetId>;\r\n\r\n /**\r\n * acquire one or more locks. Throws if unsuccessful. If *any* lock cannot be obtained, no locks are acquired\r\n * @internal\r\n */\r\n acquireLocks: (arg: BriefcaseDbArg, locks: LockMap) => Promise<void>;\r\n\r\n /**\r\n * Get the list of all held locks for a briefcase. This can be very expensive and is currently used only for tests.\r\n * @internal\r\n */\r\n queryAllLocks: (arg: BriefcaseDbArg) => Promise<LockProps[]>;\r\n\r\n /**\r\n * Release all currently held locks\r\n * @internal\r\n */\r\n releaseAllLocks: (arg: BriefcaseDbArg) => Promise<void>;\r\n\r\n /** Get the iModelId of an iModel by name. Undefined if no iModel with that name exists. */\r\n queryIModelByName: (arg: IModelNameArg) => Promise<GuidString | undefined>;\r\n\r\n /** create a new iModel. Returns the Guid of the newly created iModel */\r\n createNewIModel: (arg: CreateNewIModelProps) => Promise<GuidString>;\r\n\r\n /** delete an iModel */\r\n deleteIModel: (arg: IModelIdArg & ITwinIdArg) => Promise<void>;\r\n}\r\n"]}
@@ -0,0 +1,83 @@
1
+ /** @packageDocumentation
2
+ * @module Logging
3
+ */
4
+ /** Logger categories used by this package
5
+ * @note All logger categories in this package start with the `core-backend` prefix.
6
+ * @see [Logger]($bentley)
7
+ * @public
8
+ */
9
+ export declare enum BackendLoggerCategory {
10
+ /** The logger category used by API related to authorization */
11
+ Authorization = "core-backend.Authorization",
12
+ /** The logger category used by the following classes:
13
+ * - [[CodeSpecs]]
14
+ */
15
+ CodeSpecs = "core-backend.CodeSpecs",
16
+ /** The logger category used by the [[DevTools]] class and related classes.
17
+ * @internal
18
+ */
19
+ DevTools = "core-backend.DevTools",
20
+ /** The logger category used by the following classes:
21
+ * - [[ChangeSummaryManager]]
22
+ * - [[ECDb]]
23
+ * - [[ECSqlStatement]]
24
+ */
25
+ ECDb = "core-backend.ECDb",
26
+ /** The logger category used by the following classes:
27
+ * - [[Functional]]
28
+ */
29
+ Functional = "core-backend.Functional",
30
+ /** The logger category used by the following classes:
31
+ * - [[LinearReferencing]]
32
+ */
33
+ LinearReferencing = "core-backend.LinearReferencing",
34
+ /** The logger category used by the following classes:
35
+ * - BriefcaseManager
36
+ * - [[IModelDb]]
37
+ */
38
+ IModelDb = "core-backend.IModelDb",
39
+ /** The logger category used by the following classes:
40
+ * - [[IModelHost]]
41
+ */
42
+ IModelHost = "core-backend.IModelHost",
43
+ /** The logger category used by the following classes:
44
+ * - TileRequestMemoizer
45
+ */
46
+ IModelTileRequestRpc = "core-backend.IModelTileRequestRpc",
47
+ /** The logger category used by the following classes:
48
+ * - IModelTileRpcImpl (Tile Uploading)
49
+ */
50
+ IModelTileUpload = "core-backend.IModelTileUpload",
51
+ /** The logger category used by the following classes:
52
+ * - [[Relationship]]
53
+ */
54
+ Relationship = "core-backend.Relationship",
55
+ /** The logger category used by the following classes:
56
+ * - [[Schemas]]
57
+ */
58
+ Schemas = "core-backend.Schemas",
59
+ /** The logger category used by the following classes:
60
+ * - [[PromiseMemoizer]]
61
+ */
62
+ PromiseMemoizer = "core-backend.PromiseMemoizer",
63
+ /** The logger category used by the following classes:
64
+ * - [[EventSink]]
65
+ */
66
+ EventSink = "core-backend.EventSink",
67
+ /** The logger category used by the following classes:
68
+ * - [[IModelSchemaLoader]]
69
+ * @alpha
70
+ */
71
+ IModelSchemaLoader = "core-backend.IModelSchemaLoader",
72
+ /** The logger category used by the following classes:
73
+ * - [[iModels]]
74
+ * @alpha
75
+ */
76
+ Editing = "core-backend.Editing",
77
+ /** The logger category used by the following classes:
78
+ * - [[NativeHost]], [[NativeAppStorage]]
79
+ * @internal
80
+ */
81
+ NativeApp = "core-backend.NativeApp"
82
+ }
83
+ //# sourceMappingURL=BackendLoggerCategory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendLoggerCategory.d.ts","sourceRoot":"","sources":["../../src/BackendLoggerCategory.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH;;;;GAIG;AACH,oBAAY,qBAAqB;IAC/B,+DAA+D;IAC/D,aAAa,+BAA+B;IAE5C;;OAEG;IACH,SAAS,2BAA2B;IAEpC;;OAEG;IACH,QAAQ,0BAA0B;IAElC;;;;OAIG;IACH,IAAI,sBAAsB;IAE1B;;OAEG;IACH,UAAU,4BAA4B;IAEtC;;OAEG;IACH,iBAAiB,mCAAmC;IAEpD;;;OAGG;IACH,QAAQ,0BAA0B;IAElC;;OAEG;IACH,UAAU,4BAA4B;IAEtC;;OAEG;IACH,oBAAoB,sCAAsC;IAE1D;;OAEG;IACH,gBAAgB,kCAAkC;IAElD;;OAEG;IACH,YAAY,8BAA8B;IAE1C;;OAEG;IACH,OAAO,yBAAyB;IAEhC;;OAEG;IACH,eAAe,iCAAiC;IAChD;;OAEG;IACH,SAAS,2BAA2B;IAEpC;;;OAGG;IACH,kBAAkB,oCAAoC;IAEtD;;;OAGG;IACH,OAAO,yBAAyB;IAEhC;;;OAGG;IACH,SAAS,2BAA2B;CACrC"}
@@ -0,0 +1,91 @@
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
+ /** @packageDocumentation
7
+ * @module Logging
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BackendLoggerCategory = void 0;
11
+ /** Logger categories used by this package
12
+ * @note All logger categories in this package start with the `core-backend` prefix.
13
+ * @see [Logger]($bentley)
14
+ * @public
15
+ */
16
+ var BackendLoggerCategory;
17
+ (function (BackendLoggerCategory) {
18
+ /** The logger category used by API related to authorization */
19
+ BackendLoggerCategory["Authorization"] = "core-backend.Authorization";
20
+ /** The logger category used by the following classes:
21
+ * - [[CodeSpecs]]
22
+ */
23
+ BackendLoggerCategory["CodeSpecs"] = "core-backend.CodeSpecs";
24
+ /** The logger category used by the [[DevTools]] class and related classes.
25
+ * @internal
26
+ */
27
+ BackendLoggerCategory["DevTools"] = "core-backend.DevTools";
28
+ /** The logger category used by the following classes:
29
+ * - [[ChangeSummaryManager]]
30
+ * - [[ECDb]]
31
+ * - [[ECSqlStatement]]
32
+ */
33
+ BackendLoggerCategory["ECDb"] = "core-backend.ECDb";
34
+ /** The logger category used by the following classes:
35
+ * - [[Functional]]
36
+ */
37
+ BackendLoggerCategory["Functional"] = "core-backend.Functional";
38
+ /** The logger category used by the following classes:
39
+ * - [[LinearReferencing]]
40
+ */
41
+ BackendLoggerCategory["LinearReferencing"] = "core-backend.LinearReferencing";
42
+ /** The logger category used by the following classes:
43
+ * - BriefcaseManager
44
+ * - [[IModelDb]]
45
+ */
46
+ BackendLoggerCategory["IModelDb"] = "core-backend.IModelDb";
47
+ /** The logger category used by the following classes:
48
+ * - [[IModelHost]]
49
+ */
50
+ BackendLoggerCategory["IModelHost"] = "core-backend.IModelHost";
51
+ /** The logger category used by the following classes:
52
+ * - TileRequestMemoizer
53
+ */
54
+ BackendLoggerCategory["IModelTileRequestRpc"] = "core-backend.IModelTileRequestRpc";
55
+ /** The logger category used by the following classes:
56
+ * - IModelTileRpcImpl (Tile Uploading)
57
+ */
58
+ BackendLoggerCategory["IModelTileUpload"] = "core-backend.IModelTileUpload";
59
+ /** The logger category used by the following classes:
60
+ * - [[Relationship]]
61
+ */
62
+ BackendLoggerCategory["Relationship"] = "core-backend.Relationship";
63
+ /** The logger category used by the following classes:
64
+ * - [[Schemas]]
65
+ */
66
+ BackendLoggerCategory["Schemas"] = "core-backend.Schemas";
67
+ /** The logger category used by the following classes:
68
+ * - [[PromiseMemoizer]]
69
+ */
70
+ BackendLoggerCategory["PromiseMemoizer"] = "core-backend.PromiseMemoizer";
71
+ /** The logger category used by the following classes:
72
+ * - [[EventSink]]
73
+ */
74
+ BackendLoggerCategory["EventSink"] = "core-backend.EventSink";
75
+ /** The logger category used by the following classes:
76
+ * - [[IModelSchemaLoader]]
77
+ * @alpha
78
+ */
79
+ BackendLoggerCategory["IModelSchemaLoader"] = "core-backend.IModelSchemaLoader";
80
+ /** The logger category used by the following classes:
81
+ * - [[iModels]]
82
+ * @alpha
83
+ */
84
+ BackendLoggerCategory["Editing"] = "core-backend.Editing";
85
+ /** The logger category used by the following classes:
86
+ * - [[NativeHost]], [[NativeAppStorage]]
87
+ * @internal
88
+ */
89
+ BackendLoggerCategory["NativeApp"] = "core-backend.NativeApp";
90
+ })(BackendLoggerCategory = exports.BackendLoggerCategory || (exports.BackendLoggerCategory = {}));
91
+ //# sourceMappingURL=BackendLoggerCategory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackendLoggerCategory.js","sourceRoot":"","sources":["../../src/BackendLoggerCategory.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH;;;;GAIG;AACH,IAAY,qBAwFX;AAxFD,WAAY,qBAAqB;IAC/B,+DAA+D;IAC/D,qEAA4C,CAAA;IAE5C;;OAEG;IACH,6DAAoC,CAAA;IAEpC;;OAEG;IACH,2DAAkC,CAAA;IAElC;;;;OAIG;IACH,mDAA0B,CAAA;IAE1B;;OAEG;IACH,+DAAsC,CAAA;IAEtC;;OAEG;IACH,6EAAoD,CAAA;IAEpD;;;OAGG;IACH,2DAAkC,CAAA;IAElC;;OAEG;IACH,+DAAsC,CAAA;IAEtC;;OAEG;IACH,mFAA0D,CAAA;IAE1D;;OAEG;IACH,2EAAkD,CAAA;IAElD;;OAEG;IACH,mEAA0C,CAAA;IAE1C;;OAEG;IACH,yDAAgC,CAAA;IAEhC;;OAEG;IACH,yEAAgD,CAAA;IAChD;;OAEG;IACH,6DAAoC,CAAA;IAEpC;;;OAGG;IACH,+EAAsD,CAAA;IAEtD;;;OAGG;IACH,yDAAgC,CAAA;IAEhC;;;OAGG;IACH,6DAAoC,CAAA;AACtC,CAAC,EAxFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAwFhC","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 Logging\r\n */\r\n\r\n/** Logger categories used by this package\r\n * @note All logger categories in this package start with the `core-backend` prefix.\r\n * @see [Logger]($bentley)\r\n * @public\r\n */\r\nexport enum BackendLoggerCategory {\r\n /** The logger category used by API related to authorization */\r\n Authorization = \"core-backend.Authorization\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[CodeSpecs]]\r\n */\r\n CodeSpecs = \"core-backend.CodeSpecs\",\r\n\r\n /** The logger category used by the [[DevTools]] class and related classes.\r\n * @internal\r\n */\r\n DevTools = \"core-backend.DevTools\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[ChangeSummaryManager]]\r\n * - [[ECDb]]\r\n * - [[ECSqlStatement]]\r\n */\r\n ECDb = \"core-backend.ECDb\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[Functional]]\r\n */\r\n Functional = \"core-backend.Functional\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[LinearReferencing]]\r\n */\r\n LinearReferencing = \"core-backend.LinearReferencing\",\r\n\r\n /** The logger category used by the following classes:\r\n * - BriefcaseManager\r\n * - [[IModelDb]]\r\n */\r\n IModelDb = \"core-backend.IModelDb\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[IModelHost]]\r\n */\r\n IModelHost = \"core-backend.IModelHost\",\r\n\r\n /** The logger category used by the following classes:\r\n * - TileRequestMemoizer\r\n */\r\n IModelTileRequestRpc = \"core-backend.IModelTileRequestRpc\",\r\n\r\n /** The logger category used by the following classes:\r\n * - IModelTileRpcImpl (Tile Uploading)\r\n */\r\n IModelTileUpload = \"core-backend.IModelTileUpload\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[Relationship]]\r\n */\r\n Relationship = \"core-backend.Relationship\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[Schemas]]\r\n */\r\n Schemas = \"core-backend.Schemas\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[PromiseMemoizer]]\r\n */\r\n PromiseMemoizer = \"core-backend.PromiseMemoizer\",\r\n /** The logger category used by the following classes:\r\n * - [[EventSink]]\r\n */\r\n EventSink = \"core-backend.EventSink\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[IModelSchemaLoader]]\r\n * @alpha\r\n */\r\n IModelSchemaLoader = \"core-backend.IModelSchemaLoader\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[iModels]]\r\n * @alpha\r\n */\r\n Editing = \"core-backend.Editing\",\r\n\r\n /** The logger category used by the following classes:\r\n * - [[NativeHost]], [[NativeAppStorage]]\r\n * @internal\r\n */\r\n NativeApp = \"core-backend.NativeApp\",\r\n}\r\n"]}
@@ -0,0 +1,22 @@
1
+ /** @packageDocumentation
2
+ * @module Schema
3
+ */
4
+ import { Schema } from "./Schema";
5
+ /**
6
+ * The [BisCore]($docs/bis/intro/schemas-domains.md) schema is the lowest level Schema in an iModel.
7
+ *
8
+ * It is automatically registered when [[IModelHost.startup]] is called.
9
+ *
10
+ * ** Example:**
11
+ * ``` ts
12
+ * [[include:BisCore.registerSchemaAndGetClass]]
13
+ * ```
14
+ * @public
15
+ */
16
+ export declare class BisCoreSchema extends Schema {
17
+ static get schemaName(): string;
18
+ static get schemaFilePath(): string;
19
+ /** @internal */
20
+ static registerSchema(): void;
21
+ }
22
+ //# sourceMappingURL=BisCoreSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BisCoreSchema.d.ts","sourceRoot":"","sources":["../../src/BisCoreSchema.ts"],"names":[],"mappings":"AAIA;;GAEG;AAYH,OAAO,EAAE,MAAM,EAAW,MAAM,UAAU,CAAC;AAK3C;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,MAAM;IACvC,WAA2B,UAAU,IAAI,MAAM,CAAsB;IACrE,WAAkB,cAAc,IAAI,MAAM,CAAsH;IAEhK,gBAAgB;WACF,cAAc;CAqB7B"}