@protontech/drive-sdk 0.7.0 → 0.7.1

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 (95) hide show
  1. package/dist/interface/index.d.ts +1 -0
  2. package/dist/interface/index.js.map +1 -1
  3. package/dist/interface/nodes.d.ts +14 -10
  4. package/dist/interface/nodes.js +5 -8
  5. package/dist/interface/nodes.js.map +1 -1
  6. package/dist/interface/photos.d.ts +62 -0
  7. package/dist/interface/photos.js +3 -0
  8. package/dist/interface/photos.js.map +1 -0
  9. package/dist/internal/apiService/driveTypes.d.ts +1294 -517
  10. package/dist/internal/errors.d.ts +1 -0
  11. package/dist/internal/errors.js +4 -0
  12. package/dist/internal/errors.js.map +1 -1
  13. package/dist/internal/nodes/apiService.d.ts +60 -9
  14. package/dist/internal/nodes/apiService.js +125 -81
  15. package/dist/internal/nodes/apiService.js.map +1 -1
  16. package/dist/internal/nodes/apiService.test.js +2 -0
  17. package/dist/internal/nodes/apiService.test.js.map +1 -1
  18. package/dist/internal/nodes/cache.d.ts +16 -8
  19. package/dist/internal/nodes/cache.js +19 -5
  20. package/dist/internal/nodes/cache.js.map +1 -1
  21. package/dist/internal/nodes/cache.test.js +1 -0
  22. package/dist/internal/nodes/cache.test.js.map +1 -1
  23. package/dist/internal/nodes/cryptoService.d.ts +1 -1
  24. package/dist/internal/nodes/cryptoService.js +4 -4
  25. package/dist/internal/nodes/cryptoService.js.map +1 -1
  26. package/dist/internal/nodes/cryptoService.test.js +3 -3
  27. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  28. package/dist/internal/nodes/events.d.ts +2 -2
  29. package/dist/internal/nodes/events.js.map +1 -1
  30. package/dist/internal/nodes/index.test.js +1 -0
  31. package/dist/internal/nodes/index.test.js.map +1 -1
  32. package/dist/internal/nodes/interface.d.ts +1 -0
  33. package/dist/internal/nodes/nodesAccess.d.ts +29 -20
  34. package/dist/internal/nodes/nodesAccess.js +41 -29
  35. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  36. package/dist/internal/nodes/nodesManagement.d.ts +32 -12
  37. package/dist/internal/nodes/nodesManagement.js +30 -13
  38. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  39. package/dist/internal/nodes/nodesManagement.test.js +39 -4
  40. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  41. package/dist/internal/nodes/nodesRevisions.d.ts +2 -2
  42. package/dist/internal/nodes/nodesRevisions.js.map +1 -1
  43. package/dist/internal/photos/albums.d.ts +2 -2
  44. package/dist/internal/photos/albums.js.map +1 -1
  45. package/dist/internal/photos/index.d.ts +19 -3
  46. package/dist/internal/photos/index.js +38 -8
  47. package/dist/internal/photos/index.js.map +1 -1
  48. package/dist/internal/photos/interface.d.ts +18 -9
  49. package/dist/internal/photos/nodes.d.ts +57 -0
  50. package/dist/internal/photos/nodes.js +165 -0
  51. package/dist/internal/photos/nodes.js.map +1 -0
  52. package/dist/internal/photos/timeline.d.ts +2 -2
  53. package/dist/internal/photos/timeline.js.map +1 -1
  54. package/dist/internal/photos/timeline.test.js.map +1 -1
  55. package/dist/protonDriveClient.d.ts +10 -1
  56. package/dist/protonDriveClient.js +18 -3
  57. package/dist/protonDriveClient.js.map +1 -1
  58. package/dist/protonDrivePhotosClient.d.ts +8 -8
  59. package/dist/protonDrivePhotosClient.js +8 -9
  60. package/dist/protonDrivePhotosClient.js.map +1 -1
  61. package/dist/protonDrivePublicLinkClient.d.ts +7 -1
  62. package/dist/protonDrivePublicLinkClient.js +9 -0
  63. package/dist/protonDrivePublicLinkClient.js.map +1 -1
  64. package/dist/transformers.d.ts +7 -2
  65. package/dist/transformers.js +37 -0
  66. package/dist/transformers.js.map +1 -1
  67. package/package.json +1 -1
  68. package/src/interface/index.ts +1 -0
  69. package/src/interface/nodes.ts +14 -11
  70. package/src/interface/photos.ts +67 -0
  71. package/src/internal/apiService/driveTypes.ts +1294 -517
  72. package/src/internal/errors.ts +4 -0
  73. package/src/internal/nodes/apiService.test.ts +2 -0
  74. package/src/internal/nodes/apiService.ts +187 -114
  75. package/src/internal/nodes/cache.test.ts +1 -0
  76. package/src/internal/nodes/cache.ts +32 -13
  77. package/src/internal/nodes/cryptoService.test.ts +13 -3
  78. package/src/internal/nodes/cryptoService.ts +4 -4
  79. package/src/internal/nodes/events.ts +2 -2
  80. package/src/internal/nodes/index.test.ts +1 -0
  81. package/src/internal/nodes/interface.ts +1 -0
  82. package/src/internal/nodes/nodesAccess.ts +82 -54
  83. package/src/internal/nodes/nodesManagement.test.ts +48 -4
  84. package/src/internal/nodes/nodesManagement.ts +76 -26
  85. package/src/internal/nodes/nodesRevisions.ts +3 -3
  86. package/src/internal/photos/albums.ts +2 -2
  87. package/src/internal/photos/index.ts +45 -3
  88. package/src/internal/photos/interface.ts +21 -9
  89. package/src/internal/photos/nodes.ts +233 -0
  90. package/src/internal/photos/timeline.test.ts +2 -2
  91. package/src/internal/photos/timeline.ts +2 -2
  92. package/src/protonDriveClient.ts +20 -3
  93. package/src/protonDrivePhotosClient.ts +23 -23
  94. package/src/protonDrivePublicLinkClient.ts +11 -0
  95. package/src/transformers.ts +49 -2
@@ -14,6 +14,7 @@ interface BaseNode {
14
14
  type: NodeType;
15
15
  mediaType?: string;
16
16
  creationTime: Date;
17
+ modificationTime: Date;
17
18
  trashTime?: Date;
18
19
  totalStorageSize?: number;
19
20
  shareId?: string;
@@ -1,31 +1,33 @@
1
1
  import { PrivateKey, SessionKey } from '../../crypto';
2
2
  import { Logger, MissingNode, ProtonDriveTelemetry } from '../../interface';
3
- import { NodeAPIService } from './apiService';
4
- import { NodesCache } from './cache';
3
+ import { DecryptionError } from '../../errors';
4
+ import { NodeAPIServiceBase } from './apiService';
5
+ import { NodesCacheBase } from './cache';
5
6
  import { NodesCryptoCache } from './cryptoCache';
6
7
  import { NodesCryptoService } from './cryptoService';
7
- import { SharesService, DecryptedUnparsedNode, DecryptedNode, DecryptedNodeKeys, FilterOptions, NodeSigningKeys } from './interface';
8
+ import { NodesDebouncer } from './debouncer';
9
+ import { SharesService, EncryptedNode, DecryptedUnparsedNode, DecryptedNode, DecryptedNodeKeys, FilterOptions, NodeSigningKeys } from './interface';
8
10
  /**
9
11
  * Provides access to node metadata.
10
12
  *
11
13
  * The node access module is responsible for fetching, decrypting and caching
12
14
  * nodes metadata.
13
15
  */
14
- export declare class NodesAccess {
15
- private telemetry;
16
- private apiService;
17
- private cache;
18
- private cryptoCache;
19
- private cryptoService;
20
- private shareService;
21
- private logger;
22
- private debouncer;
23
- constructor(telemetry: ProtonDriveTelemetry, apiService: NodeAPIService, cache: NodesCache, cryptoCache: NodesCryptoCache, cryptoService: NodesCryptoService, shareService: Pick<SharesService, 'getRootIDs' | 'getSharePrivateKey' | 'getContextShareMemberEmailKey'>);
24
- getVolumeRootFolder(): Promise<DecryptedNode>;
25
- getNode(nodeUid: string): Promise<DecryptedNode>;
26
- iterateFolderChildren(parentNodeUid: string, filterOptions?: FilterOptions, signal?: AbortSignal): AsyncGenerator<DecryptedNode>;
27
- iterateTrashedNodes(signal?: AbortSignal): AsyncGenerator<DecryptedNode>;
28
- iterateNodes(nodeUids: string[], signal?: AbortSignal): AsyncGenerator<DecryptedNode | MissingNode>;
16
+ export declare abstract class NodesAccessBase<TEncryptedNode extends EncryptedNode = EncryptedNode, TDecryptedNode extends DecryptedNode = DecryptedNode, TCryptoService extends NodesCryptoService = NodesCryptoService> {
17
+ protected telemetry: ProtonDriveTelemetry;
18
+ protected apiService: NodeAPIServiceBase<TEncryptedNode>;
19
+ protected cache: NodesCacheBase<TDecryptedNode>;
20
+ protected cryptoCache: NodesCryptoCache;
21
+ protected cryptoService: TCryptoService;
22
+ protected shareService: Pick<SharesService, 'getRootIDs' | 'getSharePrivateKey' | 'getContextShareMemberEmailKey'>;
23
+ protected logger: Logger;
24
+ protected debouncer: NodesDebouncer;
25
+ constructor(telemetry: ProtonDriveTelemetry, apiService: NodeAPIServiceBase<TEncryptedNode>, cache: NodesCacheBase<TDecryptedNode>, cryptoCache: NodesCryptoCache, cryptoService: TCryptoService, shareService: Pick<SharesService, 'getRootIDs' | 'getSharePrivateKey' | 'getContextShareMemberEmailKey'>);
26
+ getVolumeRootFolder(): Promise<TDecryptedNode>;
27
+ getNode(nodeUid: string): Promise<TDecryptedNode>;
28
+ iterateFolderChildren(parentNodeUid: string, filterOptions?: FilterOptions, signal?: AbortSignal): AsyncGenerator<TDecryptedNode>;
29
+ iterateTrashedNodes(signal?: AbortSignal): AsyncGenerator<TDecryptedNode>;
30
+ iterateNodes(nodeUids: string[], signal?: AbortSignal): AsyncGenerator<TDecryptedNode | MissingNode>;
29
31
  /**
30
32
  * Call to invalidate the folder listing cache. This should be refactored into a clean
31
33
  * cache layer once the cache is split off.
@@ -45,7 +47,10 @@ export declare class NodesAccess {
45
47
  private loadNodes;
46
48
  private loadNodesWithMissingReport;
47
49
  private decryptNode;
48
- getParentKeys(node: Pick<DecryptedNode, 'uid' | 'parentUid' | 'shareId'>): Promise<Pick<DecryptedNodeKeys, 'key' | 'hashKey'>>;
50
+ protected abstract getDegradedUndecryptableNode(encryptedNode: TEncryptedNode, error: DecryptionError): TDecryptedNode;
51
+ protected getDegradedUndecryptableNodeBase(encryptedNode: EncryptedNode, error: DecryptionError): DecryptedNode;
52
+ protected abstract parseNode(unparsedNode: Awaited<ReturnType<TCryptoService['decryptNode']>>['node']): TDecryptedNode;
53
+ getParentKeys(node: Pick<TDecryptedNode, 'uid' | 'parentUid' | 'shareId'>): Promise<Pick<DecryptedNodeKeys, 'key' | 'hashKey'>>;
49
54
  getNodeKeys(nodeUid: string): Promise<DecryptedNodeKeys>;
50
55
  getNodePrivateAndSessionKeys(nodeUid: string): Promise<{
51
56
  key: PrivateKey;
@@ -70,4 +75,8 @@ export declare class NodesAccess {
70
75
  getNodeUrl(nodeUid: string): Promise<string>;
71
76
  private getRootNode;
72
77
  }
73
- export declare function parseNode(logger: Logger, unparsedNode: DecryptedUnparsedNode): Promise<DecryptedNode>;
78
+ export declare class NodesAccess extends NodesAccessBase {
79
+ protected getDegradedUndecryptableNode(encryptedNode: EncryptedNode, error: DecryptionError): DecryptedNode;
80
+ protected parseNode(unparsedNode: DecryptedUnparsedNode): DecryptedNode;
81
+ }
82
+ export declare function parseNode(logger: Logger, unparsedNode: DecryptedUnparsedNode): DecryptedNode;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodesAccess = void 0;
3
+ exports.NodesAccess = exports.NodesAccessBase = void 0;
4
4
  exports.parseNode = parseNode;
5
5
  const ttag_1 = require("ttag");
6
6
  const interface_1 = require("../../interface");
@@ -27,7 +27,7 @@ const DECRYPTION_CONCURRENCY = 30;
27
27
  * The node access module is responsible for fetching, decrypting and caching
28
28
  * nodes metadata.
29
29
  */
30
- class NodesAccess {
30
+ class NodesAccessBase {
31
31
  telemetry;
32
32
  apiService;
33
33
  cache;
@@ -262,37 +262,13 @@ class NodesAccess {
262
262
  catch (error) {
263
263
  if (error instanceof errors_1.DecryptionError) {
264
264
  return {
265
- node: {
266
- ...encryptedNode,
267
- isStale: false,
268
- name: (0, interface_1.resultError)(error),
269
- keyAuthor: (0, interface_1.resultError)({
270
- claimedAuthor: encryptedNode.encryptedCrypto.signatureEmail,
271
- error: (0, errors_2.getErrorMessage)(error),
272
- }),
273
- nameAuthor: (0, interface_1.resultError)({
274
- claimedAuthor: encryptedNode.encryptedCrypto.nameSignatureEmail,
275
- error: (0, errors_2.getErrorMessage)(error),
276
- }),
277
- membership: encryptedNode.membership
278
- ? {
279
- role: encryptedNode.membership.role,
280
- inviteTime: encryptedNode.membership.inviteTime,
281
- sharedBy: (0, interface_1.resultError)({
282
- claimedAuthor: encryptedNode.encryptedCrypto.membership?.inviterEmail,
283
- error: (0, errors_2.getErrorMessage)(error),
284
- }),
285
- }
286
- : undefined,
287
- errors: [error],
288
- treeEventScopeId: (0, uids_1.splitNodeUid)(encryptedNode.uid).volumeId,
289
- },
265
+ node: this.getDegradedUndecryptableNode(encryptedNode, error),
290
266
  };
291
267
  }
292
268
  throw error;
293
269
  }
294
270
  const { node: unparsedNode, keys } = await this.cryptoService.decryptNode(encryptedNode, parentKey);
295
- const node = await parseNode(this.logger, unparsedNode);
271
+ const node = this.parseNode(unparsedNode);
296
272
  try {
297
273
  await this.cache.setNode(node);
298
274
  }
@@ -310,6 +286,33 @@ class NodesAccess {
310
286
  this.debouncer.finishedLoadingNode(node.uid);
311
287
  return { node, keys };
312
288
  }
289
+ getDegradedUndecryptableNodeBase(encryptedNode, error) {
290
+ return {
291
+ ...encryptedNode,
292
+ isStale: false,
293
+ name: (0, interface_1.resultError)(error),
294
+ keyAuthor: (0, interface_1.resultError)({
295
+ claimedAuthor: encryptedNode.encryptedCrypto.signatureEmail,
296
+ error: (0, errors_2.getErrorMessage)(error),
297
+ }),
298
+ nameAuthor: (0, interface_1.resultError)({
299
+ claimedAuthor: encryptedNode.encryptedCrypto.nameSignatureEmail,
300
+ error: (0, errors_2.getErrorMessage)(error),
301
+ }),
302
+ membership: encryptedNode.membership
303
+ ? {
304
+ role: encryptedNode.membership.role,
305
+ inviteTime: encryptedNode.membership.inviteTime,
306
+ sharedBy: (0, interface_1.resultError)({
307
+ claimedAuthor: encryptedNode.encryptedCrypto.membership?.inviterEmail,
308
+ error: (0, errors_2.getErrorMessage)(error),
309
+ }),
310
+ }
311
+ : undefined,
312
+ errors: [error],
313
+ treeEventScopeId: (0, uids_1.splitNodeUid)(encryptedNode.uid).volumeId,
314
+ };
315
+ }
313
316
  async getParentKeys(node) {
314
317
  if (node.parentUid) {
315
318
  try {
@@ -400,8 +403,17 @@ class NodesAccess {
400
403
  return node.parentUid ? this.getRootNode(node.parentUid) : node;
401
404
  }
402
405
  }
406
+ exports.NodesAccessBase = NodesAccessBase;
407
+ class NodesAccess extends NodesAccessBase {
408
+ getDegradedUndecryptableNode(encryptedNode, error) {
409
+ return this.getDegradedUndecryptableNodeBase(encryptedNode, error);
410
+ }
411
+ parseNode(unparsedNode) {
412
+ return parseNode(this.logger, unparsedNode);
413
+ }
414
+ }
403
415
  exports.NodesAccess = NodesAccess;
404
- async function parseNode(logger, unparsedNode) {
416
+ function parseNode(logger, unparsedNode) {
405
417
  let nodeName = unparsedNode.name;
406
418
  if (unparsedNode.name.ok) {
407
419
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"nodesAccess.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesAccess.ts"],"names":[],"mappings":";;;AAieA,8BAuDC;AAxhBD,+BAAyB;AAGzB,+CASyB;AACzB,yCAAiE;AACjE,0DAAuD;AACvD,sCAA4C;AAC5C,kDAA+C;AAC/C,kCAAoD;AAKpD,2CAA6C;AAC7C,6DAAkG;AAUlG,+CAAiD;AACjD,6CAA+D;AAE/D,2DAA2D;AAC3D,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAE9B,8DAA8D;AAC9D,0DAA0D;AAC1D,gEAAgE;AAChE,+DAA+D;AAC/D,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC;;;;;GAKG;AACH,MAAa,WAAW;IAKR;IACA;IACA;IACA;IACA;IACA;IATJ,MAAM,CAAS;IACf,SAAS,CAAiB;IAElC,YACY,SAA+B,EAC/B,UAA0B,EAC1B,KAAiB,EACjB,WAA6B,EAC7B,aAAiC,EACjC,YAGP;QARO,cAAS,GAAT,SAAS,CAAsB;QAC/B,eAAU,GAAV,UAAU,CAAgB;QAC1B,UAAK,GAAL,KAAK,CAAY;QACjB,gBAAW,GAAX,WAAW,CAAkB;QAC7B,kBAAa,GAAb,aAAa,CAAoB;QACjC,iBAAY,GAAZ,YAAY,CAGnB;QAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAe;QACzB,IAAI,UAAU,CAAC;QACf,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjD,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,OAAO,OAAO,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QAExF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,qBAAqB,CACxB,aAAqB,EACrB,aAA6B,EAC7B,MAAoB;QAEpB,8CAA8C;QAC9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAErD,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAwB;YACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC;YAC3E,SAAS,EAAE,kBAAkB;SAChC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QACjF,IAAI,iBAAiB,EAAE,CAAC;YACpB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,aAAa,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;wBAC/D,SAAS;oBACb,CAAC;oBACD,MAAM,IAAI,CAAC,IAAI,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACvC,CAAC;YACL,CAAC;YACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,aAAa,0BAA0B,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,aAAa,EAAE,IAAI,KAAK,oBAAQ,CAAC,MAAM,CAAC;QAC5D,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;YACvG,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,aAAa,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;oBAC1D,SAAS;gBACb,CAAC;gBACD,MAAM,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,OAAO,SAAS,aAAa,OAAO,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBACxG,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAE/B,0EAA0E;QAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAoB;QAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAwB;YACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;YACvE,SAAS,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACnF,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,OAAO,kBAAkB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7F,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CAAC,QAAkB,EAAE,MAAoB;QACxD,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAsC;YACvE,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;YACxF,SAAS,EAAE,kBAAkB;SAChC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,MAAM,CAAC,IAAI,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe,EAAE,YAAqB;QAC1D,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACxC,OAAO;YACX,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;YAClC,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,OAAO,4BAA4B,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAe;QAClC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC;YACD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YACvE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAC,SAAS,CACpB,QAAkB,EAClB,aAA6B,EAC7B,MAAoB;QAEpB,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;YAC1F,IAAI,YAAY,IAAI,MAAM,EAAE,CAAC;gBACzB,SAAS;YACb,CAAC;YACD,MAAM,MAAM,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAC,0BAA0B,CACrC,QAAkB,EAClB,aAA6B,EAC7B,MAAoB;QAEpB,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAEvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAEpG,MAAM,mBAAmB,GAAG,KAAK,EAAE,aAA4B,EAA0B,EAAE;YACvF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,aAAa,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAA,mCAAgB,EAAC,gBAAgB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAE1F,MAAM,iBAAiB,GAAG,KAAK,EAAE,aAA4B,EAA2C,EAAE;YACtG,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC;gBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACvD,OAAO,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,OAAO,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAA,mCAAgB,EAC3C,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,CACT,CAAC;QACF,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,sBAAsB,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,MAAM,QAAQ,EAAE,MAAM,CAAC,CAAC;YACtE,MAAM,IAAI,wBAAe,CAAC,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,8BAA8B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1F,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,eAAe,CAAC,MAAM,mDAAmD,CAAC,CAAC;YACzG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC9C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;YACzC,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW,CACrB,aAA4B;QAE5B,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC3D,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,KAAK,YAAY,wBAAe,EAAE,CAAC;gBACnC,OAAO;oBACH,IAAI,EAAE;wBACF,GAAG,aAAa;wBAChB,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,IAAA,uBAAW,EAAC,KAAK,CAAC;wBACxB,SAAS,EAAE,IAAA,uBAAW,EAAC;4BACnB,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,cAAc;4BAC3D,KAAK,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC;yBAChC,CAAC;wBACF,UAAU,EAAE,IAAA,uBAAW,EAAC;4BACpB,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,kBAAkB;4BAC/D,KAAK,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC;yBAChC,CAAC;wBACF,UAAU,EAAE,aAAa,CAAC,UAAU;4BAChC,CAAC,CAAC;gCACI,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI;gCACnC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,UAAU;gCAC/C,QAAQ,EAAE,IAAA,uBAAW,EAAC;oCAClB,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,UAAU,EAAE,YAAY;oCACrE,KAAK,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC;iCAChC,CAAC;6BACL;4BACH,CAAC,CAAC,SAAS;wBACf,MAAM,EAAE,CAAC,KAAK,CAAC;wBACf,gBAAgB,EAAE,IAAA,mBAAY,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ;qBAC7D;iBACJ,CAAC;YACN,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CACf,IAA0D;QAE1D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,KAAK,YAAY,wBAAe,EAAE,CAAC;oBACnC,gDAAgD;oBAChD,0DAA0D;oBAC1D,wDAAwD;oBACxD,MAAM,IAAI,wBAAe,CAAC,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,4BAA4B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1F,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;gBACH,GAAG,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;aAChE,CAAC;QACN,CAAC;QACD,sCAAsC;QACtC,mDAAmD;QACnD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,MAAM,IAAI,wBAAe,CAAC,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,0BAA0B,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,OAAe;QAO9C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9G,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnF,OAAO;YACH,GAAG;YACH,UAAU;YACV,oBAAoB;YACpB,0BAA0B;YAC1B,cAAc;SACjB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,IAA+F;QAE/F,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC;QAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAC/D,OAAO;YACH,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,GAAG,EAAE,OAAO,CAAC,UAAU;SAC1B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAe;QAMrC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,4CAA4C,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,IAAA,6BAAgB,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,OAAO,mCAAmC,IAAI,uBAAuB,QAAQ,WAAW,MAAM,EAAE,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,yBAAgB,CAAC,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,wBAAwB,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE7D,OAAO,2BAA2B,QAAQ,CAAC,OAAO,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;IAC3E,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAe;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,CAAC;CACJ;AA3aD,kCA2aC;AAEM,KAAK,UAAU,SAAS,CAAC,MAAc,EAAE,YAAmC;IAC/E,IAAI,QAAQ,GAA6C,YAAY,CAAC,IAAI,CAAC;IAC3E,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC;YACD,IAAA,8BAAgB,EAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9F,QAAQ,GAAG,IAAA,uBAAW,EAAC;gBACnB,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK;gBAC7B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,eAAe;aAC9E,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAA,mBAAY,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAEjE,IAAI,YAAY,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC,cAAc,EAAE,EAAE;YACtD,CAAC,CAAC,IAAA,gDAA2B,EACvB,MAAM,EACN,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,EAC9C,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,kBAAkB,CACvD;YACH,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACH,GAAG,YAAY;YACf,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE;gBAC5C,CAAC,CAAC,YAAY,CAAC,cAAc;gBAC7B,CAAC,CAAC,IAAA,oBAAQ,EAAC;oBACL,GAAG,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;oBAC1C,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK;oBAC9C,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY;oBAC5D,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW;oBAC1D,aAAa,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa;oBAC9D,UAAU,EAAE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU;oBACxD,GAAG,kBAAkB;iBACxB,CAAC;YACR,MAAM,EAAE,SAAS;YACjB,gBAAgB;SACnB,CAAC;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,MAAM,EAAE,kBAAkB;QAC9D,CAAC,CAAC,IAAA,kDAA6B,EAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO;QACH,GAAG,YAAY;QACf,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,KAAK;QACd,cAAc,EAAE,SAAS;QACzB,MAAM,EAAE,kBAAkB;QAC1B,gBAAgB;KACnB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"nodesAccess.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesAccess.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { NodeResult, NodeResultWithNewUid } from '../../interface';
2
- import { NodeAPIService } from './apiService';
2
+ import { NodeAPIServiceBase } from './apiService';
3
3
  import { NodesCryptoCache } from './cryptoCache';
4
4
  import { NodesCryptoService } from './cryptoService';
5
- import { DecryptedNode } from './interface';
6
- import { NodesAccess } from './nodesAccess';
5
+ import { DecryptedNode, EncryptedNode } from './interface';
6
+ import { NodesAccessBase } from './nodesAccess';
7
7
  /**
8
8
  * Provides high-level actions for managing nodes.
9
9
  *
@@ -13,22 +13,42 @@ import { NodesAccess } from './nodesAccess';
13
13
  * This module uses other modules providing low-level operations, such
14
14
  * as API service, cache, crypto service, etc.
15
15
  */
16
- export declare class NodesManagement {
17
- protected apiService: NodeAPIService;
16
+ export declare abstract class NodesManagementBase<TEncryptedNode extends EncryptedNode = EncryptedNode, TDecryptedNode extends DecryptedNode = DecryptedNode, TNodesCryptoService extends NodesCryptoService = NodesCryptoService> {
17
+ protected apiService: NodeAPIServiceBase<TEncryptedNode>;
18
18
  protected cryptoCache: NodesCryptoCache;
19
19
  protected cryptoService: NodesCryptoService;
20
- protected nodesAccess: NodesAccess;
21
- constructor(apiService: NodeAPIService, cryptoCache: NodesCryptoCache, cryptoService: NodesCryptoService, nodesAccess: NodesAccess);
20
+ protected nodesAccess: NodesAccessBase<TEncryptedNode, TDecryptedNode, TNodesCryptoService>;
21
+ constructor(apiService: NodeAPIServiceBase<TEncryptedNode>, cryptoCache: NodesCryptoCache, cryptoService: NodesCryptoService, nodesAccess: NodesAccessBase<TEncryptedNode, TDecryptedNode, TNodesCryptoService>);
22
22
  renameNode(nodeUid: string, newName: string, options?: {
23
23
  allowRenameRootNode: boolean;
24
- }): Promise<DecryptedNode>;
24
+ }): Promise<TDecryptedNode>;
25
25
  moveNodes(nodeUids: string[], newParentNodeUid: string, signal?: AbortSignal): AsyncGenerator<NodeResult>;
26
- moveNode(nodeUid: string, newParentUid: string): Promise<DecryptedNode>;
27
- copyNodes(nodeUids: string[], newParentNodeUid: string, signal?: AbortSignal): AsyncGenerator<NodeResultWithNewUid>;
28
- copyNode(nodeUid: string, newParentUid: string): Promise<DecryptedNode>;
26
+ moveNode(nodeUid: string, newParentUid: string): Promise<TDecryptedNode>;
27
+ copyNodes(nodeUidsOrWithNames: (string | {
28
+ uid: string;
29
+ name: string;
30
+ })[], newParentNodeUid: string, signal?: AbortSignal): AsyncGenerator<NodeResultWithNewUid>;
31
+ copyNode(nodeUid: string, newParentUid: string, name?: string): Promise<TDecryptedNode>;
29
32
  trashNodes(nodeUids: string[], signal?: AbortSignal): AsyncGenerator<NodeResult>;
30
33
  restoreNodes(nodeUids: string[], signal?: AbortSignal): AsyncGenerator<NodeResult>;
31
34
  deleteNodes(nodeUids: string[], signal?: AbortSignal): AsyncGenerator<NodeResult>;
32
- createFolder(parentNodeUid: string, folderName: string, modificationTime?: Date): Promise<DecryptedNode>;
35
+ createFolder(parentNodeUid: string, folderName: string, modificationTime?: Date): Promise<TDecryptedNode>;
36
+ protected abstract generateNodeFolder(nodeUid: string, parentUid: string, name: string, encryptedCrypto: {
37
+ hash: string;
38
+ encryptedName: string;
39
+ signatureEmail: string | null;
40
+ }): TDecryptedNode;
41
+ protected generateNodeFolderBase(nodeUid: string, parentNodeUid: string, name: string, encryptedCrypto: {
42
+ hash: string;
43
+ encryptedName: string;
44
+ signatureEmail: string | null;
45
+ }): DecryptedNode;
33
46
  findAvailableName(parentFolderUid: string, name: string): Promise<string>;
34
47
  }
48
+ export declare class NodesManagement extends NodesManagementBase {
49
+ protected generateNodeFolder(nodeUid: string, parentNodeUid: string, name: string, encryptedCrypto: {
50
+ hash: string;
51
+ encryptedName: string;
52
+ signatureEmail: string | null;
53
+ }): DecryptedNode;
54
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NodesManagement = void 0;
3
+ exports.NodesManagement = exports.NodesManagementBase = void 0;
4
4
  const ttag_1 = require("ttag");
5
5
  const interface_1 = require("../../interface");
6
6
  const errors_1 = require("../../errors");
@@ -21,7 +21,7 @@ const AVAILABLE_NAME_LIMIT = 1000;
21
21
  * This module uses other modules providing low-level operations, such
22
22
  * as API service, cache, crypto service, etc.
23
23
  */
24
- class NodesManagement {
24
+ class NodesManagementBase {
25
25
  apiService;
26
26
  cryptoCache;
27
27
  cryptoService;
@@ -114,7 +114,7 @@ class NodesManagement {
114
114
  if (!newParentKeys.hashKey) {
115
115
  throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `Moving item to a non-folder is not allowed`);
116
116
  }
117
- const encryptedCrypto = await this.cryptoService.encryptNodeWithNewParent(node, keys, { key: newParentKeys.key, hashKey: newParentKeys.hashKey }, signingKeys);
117
+ const encryptedCrypto = await this.cryptoService.encryptNodeWithNewParent(node.name, keys, { key: newParentKeys.key, hashKey: newParentKeys.hashKey }, signingKeys);
118
118
  // Node could be uploaded or renamed by anonymous user and thus have
119
119
  // missing signatures that must be added to the move request.
120
120
  // Node passphrase and signature email must be passed if and only if
@@ -149,13 +149,15 @@ class NodesManagement {
149
149
  return newNode;
150
150
  }
151
151
  // Improvement requested: copy nodes in parallel using copy_multiple endpoint
152
- async *copyNodes(nodeUids, newParentNodeUid, signal) {
153
- for (const nodeUid of nodeUids) {
152
+ async *copyNodes(nodeUidsOrWithNames, newParentNodeUid, signal) {
153
+ for (const nodeUidOrWithName of nodeUidsOrWithNames) {
154
154
  if (signal?.aborted) {
155
155
  throw new errors_1.AbortError((0, ttag_1.c)('Error').t `Copy operation aborted`);
156
156
  }
157
+ const nodeUid = typeof nodeUidOrWithName === 'string' ? nodeUidOrWithName : nodeUidOrWithName.uid;
158
+ const name = typeof nodeUidOrWithName === 'string' ? undefined : nodeUidOrWithName.name;
157
159
  try {
158
- const { uid: newNodeUid } = await this.copyNode(nodeUid, newParentNodeUid);
160
+ const { uid: newNodeUid } = await this.copyNode(nodeUid, newParentNodeUid, name);
159
161
  yield {
160
162
  uid: nodeUid,
161
163
  newUid: newNodeUid,
@@ -166,13 +168,17 @@ class NodesManagement {
166
168
  yield {
167
169
  uid: nodeUid,
168
170
  ok: false,
169
- error: (0, errors_2.getErrorMessage)(error),
171
+ error: (0, errors_2.createErrorFromUnknown)(error),
170
172
  };
171
173
  }
172
174
  }
173
175
  }
174
- async copyNode(nodeUid, newParentUid) {
176
+ async copyNode(nodeUid, newParentUid, name) {
177
+ if (name) {
178
+ (0, validations_1.validateNodeName)(name);
179
+ }
175
180
  const node = await this.nodesAccess.getNode(nodeUid);
181
+ const nodeName = name ? (0, interface_1.resultOk)(name) : node.name;
176
182
  const [keys, newParentKeys, signingKeys] = await Promise.all([
177
183
  this.nodesAccess.getNodePrivateAndSessionKeys(nodeUid),
178
184
  this.nodesAccess.getNodeKeys(newParentUid),
@@ -181,7 +187,7 @@ class NodesManagement {
181
187
  if (!newParentKeys.hashKey) {
182
188
  throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `Copying item to a non-folder is not allowed`);
183
189
  }
184
- const encryptedCrypto = await this.cryptoService.encryptNodeWithNewParent(node, keys, { key: newParentKeys.key, hashKey: newParentKeys.hashKey }, signingKeys);
190
+ const encryptedCrypto = await this.cryptoService.encryptNodeWithNewParent(nodeName, keys, { key: newParentKeys.key, hashKey: newParentKeys.hashKey }, signingKeys);
185
191
  // Node could be uploaded or renamed by anonymous user and thus have
186
192
  // missing signatures that must be added to the copy request.
187
193
  // Node passphrase and signature email must be passed if and only if
@@ -203,6 +209,7 @@ class NodesManagement {
203
209
  });
204
210
  const newNode = {
205
211
  ...node,
212
+ name: nodeName,
206
213
  uid: newNodeUid,
207
214
  encryptedName: encryptedCrypto.encryptedName,
208
215
  parentUid: newParentUid,
@@ -258,7 +265,12 @@ class NodesManagement {
258
265
  armoredExtendedAttributes: encryptedCrypto.folder.armoredExtendedAttributes,
259
266
  });
260
267
  await this.nodesAccess.notifyChildCreated(parentNodeUid);
261
- const node = {
268
+ const node = this.generateNodeFolder(nodeUid, parentNodeUid, folderName, encryptedCrypto);
269
+ await this.cryptoCache.setNodeKeys(nodeUid, keys);
270
+ return node;
271
+ }
272
+ generateNodeFolderBase(nodeUid, parentNodeUid, name, encryptedCrypto) {
273
+ return {
262
274
  // Internal metadata
263
275
  hash: encryptedCrypto.hash,
264
276
  encryptedName: encryptedCrypto.encryptedName,
@@ -268,6 +280,7 @@ class NodesManagement {
268
280
  type: interface_1.NodeType.Folder,
269
281
  mediaType: 'Folder',
270
282
  creationTime: new Date(),
283
+ modificationTime: new Date(),
271
284
  // Share node metadata
272
285
  isShared: false,
273
286
  isSharedPublicly: false,
@@ -276,11 +289,9 @@ class NodesManagement {
276
289
  isStale: false,
277
290
  keyAuthor: (0, interface_1.resultOk)(encryptedCrypto.signatureEmail || null),
278
291
  nameAuthor: (0, interface_1.resultOk)(encryptedCrypto.signatureEmail || null),
279
- name: (0, interface_1.resultOk)(folderName),
292
+ name: (0, interface_1.resultOk)(name),
280
293
  treeEventScopeId: (0, uids_1.splitNodeUid)(nodeUid).volumeId,
281
294
  };
282
- await this.cryptoCache.setNodeKeys(nodeUid, keys);
283
- return node;
284
295
  }
285
296
  async findAvailableName(parentFolderUid, name) {
286
297
  const { hashKey: parentHashKey } = await this.nodesAccess.getNodeKeys(parentFolderUid);
@@ -309,5 +320,11 @@ class NodesManagement {
309
320
  throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `No available name found`);
310
321
  }
311
322
  }
323
+ exports.NodesManagementBase = NodesManagementBase;
324
+ class NodesManagement extends NodesManagementBase {
325
+ generateNodeFolder(nodeUid, parentNodeUid, name, encryptedCrypto) {
326
+ return this.generateNodeFolderBase(nodeUid, parentNodeUid, name, encryptedCrypto);
327
+ }
328
+ }
312
329
  exports.NodesManagement = NodesManagement;
313
330
  //# sourceMappingURL=nodesManagement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodesManagement.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodesManagement.js","sourceRoot":"","sources":["../../../src/internal/nodes/nodesManagement.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const nodesManagement_1 = require("./nodesManagement");
4
4
  const errors_1 = require("./errors");
5
+ const errors_2 = require("../../errors");
5
6
  describe('NodesManagement', () => {
6
7
  let apiService;
7
8
  let cryptoCache;
@@ -162,7 +163,7 @@ describe('NodesManagement', () => {
162
163
  nodeUid: 'nodeUid',
163
164
  parentNodeUid: 'newParentNodeUid',
164
165
  });
165
- expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.nodeUid, expect.objectContaining({
166
+ expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.nodeUid.name, expect.objectContaining({
166
167
  key: 'nodeUid-key',
167
168
  passphrase: 'nodeUid-passphrase',
168
169
  passphraseSessionKey: 'nodeUid-passphraseSessionKey',
@@ -190,7 +191,7 @@ describe('NodesManagement', () => {
190
191
  };
191
192
  cryptoService.encryptNodeWithNewParent = jest.fn().mockResolvedValue(encryptedCrypto);
192
193
  const newNode = await management.moveNode('anonymousNodeUid', 'newParentNodeUid');
193
- expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid, expect.objectContaining({
194
+ expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid.name, expect.objectContaining({
194
195
  key: 'anonymousNodeUid-key',
195
196
  passphrase: 'anonymousNodeUid-passphrase',
196
197
  passphraseSessionKey: 'anonymousNodeUid-passphraseSessionKey',
@@ -236,7 +237,7 @@ describe('NodesManagement', () => {
236
237
  nodeUid: 'nodeUid',
237
238
  parentNodeUid: 'newParentNodeUid',
238
239
  });
239
- expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.nodeUid, expect.objectContaining({
240
+ expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.nodeUid.name, expect.objectContaining({
240
241
  key: 'nodeUid-key',
241
242
  passphrase: 'nodeUid-passphrase',
242
243
  passphraseSessionKey: 'nodeUid-passphraseSessionKey',
@@ -263,7 +264,7 @@ describe('NodesManagement', () => {
263
264
  };
264
265
  cryptoService.encryptNodeWithNewParent = jest.fn().mockResolvedValue(encryptedCrypto);
265
266
  const newNode = await management.copyNode('anonymousNodeUid', 'newParentNodeUid');
266
- expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid, expect.objectContaining({
267
+ expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith(nodes.anonymousNodeUid.name, expect.objectContaining({
267
268
  key: 'anonymousNodeUid-key',
268
269
  passphrase: 'anonymousNodeUid-passphrase',
269
270
  passphraseSessionKey: 'anonymousNodeUid-passphraseSessionKey',
@@ -284,6 +285,40 @@ describe('NodesManagement', () => {
284
285
  ...encryptedCrypto,
285
286
  });
286
287
  });
288
+ it('copyNode manages copy of node with new name', async () => {
289
+ const encryptedCrypto = {
290
+ encryptedName: 'copiedArmoredNodeName',
291
+ hash: 'copiedHash',
292
+ armoredNodePassphrase: 'copiedArmoredNodePassphrase',
293
+ armoredNodePassphraseSignature: 'copiedArmoredNodePassphraseSignature',
294
+ signatureEmail: 'copiedSignatureEmail',
295
+ nameSignatureEmail: 'copiedNameSignatureEmail',
296
+ };
297
+ cryptoService.encryptNodeWithNewParent = jest.fn().mockResolvedValue(encryptedCrypto);
298
+ const newName = 'new name';
299
+ const newNode = await management.copyNode('nodeUid', 'newParentNodeUid', newName);
300
+ expect(newNode).toEqual({
301
+ ...nodes.nodeUid,
302
+ name: { ok: true, value: newName },
303
+ uid: 'newCopiedNodeUid',
304
+ parentUid: 'newParentNodeUid',
305
+ encryptedName: 'copiedArmoredNodeName',
306
+ hash: 'copiedHash',
307
+ keyAuthor: { ok: true, value: 'copiedSignatureEmail' },
308
+ nameAuthor: { ok: true, value: 'copiedNameSignatureEmail' },
309
+ });
310
+ expect(cryptoService.encryptNodeWithNewParent).toHaveBeenCalledWith({ ok: true, value: newName }, expect.objectContaining({
311
+ key: 'nodeUid-key',
312
+ passphrase: 'nodeUid-passphrase',
313
+ passphraseSessionKey: 'nodeUid-passphraseSessionKey',
314
+ contentKeyPacketSessionKey: 'nodeUid-contentKeyPacketSessionKey',
315
+ nameSessionKey: 'nodeUid-nameSessionKey',
316
+ }), expect.objectContaining({ key: 'newParentNodeUid-key', hashKey: 'newParentNodeUid-hashKey' }), { type: 'userAddress', email: 'root-email', addressId: 'root-addressId', key: 'root-key' });
317
+ });
318
+ it('copyNode throws error if name is invalid', async () => {
319
+ const promise = management.copyNode('nodeUid', 'newParentNodeUid', 'invalid/name');
320
+ await expect(promise).rejects.toThrow(errors_2.ValidationError);
321
+ });
287
322
  it('trashes node and updates cache', async () => {
288
323
  const uids = ['v1~n1', 'v1~n2'];
289
324
  const trashed = new Set();