@itwin/core-backend 3.5.0-dev.18 → 3.5.0-dev.20

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 (246) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/lib/cjs/AliCloudStorageService.d.ts +23 -23
  3. package/lib/cjs/AliCloudStorageService.js +71 -71
  4. package/lib/cjs/AliCloudStorageService.js.map +1 -1
  5. package/lib/cjs/BackendHubAccess.d.ts +224 -224
  6. package/lib/cjs/BackendHubAccess.js +41 -41
  7. package/lib/cjs/BackendHubAccess.js.map +1 -1
  8. package/lib/cjs/BackendLoggerCategory.d.ts +91 -91
  9. package/lib/cjs/BackendLoggerCategory.js +99 -99
  10. package/lib/cjs/BackendLoggerCategory.js.map +1 -1
  11. package/lib/cjs/BisCoreSchema.d.ts +21 -21
  12. package/lib/cjs/BisCoreSchema.js +60 -60
  13. package/lib/cjs/BisCoreSchema.js.map +1 -1
  14. package/lib/cjs/BriefcaseManager.d.ts +165 -165
  15. package/lib/cjs/BriefcaseManager.js +405 -405
  16. package/lib/cjs/BriefcaseManager.js.map +1 -1
  17. package/lib/cjs/Category.d.ts +153 -153
  18. package/lib/cjs/Category.js +243 -243
  19. package/lib/cjs/Category.js.map +1 -1
  20. package/lib/cjs/ChangeSummaryManager.d.ts +187 -187
  21. package/lib/cjs/ChangeSummaryManager.js +445 -445
  22. package/lib/cjs/ChangeSummaryManager.js.map +1 -1
  23. package/lib/cjs/ChangedElementsDb.d.ts +99 -99
  24. package/lib/cjs/ChangedElementsDb.js +165 -165
  25. package/lib/cjs/ChangedElementsDb.js.map +1 -1
  26. package/lib/cjs/ChangedElementsManager.d.ts +39 -39
  27. package/lib/cjs/ChangedElementsManager.js +88 -88
  28. package/lib/cjs/ChangedElementsManager.js.map +1 -1
  29. package/lib/cjs/CheckpointManager.d.ts +120 -120
  30. package/lib/cjs/CheckpointManager.js +343 -343
  31. package/lib/cjs/CheckpointManager.js.map +1 -1
  32. package/lib/cjs/ClassRegistry.d.ts +72 -71
  33. package/lib/cjs/ClassRegistry.d.ts.map +1 -1
  34. package/lib/cjs/ClassRegistry.js +243 -215
  35. package/lib/cjs/ClassRegistry.js.map +1 -1
  36. package/lib/cjs/CloudSqlite.d.ts +350 -349
  37. package/lib/cjs/CloudSqlite.d.ts.map +1 -1
  38. package/lib/cjs/CloudSqlite.js +152 -151
  39. package/lib/cjs/CloudSqlite.js.map +1 -1
  40. package/lib/cjs/CloudStorageBackend.d.ts +58 -58
  41. package/lib/cjs/CloudStorageBackend.js +173 -173
  42. package/lib/cjs/CloudStorageBackend.js.map +1 -1
  43. package/lib/cjs/CodeService.d.ts +396 -396
  44. package/lib/cjs/CodeService.js +63 -63
  45. package/lib/cjs/CodeService.js.map +1 -1
  46. package/lib/cjs/CodeSpecs.d.ts +50 -50
  47. package/lib/cjs/CodeSpecs.js +112 -112
  48. package/lib/cjs/CodeSpecs.js.map +1 -1
  49. package/lib/cjs/ConcurrentQuery.d.ts +11 -11
  50. package/lib/cjs/ConcurrentQuery.js +30 -30
  51. package/lib/cjs/ConcurrentQuery.js.map +1 -1
  52. package/lib/cjs/CustomViewState3dCreator.d.ts +32 -32
  53. package/lib/cjs/CustomViewState3dCreator.js +113 -113
  54. package/lib/cjs/CustomViewState3dCreator.js.map +1 -1
  55. package/lib/cjs/DevTools.d.ts +71 -71
  56. package/lib/cjs/DevTools.js +154 -154
  57. package/lib/cjs/DevTools.js.map +1 -1
  58. package/lib/cjs/DisplayStyle.d.ts +106 -106
  59. package/lib/cjs/DisplayStyle.d.ts.map +1 -1
  60. package/lib/cjs/DisplayStyle.js +256 -256
  61. package/lib/cjs/DisplayStyle.js.map +1 -1
  62. package/lib/cjs/ECDb.d.ts +191 -191
  63. package/lib/cjs/ECDb.js +350 -350
  64. package/lib/cjs/ECDb.js.map +1 -1
  65. package/lib/cjs/ECSchemaXmlContext.d.ts +18 -18
  66. package/lib/cjs/ECSchemaXmlContext.js +41 -41
  67. package/lib/cjs/ECSchemaXmlContext.js.map +1 -1
  68. package/lib/cjs/ECSqlStatement.d.ts +466 -466
  69. package/lib/cjs/ECSqlStatement.js +791 -791
  70. package/lib/cjs/ECSqlStatement.js.map +1 -1
  71. package/lib/cjs/Element.d.ts +1102 -1109
  72. package/lib/cjs/Element.d.ts.map +1 -1
  73. package/lib/cjs/Element.js +1416 -1420
  74. package/lib/cjs/Element.js.map +1 -1
  75. package/lib/cjs/ElementAspect.d.ts +158 -156
  76. package/lib/cjs/ElementAspect.d.ts.map +1 -1
  77. package/lib/cjs/ElementAspect.js +186 -178
  78. package/lib/cjs/ElementAspect.js.map +1 -1
  79. package/lib/cjs/ElementGraphics.d.ts +9 -9
  80. package/lib/cjs/ElementGraphics.js +41 -41
  81. package/lib/cjs/ElementGraphics.js.map +1 -1
  82. package/lib/cjs/ElementTreeWalker.d.ts +162 -162
  83. package/lib/cjs/ElementTreeWalker.js +409 -409
  84. package/lib/cjs/ElementTreeWalker.js.map +1 -1
  85. package/lib/cjs/Entity.d.ts +106 -76
  86. package/lib/cjs/Entity.d.ts.map +1 -1
  87. package/lib/cjs/Entity.js +134 -82
  88. package/lib/cjs/Entity.js.map +1 -1
  89. package/lib/cjs/EntityReferences.d.ts +50 -0
  90. package/lib/cjs/EntityReferences.d.ts.map +1 -0
  91. package/lib/cjs/EntityReferences.js +96 -0
  92. package/lib/cjs/EntityReferences.js.map +1 -0
  93. package/lib/cjs/ExportGraphics.d.ts +317 -317
  94. package/lib/cjs/ExportGraphics.js +208 -208
  95. package/lib/cjs/ExportGraphics.js.map +1 -1
  96. package/lib/cjs/ExternalSource.d.ts +96 -94
  97. package/lib/cjs/ExternalSource.d.ts.map +1 -1
  98. package/lib/cjs/ExternalSource.js +131 -125
  99. package/lib/cjs/ExternalSource.js.map +1 -1
  100. package/lib/cjs/GeoCoordConfig.d.ts +19 -19
  101. package/lib/cjs/GeoCoordConfig.js +82 -82
  102. package/lib/cjs/GeoCoordConfig.js.map +1 -1
  103. package/lib/cjs/GeometrySummary.d.ts +4 -4
  104. package/lib/cjs/GeometrySummary.js +380 -380
  105. package/lib/cjs/GeometrySummary.js.map +1 -1
  106. package/lib/cjs/HubMock.d.ts +93 -93
  107. package/lib/cjs/HubMock.js +190 -190
  108. package/lib/cjs/HubMock.js.map +1 -1
  109. package/lib/cjs/IModelCloneContext.d.ts +8 -85
  110. package/lib/cjs/IModelCloneContext.d.ts.map +1 -1
  111. package/lib/cjs/IModelCloneContext.js +15 -150
  112. package/lib/cjs/IModelCloneContext.js.map +1 -1
  113. package/lib/cjs/IModelDb.d.ts +1167 -1164
  114. package/lib/cjs/IModelDb.d.ts.map +1 -1
  115. package/lib/cjs/IModelDb.js +2332 -2324
  116. package/lib/cjs/IModelDb.js.map +1 -1
  117. package/lib/cjs/IModelElementCloneContext.d.ts +90 -0
  118. package/lib/cjs/IModelElementCloneContext.d.ts.map +1 -0
  119. package/lib/cjs/IModelElementCloneContext.js +160 -0
  120. package/lib/cjs/IModelElementCloneContext.js.map +1 -0
  121. package/lib/cjs/IModelHost.d.ts +369 -361
  122. package/lib/cjs/IModelHost.d.ts.map +1 -1
  123. package/lib/cjs/IModelHost.js +492 -489
  124. package/lib/cjs/IModelHost.js.map +1 -1
  125. package/lib/cjs/IModelJsFs.d.ts +62 -62
  126. package/lib/cjs/IModelJsFs.js +140 -140
  127. package/lib/cjs/IModelJsFs.js.map +1 -1
  128. package/lib/cjs/IpcHost.d.ts +98 -98
  129. package/lib/cjs/IpcHost.js +234 -234
  130. package/lib/cjs/IpcHost.js.map +1 -1
  131. package/lib/cjs/LineStyle.d.ts +311 -311
  132. package/lib/cjs/LineStyle.js +295 -295
  133. package/lib/cjs/LineStyle.js.map +1 -1
  134. package/lib/cjs/LocalHub.d.ts +162 -162
  135. package/lib/cjs/LocalHub.js +587 -587
  136. package/lib/cjs/LocalHub.js.map +1 -1
  137. package/lib/cjs/LocalhostIpcHost.d.ts +20 -20
  138. package/lib/cjs/LocalhostIpcHost.js +81 -81
  139. package/lib/cjs/LocalhostIpcHost.js.map +1 -1
  140. package/lib/cjs/Material.d.ts +103 -103
  141. package/lib/cjs/Material.js +147 -147
  142. package/lib/cjs/Material.js.map +1 -1
  143. package/lib/cjs/Model.d.ts +388 -386
  144. package/lib/cjs/Model.d.ts.map +1 -1
  145. package/lib/cjs/Model.js +479 -471
  146. package/lib/cjs/Model.js.map +1 -1
  147. package/lib/cjs/NativeAppStorage.d.ts +51 -51
  148. package/lib/cjs/NativeAppStorage.js +202 -202
  149. package/lib/cjs/NativeAppStorage.js.map +1 -1
  150. package/lib/cjs/NativeHost.d.ts +52 -52
  151. package/lib/cjs/NativeHost.js +168 -168
  152. package/lib/cjs/NativeHost.js.map +1 -1
  153. package/lib/cjs/NavigationRelationship.d.ts +156 -156
  154. package/lib/cjs/NavigationRelationship.js +225 -225
  155. package/lib/cjs/NavigationRelationship.js.map +1 -1
  156. package/lib/cjs/PromiseMemoizer.d.ts +51 -51
  157. package/lib/cjs/PromiseMemoizer.js +101 -101
  158. package/lib/cjs/PromiseMemoizer.js.map +1 -1
  159. package/lib/cjs/PropertyStore.d.ts +132 -132
  160. package/lib/cjs/PropertyStore.js +11 -11
  161. package/lib/cjs/PropertyStore.js.map +1 -1
  162. package/lib/cjs/Relationship.d.ts +416 -400
  163. package/lib/cjs/Relationship.d.ts.map +1 -1
  164. package/lib/cjs/Relationship.js +494 -465
  165. package/lib/cjs/Relationship.js.map +1 -1
  166. package/lib/cjs/RpcBackend.d.ts +28 -28
  167. package/lib/cjs/RpcBackend.js +126 -126
  168. package/lib/cjs/RpcBackend.js.map +1 -1
  169. package/lib/cjs/SQLiteDb.d.ts +219 -219
  170. package/lib/cjs/SQLiteDb.js +214 -214
  171. package/lib/cjs/SQLiteDb.js.map +1 -1
  172. package/lib/cjs/Schema.d.ts +55 -55
  173. package/lib/cjs/Schema.js +83 -83
  174. package/lib/cjs/Schema.js.map +1 -1
  175. package/lib/cjs/ServerBasedLocks.d.ts +57 -57
  176. package/lib/cjs/ServerBasedLocks.js +168 -168
  177. package/lib/cjs/ServerBasedLocks.js.map +1 -1
  178. package/lib/cjs/SqliteStatement.d.ts +360 -283
  179. package/lib/cjs/SqliteStatement.d.ts.map +1 -1
  180. package/lib/cjs/SqliteStatement.js +586 -448
  181. package/lib/cjs/SqliteStatement.js.map +1 -1
  182. package/lib/cjs/Texture.d.ts +58 -58
  183. package/lib/cjs/Texture.js +82 -82
  184. package/lib/cjs/Texture.js.map +1 -1
  185. package/lib/cjs/TileStorage.d.ts +18 -18
  186. package/lib/cjs/TileStorage.js +90 -90
  187. package/lib/cjs/TileStorage.js.map +1 -1
  188. package/lib/cjs/TxnManager.d.ts +202 -202
  189. package/lib/cjs/TxnManager.js +356 -356
  190. package/lib/cjs/TxnManager.js.map +1 -1
  191. package/lib/cjs/ViewDefinition.d.ts +439 -435
  192. package/lib/cjs/ViewDefinition.d.ts.map +1 -1
  193. package/lib/cjs/ViewDefinition.js +646 -635
  194. package/lib/cjs/ViewDefinition.js.map +1 -1
  195. package/lib/cjs/ViewStateHydrator.d.ts +13 -13
  196. package/lib/cjs/ViewStateHydrator.js +103 -103
  197. package/lib/cjs/ViewStateHydrator.js.map +1 -1
  198. package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -90
  199. package/lib/cjs/assets/Settings/Schemas/Cloud.Schema.json +67 -67
  200. package/lib/cjs/assets/Settings/Schemas/Gcs.schema.json +31 -31
  201. package/lib/cjs/assets/Settings/Schemas/Workspace.Schema.json +52 -52
  202. package/lib/cjs/assets/Settings/backend.setting.json5 +138 -138
  203. package/lib/cjs/core-backend.d.ts +184 -182
  204. package/lib/cjs/core-backend.d.ts.map +1 -1
  205. package/lib/cjs/core-backend.js +204 -202
  206. package/lib/cjs/core-backend.js.map +1 -1
  207. package/lib/cjs/domains/FunctionalElements.d.ts +101 -101
  208. package/lib/cjs/domains/FunctionalElements.js +145 -145
  209. package/lib/cjs/domains/FunctionalElements.js.map +1 -1
  210. package/lib/cjs/domains/FunctionalSchema.d.ts +13 -13
  211. package/lib/cjs/domains/FunctionalSchema.js +40 -40
  212. package/lib/cjs/domains/FunctionalSchema.js.map +1 -1
  213. package/lib/cjs/domains/GenericElements.d.ts +177 -177
  214. package/lib/cjs/domains/GenericElements.js +263 -263
  215. package/lib/cjs/domains/GenericElements.js.map +1 -1
  216. package/lib/cjs/domains/GenericSchema.d.ts +10 -10
  217. package/lib/cjs/domains/GenericSchema.js +28 -28
  218. package/lib/cjs/domains/GenericSchema.js.map +1 -1
  219. package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +15 -15
  220. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +32 -32
  221. package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -1
  222. package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +45 -45
  223. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +262 -262
  224. package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -1
  225. package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +22 -22
  226. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +204 -204
  227. package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -1
  228. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +36 -36
  229. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +168 -168
  230. package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -1
  231. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +16 -16
  232. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +43 -43
  233. package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -1
  234. package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +15 -15
  235. package/lib/cjs/rpc-impl/WipRpcImpl.js +37 -37
  236. package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -1
  237. package/lib/cjs/workspace/Settings.d.ts +186 -186
  238. package/lib/cjs/workspace/Settings.js +155 -155
  239. package/lib/cjs/workspace/Settings.js.map +1 -1
  240. package/lib/cjs/workspace/SettingsSchemas.d.ts +75 -75
  241. package/lib/cjs/workspace/SettingsSchemas.js +191 -191
  242. package/lib/cjs/workspace/SettingsSchemas.js.map +1 -1
  243. package/lib/cjs/workspace/Workspace.d.ts +414 -414
  244. package/lib/cjs/workspace/Workspace.js +543 -543
  245. package/lib/cjs/workspace/Workspace.js.map +1 -1
  246. package/package.json +14 -13
package/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  # Change Log - @itwin/core-backend
2
2
 
3
- This log was last generated on Thu, 13 Oct 2022 20:24:47 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 17 Oct 2022 20:06:51 GMT and should not be manually modified.
4
+
5
+ ## 3.4.1
6
+ Mon, 17 Oct 2022 20:06:51 GMT
7
+
8
+ ### Updates
9
+
10
+ - Add EntityReferences and associated utilities
4
11
 
5
12
  ## 3.4.0
6
13
  Thu, 13 Oct 2022 20:24:47 GMT
@@ -1,24 +1,24 @@
1
- import { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider } from "@itwin/core-common";
2
- import { CloudStorageService, CloudStorageUploadOptions } from "./CloudStorageBackend";
3
- /**
4
- * @beta
5
- * @deprecated
6
- */
7
- export interface AliCloudStorageServiceCredentials {
8
- region: string;
9
- accessKeyId: string;
10
- accessKeySecret: string;
11
- }
12
- /**
13
- * @beta
14
- * @deprecated Use `@itwin/object-storage-oss` instead, see https://github.com/iTwin/object-storage for more details.
15
- */
16
- export declare class AliCloudStorageService extends CloudStorageService {
17
- private _client;
18
- id: CloudStorageProvider;
19
- constructor(credentials: AliCloudStorageServiceCredentials);
20
- obtainContainerUrl(id: CloudStorageContainerDescriptor, expiry: Date, _clientIp?: string): CloudStorageContainerUrl;
21
- listContainer(name: string, marker: string, count: number): Promise<string[]>;
22
- upload(container: string, name: string, data: Uint8Array, options?: CloudStorageUploadOptions): Promise<string>;
23
- }
1
+ import { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider } from "@itwin/core-common";
2
+ import { CloudStorageService, CloudStorageUploadOptions } from "./CloudStorageBackend";
3
+ /**
4
+ * @beta
5
+ * @deprecated
6
+ */
7
+ export interface AliCloudStorageServiceCredentials {
8
+ region: string;
9
+ accessKeyId: string;
10
+ accessKeySecret: string;
11
+ }
12
+ /**
13
+ * @beta
14
+ * @deprecated Use `@itwin/object-storage-oss` instead, see https://github.com/iTwin/object-storage for more details.
15
+ */
16
+ export declare class AliCloudStorageService extends CloudStorageService {
17
+ private _client;
18
+ id: CloudStorageProvider;
19
+ constructor(credentials: AliCloudStorageServiceCredentials);
20
+ obtainContainerUrl(id: CloudStorageContainerDescriptor, expiry: Date, _clientIp?: string): CloudStorageContainerUrl;
21
+ listContainer(name: string, marker: string, count: number): Promise<string[]>;
22
+ upload(container: string, name: string, data: Uint8Array, options?: CloudStorageUploadOptions): Promise<string>;
23
+ }
24
24
  //# sourceMappingURL=AliCloudStorageService.d.ts.map
@@ -1,72 +1,72 @@
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_bentley_1 = require("@itwin/core-bentley");
11
- const core_common_1 = require("@itwin/core-common");
12
- const CloudStorageBackend_1 = require("./CloudStorageBackend");
13
- /**
14
- * @beta
15
- * @deprecated Use `@itwin/object-storage-oss` instead, see https://github.com/iTwin/object-storage for more details.
16
- */
17
- class AliCloudStorageService extends CloudStorageBackend_1.CloudStorageService {
18
- constructor(credentials) {
19
- super();
20
- this.id = core_common_1.CloudStorageProvider.AliCloud;
21
- this._client = new OSS(credentials);
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
- if (undefined === id.resource)
30
- throw new core_common_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Attribute 'resource' on CloudStorageContainerDescriptor object is undefined.");
31
- const url = {
32
- descriptor: this.makeDescriptor(id),
33
- valid: 0,
34
- expires: expiry.getTime(),
35
- url: this._client.signatureUrl(id.resource, policy),
36
- bound: true,
37
- };
38
- return url;
39
- }
40
- async listContainer(name, marker, count) {
41
- this._client.useBucket(name);
42
- const query = await this._client.list({ marker, "max-keys": count }, {});
43
- return query.objects ? query.objects.map((o) => o.name) : [];
44
- }
45
- async upload(container, name, data, options) {
46
- await this._client.putBucket(container);
47
- await this._client.putBucketCORS(container, [{ allowedOrigin: "*", allowedMethod: ["GET", "POST", "PUT", "DELETE", "HEAD"], allowedHeader: "*" }]);
48
- this._client.useBucket(container);
49
- const dataStream = new stream_1.PassThrough();
50
- dataStream.end(data);
51
- let source;
52
- const putOptions = {
53
- mime: (options && options.type) ? options.type : "application/octet-stream",
54
- headers: {
55
- // eslint-disable-next-line @typescript-eslint/naming-convention
56
- "Cache-Control": (options && options.cacheControl) ? options.cacheControl : "private, max-age=31536000, immutable",
57
- },
58
- };
59
- if (options && options.contentEncoding === "gzip") {
60
- putOptions.headers["Content-Encoding"] = options.contentEncoding;
61
- const compressor = zlib.createGzip();
62
- source = dataStream.pipe(compressor);
63
- }
64
- else {
65
- source = dataStream;
66
- }
67
- await this._client.putStream(name, source, putOptions);
68
- return "";
69
- }
70
- }
71
- exports.AliCloudStorageService = AliCloudStorageService;
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_bentley_1 = require("@itwin/core-bentley");
11
+ const core_common_1 = require("@itwin/core-common");
12
+ const CloudStorageBackend_1 = require("./CloudStorageBackend");
13
+ /**
14
+ * @beta
15
+ * @deprecated Use `@itwin/object-storage-oss` instead, see https://github.com/iTwin/object-storage for more details.
16
+ */
17
+ class AliCloudStorageService extends CloudStorageBackend_1.CloudStorageService {
18
+ constructor(credentials) {
19
+ super();
20
+ this.id = core_common_1.CloudStorageProvider.AliCloud;
21
+ this._client = new OSS(credentials);
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
+ if (undefined === id.resource)
30
+ throw new core_common_1.IModelError(core_bentley_1.BentleyStatus.ERROR, "Attribute 'resource' on CloudStorageContainerDescriptor object is undefined.");
31
+ const url = {
32
+ descriptor: this.makeDescriptor(id),
33
+ valid: 0,
34
+ expires: expiry.getTime(),
35
+ url: this._client.signatureUrl(id.resource, policy),
36
+ bound: true,
37
+ };
38
+ return url;
39
+ }
40
+ async listContainer(name, marker, count) {
41
+ this._client.useBucket(name);
42
+ const query = await this._client.list({ marker, "max-keys": count }, {});
43
+ return query.objects ? query.objects.map((o) => o.name) : [];
44
+ }
45
+ async upload(container, name, data, options) {
46
+ await this._client.putBucket(container);
47
+ await this._client.putBucketCORS(container, [{ allowedOrigin: "*", allowedMethod: ["GET", "POST", "PUT", "DELETE", "HEAD"], allowedHeader: "*" }]);
48
+ this._client.useBucket(container);
49
+ const dataStream = new stream_1.PassThrough();
50
+ dataStream.end(data);
51
+ let source;
52
+ const putOptions = {
53
+ mime: (options && options.type) ? options.type : "application/octet-stream",
54
+ headers: {
55
+ // eslint-disable-next-line @typescript-eslint/naming-convention
56
+ "Cache-Control": (options && options.cacheControl) ? options.cacheControl : "private, max-age=31536000, immutable",
57
+ },
58
+ };
59
+ if (options && options.contentEncoding === "gzip") {
60
+ putOptions.headers["Content-Encoding"] = options.contentEncoding;
61
+ const compressor = zlib.createGzip();
62
+ source = dataStream.pipe(compressor);
63
+ }
64
+ else {
65
+ source = dataStream;
66
+ }
67
+ await this._client.putStream(name, source, putOptions);
68
+ return "";
69
+ }
70
+ }
71
+ exports.AliCloudStorageService = AliCloudStorageService;
72
72
  //# sourceMappingURL=AliCloudStorageService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AliCloudStorageService.js","sourceRoot":"","sources":["../../src/AliCloudStorageService.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\nimport { PassThrough, Readable } from \"stream\";\nimport * as zlib from \"zlib\";\nimport { BentleyStatus } from \"@itwin/core-bentley\";\nimport { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider, IModelError } from \"@itwin/core-common\";\nimport { CloudStorageService, CloudStorageUploadOptions } from \"./CloudStorageBackend\";\n\n/* eslint-disable deprecation/deprecation */\n\n/**\n * @beta\n * @deprecated\n */\nexport interface AliCloudStorageServiceCredentials {\n region: string;\n accessKeyId: string;\n accessKeySecret: string;\n}\n\ndeclare class OSS {\n constructor(params: AliCloudStorageServiceCredentials)\n public useBucket(name: string): void;\n public signatureUrl(name: string, policy: OSS.SignatureUrlOptions): string;\n public list(params: { marker: string, \"max-keys\": number }, arg2: {}): Promise<{ objects?: Array<{ name: string }> }>;\n public putBucket(name: string): Promise<void>;\n public putBucketCORS(name: string, params: Array<{ allowedOrigin: string, allowedMethod: string[], allowedHeader: string }>): Promise<void>;\n public putStream(name: string, source: Readable, options: OSS.PutStreamOptions): Promise<void>;\n}\n\ndeclare namespace OSS { // eslint-disable-line no-redeclare\n interface SignatureUrlOptions {\n expires: number;\n }\n\n interface PutStreamOptions {\n mime: string;\n headers: { [index: string]: string };\n }\n}\n\n/**\n * @beta\n * @deprecated Use `@itwin/object-storage-oss` instead, see https://github.com/iTwin/object-storage for more details.\n */\nexport class AliCloudStorageService extends CloudStorageService {\n private _client: OSS;\n\n public id = CloudStorageProvider.AliCloud;\n\n public constructor(credentials: AliCloudStorageServiceCredentials) {\n super();\n\n this._client = new OSS(credentials);\n }\n\n public obtainContainerUrl(id: CloudStorageContainerDescriptor, expiry: Date, _clientIp?: string): CloudStorageContainerUrl {\n const now = new Date().getTime();\n\n const policy: OSS.SignatureUrlOptions = {\n expires: expiry.getTime() - now,\n };\n\n this._client.useBucket(id.name);\n\n if (undefined === id.resource)\n throw new IModelError(BentleyStatus.ERROR, \"Attribute 'resource' on CloudStorageContainerDescriptor object is undefined.\");\n\n const url: CloudStorageContainerUrl = {\n descriptor: this.makeDescriptor(id),\n valid: 0,\n expires: expiry.getTime(),\n url: this._client.signatureUrl(id.resource, policy),\n bound: true,\n };\n\n return url;\n }\n\n public async listContainer(name: string, marker: string, count: number): Promise<string[]> {\n this._client.useBucket(name);\n const query = await this._client.list({ marker, \"max-keys\": count }, {});\n return query.objects ? query.objects.map((o) => o.name) : [];\n }\n\n public async upload(container: string, name: string, data: Uint8Array, options?: CloudStorageUploadOptions): Promise<string> {\n await this._client.putBucket(container);\n await this._client.putBucketCORS(container, [{ allowedOrigin: \"*\", allowedMethod: [\"GET\", \"POST\", \"PUT\", \"DELETE\", \"HEAD\"], allowedHeader: \"*\" }]);\n this._client.useBucket(container);\n\n const dataStream = new PassThrough();\n dataStream.end(data);\n\n let source: Readable;\n\n const putOptions = {\n mime: (options && options.type) ? options.type : \"application/octet-stream\",\n headers: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n \"Cache-Control\": (options && options.cacheControl) ? options.cacheControl : \"private, max-age=31536000, immutable\",\n },\n } as OSS.PutStreamOptions;\n\n if (options && options.contentEncoding === \"gzip\") {\n (putOptions.headers as any)[\"Content-Encoding\"] = options.contentEncoding;\n const compressor = zlib.createGzip();\n source = dataStream.pipe(compressor);\n } else {\n source = dataStream;\n }\n await this._client.putStream(name, source, putOptions);\n return \"\";\n }\n}\n"]}
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 { BentleyStatus } from \"@itwin/core-bentley\";\r\nimport { CloudStorageContainerDescriptor, CloudStorageContainerUrl, CloudStorageProvider, IModelError } from \"@itwin/core-common\";\r\nimport { CloudStorageService, CloudStorageUploadOptions } from \"./CloudStorageBackend\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/**\r\n * @beta\r\n * @deprecated\r\n */\r\nexport interface AliCloudStorageServiceCredentials {\r\n region: string;\r\n accessKeyId: string;\r\n accessKeySecret: string;\r\n}\r\n\r\ndeclare class OSS {\r\n constructor(params: AliCloudStorageServiceCredentials)\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/**\r\n * @beta\r\n * @deprecated Use `@itwin/object-storage-oss` instead, see https://github.com/iTwin/object-storage for more details.\r\n */\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: AliCloudStorageServiceCredentials) {\r\n super();\r\n\r\n this._client = new OSS(credentials);\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 if (undefined === id.resource)\r\n throw new IModelError(BentleyStatus.ERROR, \"Attribute 'resource' on CloudStorageContainerDescriptor object is undefined.\");\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"]}