@protontech/drive-sdk 0.0.10 → 0.0.12

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 (117) hide show
  1. package/dist/crypto/driveCrypto.d.ts +11 -0
  2. package/dist/crypto/driveCrypto.js +16 -0
  3. package/dist/crypto/driveCrypto.js.map +1 -1
  4. package/dist/crypto/interface.d.ts +2 -0
  5. package/dist/crypto/openPGPCrypto.d.ts +2 -0
  6. package/dist/crypto/openPGPCrypto.js +8 -0
  7. package/dist/crypto/openPGPCrypto.js.map +1 -1
  8. package/dist/interface/index.d.ts +3 -3
  9. package/dist/interface/index.js +2 -2
  10. package/dist/interface/index.js.map +1 -1
  11. package/dist/interface/nodes.d.ts +9 -0
  12. package/dist/interface/nodes.js.map +1 -1
  13. package/dist/interface/sharing.d.ts +22 -2
  14. package/dist/interface/telemetry.d.ts +10 -8
  15. package/dist/interface/telemetry.js +7 -7
  16. package/dist/interface/telemetry.js.map +1 -1
  17. package/dist/internal/apiService/errors.js +1 -1
  18. package/dist/internal/apiService/errors.js.map +1 -1
  19. package/dist/internal/apiService/errors.test.js +7 -0
  20. package/dist/internal/apiService/errors.test.js.map +1 -1
  21. package/dist/internal/download/interface.d.ts +2 -2
  22. package/dist/internal/download/telemetry.js +7 -5
  23. package/dist/internal/download/telemetry.js.map +1 -1
  24. package/dist/internal/download/telemetry.test.js +10 -6
  25. package/dist/internal/download/telemetry.test.js.map +1 -1
  26. package/dist/internal/nodes/cache.js +25 -1
  27. package/dist/internal/nodes/cache.js.map +1 -1
  28. package/dist/internal/nodes/cache.test.js +33 -0
  29. package/dist/internal/nodes/cache.test.js.map +1 -1
  30. package/dist/internal/nodes/cryptoService.d.ts +8 -3
  31. package/dist/internal/nodes/cryptoService.js +11 -11
  32. package/dist/internal/nodes/cryptoService.js.map +1 -1
  33. package/dist/internal/nodes/cryptoService.test.js +2 -2
  34. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  35. package/dist/internal/nodes/index.d.ts +1 -1
  36. package/dist/internal/nodes/interface.d.ts +2 -2
  37. package/dist/internal/nodes/nodesManagement.js +1 -1
  38. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  39. package/dist/internal/nodes/nodesManagement.test.js +1 -1
  40. package/dist/internal/nodes/nodesManagement.test.js.map +1 -1
  41. package/dist/internal/shares/cryptoService.js +4 -4
  42. package/dist/internal/shares/cryptoService.js.map +1 -1
  43. package/dist/internal/shares/cryptoService.test.js +2 -2
  44. package/dist/internal/shares/cryptoService.test.js.map +1 -1
  45. package/dist/internal/shares/manager.d.ts +2 -2
  46. package/dist/internal/shares/manager.js +2 -2
  47. package/dist/internal/shares/manager.js.map +1 -1
  48. package/dist/internal/sharing/apiService.d.ts +2 -2
  49. package/dist/internal/sharing/apiService.js +1 -1
  50. package/dist/internal/sharing/apiService.js.map +1 -1
  51. package/dist/internal/sharing/cryptoService.d.ts +12 -3
  52. package/dist/internal/sharing/cryptoService.js +110 -1
  53. package/dist/internal/sharing/cryptoService.js.map +1 -1
  54. package/dist/internal/sharing/cryptoService.test.d.ts +1 -0
  55. package/dist/internal/sharing/cryptoService.test.js +132 -0
  56. package/dist/internal/sharing/cryptoService.test.js.map +1 -0
  57. package/dist/internal/sharing/index.js +1 -1
  58. package/dist/internal/sharing/index.js.map +1 -1
  59. package/dist/internal/sharing/interface.d.ts +4 -0
  60. package/dist/internal/sharing/sharingAccess.d.ts +3 -3
  61. package/dist/internal/sharing/sharingAccess.js +29 -4
  62. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  63. package/dist/internal/sharing/sharingAccess.test.js +65 -0
  64. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  65. package/dist/internal/sharing/sharingManagement.js +2 -2
  66. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  67. package/dist/internal/sharing/sharingManagement.test.js +3 -3
  68. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  69. package/dist/internal/upload/interface.d.ts +2 -2
  70. package/dist/internal/upload/telemetry.js +7 -5
  71. package/dist/internal/upload/telemetry.js.map +1 -1
  72. package/dist/internal/upload/telemetry.test.js +10 -6
  73. package/dist/internal/upload/telemetry.test.js.map +1 -1
  74. package/dist/protonDriveClient.d.ts +16 -1
  75. package/dist/protonDriveClient.js +23 -2
  76. package/dist/protonDriveClient.js.map +1 -1
  77. package/dist/transformers.d.ts +1 -1
  78. package/dist/transformers.js +16 -2
  79. package/dist/transformers.js.map +1 -1
  80. package/package.json +1 -1
  81. package/src/crypto/driveCrypto.ts +30 -0
  82. package/src/crypto/interface.ts +6 -0
  83. package/src/crypto/openPGPCrypto.ts +13 -0
  84. package/src/interface/index.ts +3 -3
  85. package/src/interface/nodes.ts +9 -0
  86. package/src/interface/sharing.ts +24 -2
  87. package/src/interface/telemetry.ts +8 -7
  88. package/src/internal/apiService/errors.test.ts +8 -0
  89. package/src/internal/apiService/errors.ts +1 -1
  90. package/src/internal/download/interface.ts +2 -2
  91. package/src/internal/download/telemetry.test.ts +18 -14
  92. package/src/internal/download/telemetry.ts +8 -5
  93. package/src/internal/nodes/cache.test.ts +41 -2
  94. package/src/internal/nodes/cache.ts +31 -3
  95. package/src/internal/nodes/cryptoService.test.ts +3 -3
  96. package/src/internal/nodes/cryptoService.ts +14 -13
  97. package/src/internal/nodes/index.ts +1 -1
  98. package/src/internal/nodes/interface.ts +2 -2
  99. package/src/internal/nodes/nodesManagement.test.ts +6 -6
  100. package/src/internal/nodes/nodesManagement.ts +2 -2
  101. package/src/internal/shares/cryptoService.test.ts +2 -2
  102. package/src/internal/shares/cryptoService.ts +7 -7
  103. package/src/internal/shares/manager.ts +4 -4
  104. package/src/internal/sharing/apiService.ts +10 -10
  105. package/src/internal/sharing/cryptoService.test.ts +148 -0
  106. package/src/internal/sharing/cryptoService.ts +137 -3
  107. package/src/internal/sharing/index.ts +1 -1
  108. package/src/internal/sharing/interface.ts +4 -0
  109. package/src/internal/sharing/sharingAccess.test.ts +74 -0
  110. package/src/internal/sharing/sharingAccess.ts +29 -5
  111. package/src/internal/sharing/sharingManagement.test.ts +3 -3
  112. package/src/internal/sharing/sharingManagement.ts +2 -2
  113. package/src/internal/upload/interface.ts +2 -2
  114. package/src/internal/upload/telemetry.test.ts +10 -6
  115. package/src/internal/upload/telemetry.ts +8 -5
  116. package/src/protonDriveClient.ts +27 -2
  117. package/src/transformers.ts +31 -5
@@ -344,7 +344,7 @@ class ProtonDriveClient {
344
344
  * @throws {@link Error} If another node with the same name already exists.
345
345
  */
346
346
  async renameNode(nodeUid, newName) {
347
- this.logger.info(`Renaming node ${nodeUid} to ${newName}`);
347
+ this.logger.info(`Renaming node ${(0, transformers_1.getUid)(nodeUid)}`);
348
348
  return (0, transformers_1.convertInternalNodePromise)(this.nodes.management.renameNode((0, transformers_1.getUid)(nodeUid), newName));
349
349
  }
350
350
  /**
@@ -439,7 +439,7 @@ class ProtonDriveClient {
439
439
  * @throws {@link Error} If another node with the same name already exists.
440
440
  */
441
441
  async createFolder(parentNodeUid, name, modificationTime) {
442
- this.logger.info(`Creating folder ${name} in ${(0, transformers_1.getUid)(parentNodeUid)}`);
442
+ this.logger.info(`Creating folder in ${(0, transformers_1.getUid)(parentNodeUid)}`);
443
443
  return (0, transformers_1.convertInternalNodePromise)(this.nodes.management.createFolder((0, transformers_1.getUid)(parentNodeUid), name, modificationTime));
444
444
  }
445
445
  /**
@@ -561,6 +561,27 @@ class ProtonDriveClient {
561
561
  this.logger.info(`Rejecting invitation ${invitationId}`);
562
562
  await this.sharing.access.rejectInvitation(invitationId);
563
563
  }
564
+ /**
565
+ * Iterates the shared bookmarks.
566
+ *
567
+ * The output is not sorted and the order of the bookmarks is not guaranteed.
568
+ *
569
+ * @param signal - Signal to abort the operation.
570
+ * @returns An async generator of the shared bookmarks.
571
+ */
572
+ async *iterateBookmarks(signal) {
573
+ this.logger.info('Iterating shared bookmarks');
574
+ yield* this.sharing.access.iterateBookmarks(signal);
575
+ }
576
+ /**
577
+ * Remove the shared bookmark.
578
+ *
579
+ * @param bookmarkOrUid - Bookmark entity or its UID string.
580
+ */
581
+ async removeBookmark(bookmarkOrUid) {
582
+ this.logger.info(`Removing bookmark ${(0, transformers_1.getUid)(bookmarkOrUid)}`);
583
+ await this.sharing.access.deleteBookmark((0, transformers_1.getUid)(bookmarkOrUid));
584
+ }
564
585
  /**
565
586
  * Get sharing info of the node.
566
587
  *
@@ -1 +1 @@
1
- {"version":3,"file":"protonDriveClient.js","sourceRoot":"","sources":["../src/protonDriveClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protonDriveClient.js","sourceRoot":"","sources":["../src/protonDriveClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { MaybeNode as PublicMaybeNode, MaybeMissingNode as PublicMaybeMissingNode, Result, MissingNode } from './interface';
2
2
  import { DecryptedNode as InternalNode } from './internal/nodes';
3
- type InternalPartialNode = Pick<InternalNode, 'uid' | 'parentUid' | 'name' | 'keyAuthor' | 'nameAuthor' | 'directMemberRole' | 'type' | 'mediaType' | 'isShared' | 'creationTime' | 'trashTime' | 'activeRevision' | 'folder' | 'totalStorageSize' | 'errors'>;
3
+ type InternalPartialNode = Pick<InternalNode, 'uid' | 'parentUid' | 'name' | 'keyAuthor' | 'nameAuthor' | 'directMemberRole' | 'type' | 'mediaType' | 'isShared' | 'creationTime' | 'trashTime' | 'activeRevision' | 'folder' | 'totalStorageSize' | 'errors' | 'shareId'>;
4
4
  type NodeUid = string | {
5
5
  uid: string;
6
6
  } | Result<{
@@ -57,6 +57,7 @@ function convertInternalNode(node) {
57
57
  trashTime: node.trashTime,
58
58
  totalStorageSize: node.totalStorageSize,
59
59
  folder: node.folder,
60
+ deprecatedShareId: node.shareId,
60
61
  };
61
62
  const name = node.name;
62
63
  const activeRevision = node.activeRevision;
@@ -64,14 +65,27 @@ function convertInternalNode(node) {
64
65
  return (0, interface_1.resultError)({
65
66
  ...baseNodeMetadata,
66
67
  name,
67
- activeRevision,
68
+ activeRevision: activeRevision?.ok ? (0, interface_1.resultOk)(convertInternalRevision(activeRevision.value)) : activeRevision,
68
69
  errors: node.errors,
69
70
  });
70
71
  }
71
72
  return (0, interface_1.resultOk)({
72
73
  ...baseNodeMetadata,
73
74
  name: name.value,
74
- activeRevision: activeRevision?.value,
75
+ activeRevision: activeRevision?.ok ? convertInternalRevision(activeRevision.value) : undefined,
75
76
  });
76
77
  }
78
+ function convertInternalRevision(revision) {
79
+ return {
80
+ uid: revision.uid,
81
+ state: revision.state,
82
+ creationTime: revision.creationTime,
83
+ contentAuthor: revision.contentAuthor,
84
+ storageSize: revision.storageSize,
85
+ claimedSize: revision.claimedSize,
86
+ claimedModificationTime: revision.claimedModificationTime,
87
+ claimedDigests: revision.claimedDigests,
88
+ claimedAdditionalMetadata: revision.claimedAdditionalMetadata,
89
+ };
90
+ }
77
91
  //# sourceMappingURL=transformers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":";;AAwBA,wBAaC;AAED,0BAEC;AAED,kEAIC;AAED,gFAQC;AAED,gEAGC;AAED,kDAiCC;AAjGD,2CAAuN;AAwBvN,SAAgB,MAAM,CAAC,OAAgB;IACnC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,oEAAoE;IACpE,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,GAAG,CAAC;IACvB,CAAC;IACD,2DAA2D;IAC3D,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,CAAC;AAED,SAAgB,OAAO,CAAC,QAAmB;IACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAEM,KAAK,SAAU,CAAC,CAAA,2BAA2B,CAAC,YAAiD;IAChG,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;AACL,CAAC;AAEM,KAAK,SAAU,CAAC,CAAA,kCAAkC,CAAC,YAA+D;IACrH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACpC,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAAC,WAAyC;IACtF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;IAC/B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAyB;IACzD,MAAM,gBAAgB,GAAG;QACrB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAE3C,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAA,uBAAW,EAAC;YACf,GAAG,gBAAgB;YACnB,IAAI;YACJ,cAAc;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;SACA,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAA,oBAAQ,EAAC;QACZ,GAAG,gBAAgB;QACnB,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,cAAc,EAAE,cAAc,EAAE,KAAK;KACpB,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../src/transformers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protontech/drive-sdk",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "description": "Proton Drive SDK",
5
5
  "license": "GPL-3.0",
6
6
  "main": "dist/index.js",
@@ -232,6 +232,36 @@ export class DriveCrypto {
232
232
  };
233
233
  }
234
234
 
235
+ /**
236
+ * It decrypts the key using the password via SRP protocol.
237
+ *
238
+ * The function follows the same functionality as `decryptKey` but uses SRP
239
+ * protocol to decrypt the passphrase of the key. It is used for saved
240
+ * public links where user saved the link with password and is not direct
241
+ * member of the share.
242
+ */
243
+ async decryptKeyWithSrpPassword(
244
+ password: string,
245
+ salt: string,
246
+ armoredKey: string,
247
+ armoredPassphrase: string,
248
+ ): Promise<{
249
+ key: PrivateKey,
250
+ }> {
251
+ const keyPassword = await this.srpModule.computeKeyPassword(password, salt);
252
+
253
+ const passphrase = await this.openPGPCrypto.decryptArmoredWithPassword(armoredPassphrase, keyPassword);
254
+
255
+ const key = await this.openPGPCrypto.decryptKey(
256
+ armoredKey,
257
+ new TextDecoder().decode(passphrase),
258
+ );
259
+
260
+ return {
261
+ key,
262
+ };
263
+ }
264
+
235
265
  /**
236
266
  * It decrypts session key from armored data.
237
267
  *
@@ -53,6 +53,7 @@ export enum VERIFICATION_STATUS {
53
53
 
54
54
  export interface SRPModule {
55
55
  getSrpVerifier: (password: string) => Promise<SRPVerifier>,
56
+ computeKeyPassword: (password: string, salt: string) => Promise<string>,
56
57
  }
57
58
 
58
59
  export type SRPVerifier = {
@@ -227,4 +228,9 @@ export interface OpenPGPCrypto {
227
228
  data: Uint8Array,
228
229
  verified: VERIFICATION_STATUS,
229
230
  }>,
231
+
232
+ decryptArmoredWithPassword(
233
+ armoredData: string,
234
+ password: string,
235
+ ): Promise<Uint8Array>,
230
236
  }
@@ -30,6 +30,7 @@ export interface OpenPGPCryptoProxy {
30
30
  armoredSignature?: string,
31
31
  binarySignature?: Uint8Array,
32
32
  sessionKeys?: SessionKey,
33
+ passwords?: string[],
33
34
  decryptionKeys?: PrivateKey | PrivateKey[],
34
35
  verificationKeys?: PublicKey | PublicKey[],
35
36
  }) => Promise<{
@@ -395,4 +396,16 @@ export class OpenPGPCryptoWithCryptoProxy implements OpenPGPCrypto {
395
396
  verified: verified || verificationStatus!,
396
397
  }
397
398
  }
399
+
400
+ async decryptArmoredWithPassword(
401
+ armoredData: string,
402
+ password: string,
403
+ ) {
404
+ const { data } = await this.cryptoProxy.decryptMessage({
405
+ armoredMessage: armoredData,
406
+ passwords: [password],
407
+ format: 'binary',
408
+ });
409
+ return data as Uint8Array;
410
+ }
398
411
  }
@@ -16,10 +16,10 @@ export { SDKEvent } from './events';
16
16
  export type { ProtonDriveHTTPClient, ProtonDriveHTTPClientJsonOptions, ProtonDriveHTTPClientBlobOptions, ProtonDriveConfig } from './httpClient';
17
17
  export type { MaybeNode, NodeEntity, DegradedNode, MaybeMissingNode, MissingNode, InvalidNameError, Revision, NodeOrUid, RevisionOrUid, NodeResult } from './nodes';
18
18
  export { NodeType, MemberRole, RevisionState } from './nodes';
19
- export type { ProtonInvitation, ProtonInvitationWithNode, NonProtonInvitation, Member, PublicLink, Bookmark, ProtonInvitationOrUid, NonProtonInvitationOrUid, BookmarkOrUid, ShareNodeSettings, UnshareNodeSettings, ShareMembersSettings, SharePublicLinkSettings, SharePublicLinkSettingsObject, ShareResult } from './sharing';
19
+ export type { ProtonInvitation, ProtonInvitationWithNode, NonProtonInvitation, Member, PublicLink, MaybeBookmark, Bookmark, DegradedBookmark, ProtonInvitationOrUid, NonProtonInvitationOrUid, BookmarkOrUid, ShareNodeSettings, UnshareNodeSettings, ShareMembersSettings, SharePublicLinkSettings, SharePublicLinkSettingsObject, ShareResult } from './sharing';
20
20
  export { NonProtonInvitationState } from './sharing';
21
- export type { Telemetry, Logger, MetricAPIRetrySucceededEvent, MetricUploadEvent, MetricsUploadErrorType, MetricDownloadEvent, MetricsDownloadErrorType, MetricDecryptionErrorEvent, MetricsDecryptionErrorField, MetricVerificationErrorEvent, MetricVerificationErrorField, MetricVolumeEventsSubscriptionsChangedEvent, MetricEvent } from './telemetry';
22
- export { MetricContext } from './telemetry';
21
+ export type { Telemetry, Logger, MetricAPIRetrySucceededEvent, MetricUploadEvent, MetricsUploadErrorType, MetricDownloadEvent, MetricsDownloadErrorType, MetricDecryptionErrorEvent, MetricsDecryptionErrorField, MetricVerificationErrorEvent, MetricVerificationErrorField, MetricBlockVerificationErrorEvent, MetricVolumeEventsSubscriptionsChangedEvent, MetricEvent } from './telemetry';
22
+ export { MetricVolumeType } from './telemetry';
23
23
  export type { Fileuploader, UploadController, UploadMetadata } from './upload';
24
24
  export type { Thumbnail, ThumbnailResult } from './thumbnail';
25
25
  export { ThumbnailType } from './thumbnail';
@@ -65,6 +65,15 @@ export type NodeEntity = {
65
65
  * one user, or via public link.
66
66
  */
67
67
  isShared: boolean,
68
+ /**
69
+ * Provides the ID of the share that the node is shared with.
70
+ *
71
+ * This is required only for the internal implementation to provide
72
+ * backward compatibility with the old Drive web setup.
73
+ *
74
+ * @deprecated This field is not part of the public API.
75
+ */
76
+ deprecatedShareId?: string,
68
77
  /**
69
78
  * Created on server date.
70
79
  */
@@ -38,16 +38,38 @@ export type PublicLink = {
38
38
  expirationTime?: Date,
39
39
  }
40
40
 
41
+ /**
42
+ * Bookmark representing a saved link to publicly shared node.
43
+ *
44
+ * This covers both happy path and degraded path.
45
+ */
46
+ export type MaybeBookmark = Result<Bookmark, DegradedBookmark>;
47
+
41
48
  export type Bookmark = {
42
49
  uid: string,
43
- bookmarkTime: Date,
50
+ creationTime: Date,
51
+ url: string,
44
52
  node: {
45
- name: Result<string, Error | InvalidNameError>,
53
+ name: string,
46
54
  type: NodeType,
47
55
  mediaType?: string,
48
56
  },
49
57
  }
50
58
 
59
+ /**
60
+ * Degraded bookmark representing a saved link to publicly shared node.
61
+ *
62
+ * This is a degraded path representation of the bookmark. It is used in the
63
+ * SDK to represent the bookmark in a way that is easy to work with. Whenever
64
+ * any field cannot be decrypted, it is returned as `DegradedBookmark` type.
65
+ */
66
+ export type DegradedBookmark = Omit<Bookmark, 'url' | 'node'> & {
67
+ url: Result<string, Error>,
68
+ node: Omit<Bookmark['node'], 'name'> & {
69
+ name: Result<string, Error | InvalidNameError>,
70
+ },
71
+ }
72
+
51
73
  export type ProtonInvitationOrUid = ProtonInvitation | string;
52
74
  export type NonProtonInvitationOrUid = NonProtonInvitation | string;
53
75
  export type BookmarkOrUid = Bookmark | string;
@@ -27,10 +27,11 @@ export interface MetricAPIRetrySucceededEvent {
27
27
 
28
28
  export interface MetricUploadEvent {
29
29
  eventName: 'upload',
30
- context?: MetricContext,
30
+ volumeType?: MetricVolumeType,
31
31
  uploadedSize: number,
32
32
  expectedSize: number,
33
33
  error?: MetricsUploadErrorType,
34
+ originalError?: unknown,
34
35
  };
35
36
  export type MetricsUploadErrorType =
36
37
  'server_error' |
@@ -38,15 +39,15 @@ export type MetricsUploadErrorType =
38
39
  'integrity_error' |
39
40
  'rate_limited' |
40
41
  '4xx' |
41
- '5xx' |
42
42
  'unknown';
43
43
 
44
44
  export interface MetricDownloadEvent {
45
45
  eventName: 'download',
46
- context?: MetricContext,
46
+ volumeType?: MetricVolumeType,
47
47
  downloadedSize: number,
48
48
  claimedFileSize?: number,
49
49
  error?: MetricsDownloadErrorType,
50
+ originalError?: unknown,
50
51
  };
51
52
  export type MetricsDownloadErrorType =
52
53
  'server_error' |
@@ -55,18 +56,18 @@ export type MetricsDownloadErrorType =
55
56
  'integrity_error' |
56
57
  'rate_limited' |
57
58
  '4xx' |
58
- '5xx' |
59
59
  'unknown';
60
60
 
61
61
  export interface MetricDecryptionErrorEvent {
62
62
  eventName: 'decryptionError',
63
- context?: MetricContext,
63
+ volumeType?: MetricVolumeType,
64
64
  field: MetricsDecryptionErrorField,
65
65
  fromBefore2024?: boolean,
66
66
  error?: unknown,
67
67
  };
68
68
  export type MetricsDecryptionErrorField =
69
69
  'shareKey' |
70
+ 'shareUrlPassword' |
70
71
  'nodeKey' |
71
72
  'nodeName' |
72
73
  'nodeHashKey' |
@@ -76,7 +77,7 @@ export type MetricsDecryptionErrorField =
76
77
 
77
78
  export interface MetricVerificationErrorEvent {
78
79
  eventName: 'verificationError',
79
- context?: MetricContext,
80
+ volumeType?: MetricVolumeType,
80
81
  field: MetricVerificationErrorField,
81
82
  addressMatchingDefaultShare?: boolean,
82
83
  fromBefore2024?: boolean,
@@ -100,7 +101,7 @@ export interface MetricVolumeEventsSubscriptionsChangedEvent {
100
101
  numberOfVolumeSubscriptions: number,
101
102
  };
102
103
 
103
- export enum MetricContext {
104
+ export enum MetricVolumeType {
104
105
  OwnVolume = 'own_volume',
105
106
  Shared = 'shared',
106
107
  SharedPublic = 'shared_public',
@@ -30,6 +30,14 @@ describe("apiErrorFactory should return", () => {
30
30
  expect((error as errors.APIHTTPError).statusCode).toBe(404);
31
31
  });
32
32
 
33
+ it("generic APIHTTPError with generic message when there is no specifc statusText", () => {
34
+ const response = new Response('', { status: 404, statusText: '' });
35
+ const error = apiErrorFactory({ response });
36
+ expect(error).toBeInstanceOf(errors.APIHTTPError);
37
+ expect(error.message).toBe("Unknown error");
38
+ expect((error as errors.APIHTTPError).statusCode).toBe(404);
39
+ });
40
+
33
41
  it("generic APIHTTPError when there 404 both in status code and body code", () => {
34
42
  const error = apiErrorFactory(mockAPIResponseAndResult({ httpStatusCode: 404, httpStatusText: 'Path not found', code: 404, message: 'Not found' }));
35
43
  expect(error).toBeInstanceOf(errors.APIHTTPError);
@@ -8,7 +8,7 @@ export function apiErrorFactory({ response, result }: { response: Response, resu
8
8
  // In such a case we want to stick to APIHTTPError to be very clear
9
9
  // it is not NotFoundAPIError.
10
10
  if (response.status === HTTPErrorCode.NOT_FOUND || !result) {
11
- return new APIHTTPError(response.statusText, response.status);
11
+ return new APIHTTPError(response.statusText || c('Error').t`Unknown error`, response.status);
12
12
  }
13
13
 
14
14
  const typedResult = result as {
@@ -1,5 +1,5 @@
1
1
  import { PrivateKey, PublicKey, SessionKey } from "../../crypto";
2
- import { NodeType, Result, Revision, MissingNode, MetricContext } from "../../interface";
2
+ import { NodeType, Result, Revision, MissingNode, MetricVolumeType } from "../../interface";
3
3
  import { DecryptedNode } from "../nodes";
4
4
 
5
5
  export type BlockMetadata = {
@@ -18,7 +18,7 @@ export type RevisionKeys = {
18
18
  }
19
19
 
20
20
  export interface SharesService {
21
- getVolumeMetricContext(volumeId: string): Promise<MetricContext>,
21
+ getVolumeMetricContext(volumeId: string): Promise<MetricVolumeType>,
22
22
  }
23
23
 
24
24
  export interface NodesService {
@@ -31,25 +31,29 @@ describe('DownloadTelemetry', () => {
31
31
  });
32
32
 
33
33
  it('should log failure during init (excludes file size)', async () => {
34
- await downloadTelemetry.downloadInitFailed(nodeUid, new Error('Failed'));
34
+ const error = new Error('Failed');
35
+ await downloadTelemetry.downloadInitFailed(nodeUid, error);
35
36
 
36
37
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith({
37
38
  eventName: "download",
38
- context: "own_volume",
39
+ volumeType: "own_volume",
39
40
  downloadedSize: 0,
40
41
  error: "unknown",
42
+ originalError: error,
41
43
  });
42
44
  });
43
45
 
44
46
  it('should log failure download', async () => {
45
- await downloadTelemetry.downloadFailed(revisionUid, new Error('Failed'), 123, 456);
47
+ const error = new Error('Failed');
48
+ await downloadTelemetry.downloadFailed(revisionUid, error, 123, 456);
46
49
 
47
50
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith({
48
51
  eventName: "download",
49
- context: "own_volume",
52
+ volumeType: "own_volume",
50
53
  downloadedSize: 123,
51
54
  claimedFileSize: 456,
52
55
  error: "unknown",
56
+ originalError: error,
53
57
  });
54
58
  });
55
59
 
@@ -58,7 +62,7 @@ describe('DownloadTelemetry', () => {
58
62
 
59
63
  expect(mockTelemetry.logEvent).toHaveBeenCalledWith({
60
64
  eventName: "download",
61
- context: "own_volume",
65
+ volumeType: "own_volume",
62
66
  downloadedSize: 500,
63
67
  claimedFileSize: 500,
64
68
  });
@@ -78,12 +82,12 @@ describe('DownloadTelemetry', () => {
78
82
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
79
83
  expect(mockTelemetry.logEvent).not.toHaveBeenCalled();
80
84
  });
81
-
85
+
82
86
  it('should ignore AbortError', async () => {
83
87
  const error = new Error('Aborted');
84
88
  error.name = 'AbortError';
85
89
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
86
-
90
+
87
91
  expect(mockTelemetry.logEvent).not.toHaveBeenCalled();
88
92
  });
89
93
 
@@ -92,38 +96,38 @@ describe('DownloadTelemetry', () => {
92
96
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
93
97
  verifyErrorCategory('rate_limited');
94
98
  });
95
-
99
+
96
100
  it('should detect "decryption_error" for DecryptionError', async () => {
97
101
  const error = new DecryptionError('Decryption failed');
98
102
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
99
103
  verifyErrorCategory('decryption_error');
100
104
  });
101
-
105
+
102
106
  it('should detect "integrity_error" for IntegrityError', async () => {
103
107
  const error = new IntegrityError('Integrity check failed');
104
108
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
105
109
  verifyErrorCategory('integrity_error');
106
110
  });
107
-
111
+
108
112
  it('should detect "4xx" error for APIHTTPError with 4xx status code', async () => {
109
113
  const error = new APIHTTPError('Client error', 404);
110
114
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
111
115
  verifyErrorCategory('4xx');
112
116
  });
113
-
117
+
114
118
  it('should detect "5xx" error for APIHTTPError with 5xx status code', async () => {
115
119
  const error = new APIHTTPError('Server error', 500);
116
120
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
117
- verifyErrorCategory('5xx');
121
+ verifyErrorCategory('server_error');
118
122
  });
119
-
123
+
120
124
  it('should detect "server_error" for TimeoutError', async () => {
121
125
  const error = new Error('Timeout');
122
126
  error.name = 'TimeoutError';
123
127
  await downloadTelemetry.downloadFailed(revisionUid, error, 100, 200);
124
128
  verifyErrorCategory('server_error');
125
129
  });
126
-
130
+
127
131
  it('should detect "network_error" for NetworkError', async () => {
128
132
  const error = new Error('Network error');
129
133
  error.name = 'NetworkError';
@@ -31,6 +31,7 @@ export class DownloadTelemetry {
31
31
  await this.sendTelemetry(volumeId, {
32
32
  downloadedSize: 0,
33
33
  error: errorCategory,
34
+ originalError: error,
34
35
  });
35
36
  }
36
37
 
@@ -48,6 +49,7 @@ export class DownloadTelemetry {
48
49
  downloadedSize,
49
50
  claimedFileSize,
50
51
  error: errorCategory,
52
+ originalError: error,
51
53
  });
52
54
  }
53
55
 
@@ -63,17 +65,18 @@ export class DownloadTelemetry {
63
65
  downloadedSize: number,
64
66
  claimedFileSize?: number,
65
67
  error?: MetricsDownloadErrorType,
68
+ originalError?: unknown,
66
69
  }) {
67
- let context;
70
+ let volumeType;
68
71
  try {
69
- context = await this.sharesService.getVolumeMetricContext(volumeId);
72
+ volumeType = await this.sharesService.getVolumeMetricContext(volumeId);
70
73
  } catch (error: unknown) {
71
- this.logger.error('Failed to get metric context', error);
74
+ this.logger.error('Failed to get metric volume type', error);
72
75
  }
73
76
 
74
77
  this.telemetry.logEvent({
75
78
  eventName: 'download',
76
- context,
79
+ volumeType,
77
80
  ...options,
78
81
  });
79
82
  }
@@ -97,7 +100,7 @@ function getErrorCategory(error: unknown): MetricsDownloadErrorType | undefined
97
100
  return '4xx';
98
101
  }
99
102
  if (error.statusCode >= 500) {
100
- return '5xx';
103
+ return 'server_error';
101
104
  }
102
105
  }
103
106
  if (error instanceof Error) {