@protontech/drive-sdk 0.3.0 → 0.3.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 (121) hide show
  1. package/dist/crypto/interface.d.ts +5 -0
  2. package/dist/diagnostic/httpClient.d.ts +3 -3
  3. package/dist/interface/httpClient.d.ts +5 -5
  4. package/dist/interface/index.d.ts +15 -5
  5. package/dist/internal/apiService/apiService.js +1 -1
  6. package/dist/internal/apiService/apiService.js.map +1 -1
  7. package/dist/internal/apiService/errorCodes.d.ts +1 -0
  8. package/dist/internal/apiService/errorCodes.js.map +1 -1
  9. package/dist/internal/apiService/errors.d.ts +4 -3
  10. package/dist/internal/apiService/errors.js +7 -4
  11. package/dist/internal/apiService/errors.js.map +1 -1
  12. package/dist/internal/apiService/errors.test.js +2 -1
  13. package/dist/internal/apiService/errors.test.js.map +1 -1
  14. package/dist/internal/events/index.d.ts +1 -1
  15. package/dist/internal/nodes/cryptoCache.js +6 -7
  16. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  17. package/dist/internal/nodes/cryptoCache.test.js +4 -7
  18. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  19. package/dist/internal/shares/cryptoCache.d.ts +4 -3
  20. package/dist/internal/shares/cryptoCache.js +23 -6
  21. package/dist/internal/shares/cryptoCache.js.map +1 -1
  22. package/dist/internal/shares/cryptoCache.test.js +3 -2
  23. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  24. package/dist/internal/shares/index.js +1 -1
  25. package/dist/internal/shares/index.js.map +1 -1
  26. package/dist/internal/sharing/cryptoService.js +8 -6
  27. package/dist/internal/sharing/cryptoService.js.map +1 -1
  28. package/dist/internal/sharing/cryptoService.test.js +13 -0
  29. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  30. package/dist/internal/sharing/index.js +1 -1
  31. package/dist/internal/sharing/index.js.map +1 -1
  32. package/dist/internal/sharing/sharingManagement.d.ts +3 -1
  33. package/dist/internal/sharing/sharingManagement.js +10 -1
  34. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  35. package/dist/internal/sharing/sharingManagement.test.js +32 -1
  36. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  37. package/dist/internal/sharingPublic/apiService.d.ts +19 -0
  38. package/dist/internal/sharingPublic/apiService.js +134 -0
  39. package/dist/internal/sharingPublic/apiService.js.map +1 -0
  40. package/dist/internal/sharingPublic/cryptoCache.d.ts +19 -0
  41. package/dist/internal/sharingPublic/cryptoCache.js +72 -0
  42. package/dist/internal/sharingPublic/cryptoCache.js.map +1 -0
  43. package/dist/internal/sharingPublic/cryptoService.d.ts +23 -0
  44. package/dist/internal/sharingPublic/cryptoService.js +120 -0
  45. package/dist/internal/sharingPublic/cryptoService.js.map +1 -0
  46. package/dist/internal/sharingPublic/index.d.ts +15 -0
  47. package/dist/internal/sharingPublic/index.js +27 -0
  48. package/dist/internal/sharingPublic/index.js.map +1 -0
  49. package/dist/internal/sharingPublic/interface.d.ts +48 -0
  50. package/dist/internal/sharingPublic/interface.js +3 -0
  51. package/dist/internal/sharingPublic/interface.js.map +1 -0
  52. package/dist/internal/sharingPublic/manager.d.ts +19 -0
  53. package/dist/internal/sharingPublic/manager.js +79 -0
  54. package/dist/internal/sharingPublic/manager.js.map +1 -0
  55. package/dist/internal/sharingPublic/session/apiService.d.ts +28 -0
  56. package/dist/internal/sharingPublic/session/apiService.js +55 -0
  57. package/dist/internal/sharingPublic/session/apiService.js.map +1 -0
  58. package/dist/internal/sharingPublic/session/httpClient.d.ts +16 -0
  59. package/dist/internal/sharingPublic/session/httpClient.js +41 -0
  60. package/dist/internal/sharingPublic/session/httpClient.js.map +1 -0
  61. package/dist/internal/sharingPublic/session/index.d.ts +1 -0
  62. package/dist/internal/sharingPublic/session/index.js +6 -0
  63. package/dist/internal/sharingPublic/session/index.js.map +1 -0
  64. package/dist/internal/sharingPublic/session/interface.d.ts +18 -0
  65. package/dist/internal/sharingPublic/session/interface.js +3 -0
  66. package/dist/internal/sharingPublic/session/interface.js.map +1 -0
  67. package/dist/internal/sharingPublic/session/manager.d.ts +49 -0
  68. package/dist/internal/sharingPublic/session/manager.js +75 -0
  69. package/dist/internal/sharingPublic/session/manager.js.map +1 -0
  70. package/dist/internal/sharingPublic/session/session.d.ts +34 -0
  71. package/dist/internal/sharingPublic/session/session.js +67 -0
  72. package/dist/internal/sharingPublic/session/session.js.map +1 -0
  73. package/dist/internal/sharingPublic/session/url.d.ts +12 -0
  74. package/dist/internal/sharingPublic/session/url.js +23 -0
  75. package/dist/internal/sharingPublic/session/url.js.map +1 -0
  76. package/dist/internal/sharingPublic/session/url.test.d.ts +1 -0
  77. package/dist/internal/sharingPublic/session/url.test.js +59 -0
  78. package/dist/internal/sharingPublic/session/url.test.js.map +1 -0
  79. package/dist/protonDriveClient.d.ts +18 -3
  80. package/dist/protonDriveClient.js +30 -8
  81. package/dist/protonDriveClient.js.map +1 -1
  82. package/dist/protonDrivePublicLinkClient.d.ts +48 -0
  83. package/dist/protonDrivePublicLinkClient.js +71 -0
  84. package/dist/protonDrivePublicLinkClient.js.map +1 -0
  85. package/package.json +1 -1
  86. package/src/crypto/interface.ts +11 -0
  87. package/src/diagnostic/httpClient.ts +4 -4
  88. package/src/interface/httpClient.ts +5 -5
  89. package/src/interface/index.ts +18 -6
  90. package/src/internal/apiService/apiService.ts +1 -1
  91. package/src/internal/apiService/errorCodes.ts +1 -0
  92. package/src/internal/apiService/errors.test.ts +2 -1
  93. package/src/internal/apiService/errors.ts +15 -4
  94. package/src/internal/events/index.ts +1 -1
  95. package/src/internal/nodes/cryptoCache.test.ts +4 -7
  96. package/src/internal/nodes/cryptoCache.ts +6 -7
  97. package/src/internal/nodes/interface.ts +2 -0
  98. package/src/internal/shares/cryptoCache.test.ts +3 -2
  99. package/src/internal/shares/cryptoCache.ts +26 -7
  100. package/src/internal/shares/index.ts +1 -1
  101. package/src/internal/sharing/cryptoService.test.ts +22 -1
  102. package/src/internal/sharing/cryptoService.ts +8 -6
  103. package/src/internal/sharing/index.ts +1 -0
  104. package/src/internal/sharing/sharingManagement.test.ts +33 -0
  105. package/src/internal/sharing/sharingManagement.ts +9 -0
  106. package/src/internal/sharingPublic/apiService.ts +164 -0
  107. package/src/internal/sharingPublic/cryptoCache.ts +79 -0
  108. package/src/internal/sharingPublic/cryptoService.ts +162 -0
  109. package/src/internal/sharingPublic/index.ts +40 -0
  110. package/src/internal/sharingPublic/interface.ts +59 -0
  111. package/src/internal/sharingPublic/manager.ts +85 -0
  112. package/src/internal/sharingPublic/session/apiService.ts +74 -0
  113. package/src/internal/sharingPublic/session/httpClient.ts +48 -0
  114. package/src/internal/sharingPublic/session/index.ts +1 -0
  115. package/src/internal/sharingPublic/session/interface.ts +20 -0
  116. package/src/internal/sharingPublic/session/manager.ts +97 -0
  117. package/src/internal/sharingPublic/session/session.ts +78 -0
  118. package/src/internal/sharingPublic/session/url.test.ts +72 -0
  119. package/src/internal/sharingPublic/session/url.ts +23 -0
  120. package/src/protonDriveClient.ts +47 -11
  121. package/src/protonDrivePublicLinkClient.ts +121 -0
@@ -1 +1 @@
1
- {"version":3,"file":"protonDriveClient.js","sourceRoot":"","sources":["../src/protonDriveClient.ts"],"names":[],"mappings":";;;AA4BA,qCAAmD;AACnD,sDAAwD;AACxD,8CAAqD;AACrD,4CAAmD;AACnD,gDAAuD;AACvD,kDAAyD;AACzD,8CAAqD;AACrD,8CAAsE;AACtE,oDAAiD;AACjD,qCAAqC;AACrC,iDAOwB;AACxB,2CAAwC;AACxC,gDAAuD;AACvD,0CAA8C;AAG9C;;;;;;GAMG;AACH,MAAa,iBAAiB;IAClB,MAAM,CAAS;IACf,SAAS,CAAY;IACrB,MAAM,CAAqB;IAC3B,MAAM,CAAsC;IAC5C,KAAK,CAAqC;IAC1C,OAAO,CAAuC;IAC9C,QAAQ,CAAwC;IAChD,MAAM,CAAsC;IAC5C,OAAO,CAAuC;IAE/C,YAAY,CAejB;IAEF,YAAY,EACR,UAAU,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,SAAS,EACT,qBAAqB,GACe;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,oBAAW,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,4BAAe,CAClC,SAAS,EACT,IAAI,CAAC,SAAS,EACd,UAAU,EACV,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,QAAQ,CACtB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAA,yBAAgB,EAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACzG,IAAI,CAAC,KAAK,GAAG,IAAA,uBAAe,EACxB,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,MAAM,CACd,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAA,2BAAiB,EAC5B,SAAS,EACT,UAAU,EACV,aAAa,EACb,OAAO,EACP,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CAAC,MAAM,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAA,6BAAkB,EAC9B,SAAS,EACT,UAAU,EACV,YAAY,EACZ,OAAO,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,SAAS,CACvB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAA,yBAAgB,EAC1B,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,UAAU,CAAC,SAAS,CACvB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAA,2BAAiB,EAC5B,SAAS,EACT,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,UAAU,CACxB,CAAC;QACF,uDAAuD;QACvD,MAAM,mBAAmB,GAAoB;YACzC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;SAC7E,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAkB,CAChC,SAAS,EACT,UAAU,EACV,IAAI,CAAC,MAAM,EACX,mBAAmB,EACnB,qBAAqB,CACxB,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG;YAChB,UAAU,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,IAAI,CAAC,0BAA0B,CAAC;YAC3C,CAAC;SACJ,CAAC;IACN,CAAC;IAED;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAmB,EAAE,QAAoB;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,qBAAqB,CAAC,gBAAwB,EAAE,QAAuB;QACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,QAAuB;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,MAAc;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,aAAa,MAAM,EAAE,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,IAAA,kBAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACjD,OAAO,IAAA,yCAA0B,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,CAAC,qBAAqB,CAAC,aAAwB,EAAE,MAAoB;QACvE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnE,KAAK,CAAC,CAAC,IAAA,0CAA2B,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAoB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAC5C,KAAK,CAAC,CAAC,IAAA,0CAA2B,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,QAAqB,EAAE,MAAoB;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;QACvD,KAAK,CAAC,CAAC,IAAA,iDAAkC,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACzG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAkB;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,IAAA,yCAA0B,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,OAAkB,EAAE,OAAe;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,IAAA,yCAA0B,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,CAAC,SAAS,CACZ,QAAqB,EACrB,gBAA2B,EAC3B,MAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,MAAM,aAAa,IAAA,qBAAM,EAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACnF,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,IAAA,qBAAM,EAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,UAAU,CAAC,QAAqB,EAAE,MAAoB;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;QACtD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,QAAqB,EAAE,MAAoB;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;QACvD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,WAAW,CAAC,QAAqB,EAAE,MAAoB;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;QACtD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,YAAY,CAAC,aAAwB,EAAE,IAAY,EAAE,gBAAuB;QAC9E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,IAAA,yCAA0B,EAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CACpF,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,CAAC,gBAAgB,CAAC,OAAkB,EAAE,MAAoB;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,WAA0B;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAA,qBAAM,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,IAAA,qBAAM,EAAC,WAAW,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,WAA0B;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAA,qBAAM,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAA,qBAAM,EAAC,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAoB;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACjD,KAAK,CAAC,CAAC,IAAA,0CAA2B,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,CAAC,wBAAwB,CAAC,MAAoB;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEnD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAA,kCAAmB,EAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,OAAkB;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAoB;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC1C,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,aAAoC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,aAAoC;QACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAoB;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC/C,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,aAA4B;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAAC,OAAkB;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,SAAS,CAAC,OAAkB,EAAE,QAA2B;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,OAAkB,EAAE,QAA8B;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,gBAAgB,CAClB,OAAkB,EAClB,aAA+D;QAE/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAA,qBAAM,EAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAkB,EAAE,MAAoB;QAC5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,eAAuB,EAAE,MAAoB;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,IAAA,qBAAM,EAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACpB,QAAqB,EACrB,aAA6B,EAC7B,MAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC;QAC5D,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAA,sBAAO,EAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,eAAe,CACjB,eAA0B,EAC1B,IAAY,EACZ,QAAwB,EACxB,MAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,IAAA,qBAAM,EAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAA,qBAAM,EAAC,eAAe,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CACzB,OAAkB,EAClB,QAAwB,EACxB,MAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,CAAC,cAAc,CAAC,MAAoB;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,UAAsB;QACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,WAAwB,EAAE,IAAY;QACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAA,qBAAM,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAA,qBAAM,EAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,WAAwB;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAA,qBAAM,EAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAA,qBAAM,EAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;CACJ;AAtuBD,8CAsuBC"}
1
+ {"version":3,"file":"protonDriveClient.js","sourceRoot":"","sources":["../src/protonDriveClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { OpenPGPCrypto, SRPModule, SessionKey } from './crypto';
2
+ import { ProtonDriveHTTPClient, ProtonDriveTelemetry, ProtonDriveConfig, ProtonDriveCryptoCache, NodeOrUid } from './interface';
3
+ /**
4
+ * ProtonDrivePublicLinkClient is the interface for the public link client.
5
+ *
6
+ * The client provides high-level operations for managing nodes, and
7
+ * downloading/uploading files.
8
+ *
9
+ * Do not use this client direclty, use ProtonDriveClient instead.
10
+ * The main client handles public link sessions and provides access to
11
+ * public links.
12
+ *
13
+ * See `experimental.getPublicLinkInfo` and `experimental.authPublicLink`
14
+ * for more information.
15
+ */
16
+ export declare class ProtonDrivePublicLinkClient {
17
+ private logger;
18
+ private sdkEvents;
19
+ private sharingPublic;
20
+ experimental: {
21
+ /**
22
+ * Experimental feature to return the URL of the node.
23
+ *
24
+ * Use it when you want to open the node in the ProtonDrive web app.
25
+ *
26
+ * It has hardcoded URLs to open in production client only.
27
+ */
28
+ getNodeUrl: (nodeUid: NodeOrUid) => Promise<string>;
29
+ /**
30
+ * Experimental feature to get the docs key for a node.
31
+ *
32
+ * This is used by Docs app to encrypt and decrypt document updates.
33
+ */
34
+ getDocsKey: (nodeUid: NodeOrUid) => Promise<SessionKey>;
35
+ };
36
+ constructor({ httpClient, cryptoCache, openPGPCryptoModule, srpModule, config, telemetry, token, password, }: {
37
+ httpClient: ProtonDriveHTTPClient;
38
+ cryptoCache: ProtonDriveCryptoCache;
39
+ openPGPCryptoModule: OpenPGPCrypto;
40
+ srpModule: SRPModule;
41
+ config?: ProtonDriveConfig;
42
+ telemetry?: ProtonDriveTelemetry;
43
+ token: string;
44
+ password: string;
45
+ });
46
+ getRootNode(): Promise<import("./internal/sharingPublic/interface").DecryptedNode>;
47
+ iterateChildren(parentUid: NodeOrUid): AsyncGenerator<import("./internal/sharingPublic/interface").DecryptedNode, void, any>;
48
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProtonDrivePublicLinkClient = void 0;
4
+ const config_1 = require("./config");
5
+ const crypto_1 = require("./crypto");
6
+ const telemetry_1 = require("./telemetry");
7
+ const transformers_1 = require("./transformers");
8
+ const apiService_1 = require("./internal/apiService");
9
+ const sdkEvents_1 = require("./internal/sdkEvents");
10
+ const sharingPublic_1 = require("./internal/sharingPublic");
11
+ /**
12
+ * ProtonDrivePublicLinkClient is the interface for the public link client.
13
+ *
14
+ * The client provides high-level operations for managing nodes, and
15
+ * downloading/uploading files.
16
+ *
17
+ * Do not use this client direclty, use ProtonDriveClient instead.
18
+ * The main client handles public link sessions and provides access to
19
+ * public links.
20
+ *
21
+ * See `experimental.getPublicLinkInfo` and `experimental.authPublicLink`
22
+ * for more information.
23
+ */
24
+ class ProtonDrivePublicLinkClient {
25
+ logger;
26
+ sdkEvents;
27
+ sharingPublic;
28
+ experimental;
29
+ constructor({ httpClient, cryptoCache, openPGPCryptoModule, srpModule, config, telemetry, token, password, }) {
30
+ if (!telemetry) {
31
+ telemetry = new telemetry_1.Telemetry();
32
+ }
33
+ this.logger = telemetry.getLogger('interface');
34
+ const fullConfig = (0, config_1.getConfig)(config);
35
+ this.sdkEvents = new sdkEvents_1.SDKEvents(telemetry);
36
+ const apiService = new apiService_1.DriveAPIService(telemetry, this.sdkEvents, httpClient, fullConfig.baseUrl, fullConfig.language);
37
+ const driveCrypto = new crypto_1.DriveCrypto(openPGPCryptoModule, srpModule);
38
+ this.sharingPublic = (0, sharingPublic_1.initSharingPublicModule)(telemetry, apiService, cryptoCache, driveCrypto, token, password);
39
+ this.experimental = {
40
+ getNodeUrl: async (nodeUid) => {
41
+ this.logger.debug(`Getting node URL for ${(0, transformers_1.getUid)(nodeUid)}`);
42
+ // TODO: public node has different URL
43
+ return '';
44
+ },
45
+ getDocsKey: async (nodeUid) => {
46
+ this.logger.debug(`Getting docs keys for ${(0, transformers_1.getUid)(nodeUid)}`);
47
+ const keys = await this.sharingPublic.getNodeKeys((0, transformers_1.getUid)(nodeUid));
48
+ if (!keys.contentKeyPacketSessionKey) {
49
+ throw new Error('Node does not have a content key packet session key');
50
+ }
51
+ return keys.contentKeyPacketSessionKey;
52
+ },
53
+ };
54
+ }
55
+ // TODO: comment
56
+ // TODO: add public node interface
57
+ async getRootNode() {
58
+ this.logger.info(`Getting root node`);
59
+ // TODO: conversion to public node
60
+ return this.sharingPublic.getRootNode();
61
+ }
62
+ // TODO: comment
63
+ // TODO: add public node interface
64
+ async *iterateChildren(parentUid) {
65
+ this.logger.info(`Iterating children of ${(0, transformers_1.getUid)(parentUid)}`);
66
+ // TODO: conversion to public node
67
+ yield* this.sharingPublic.iterateChildren((0, transformers_1.getUid)(parentUid));
68
+ }
69
+ }
70
+ exports.ProtonDrivePublicLinkClient = ProtonDrivePublicLinkClient;
71
+ //# sourceMappingURL=protonDrivePublicLinkClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protonDrivePublicLinkClient.js","sourceRoot":"","sources":["../src/protonDrivePublicLinkClient.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,qCAA6E;AAS7E,2CAAwC;AACxC,iDAAwC;AACxC,sDAAwD;AACxD,oDAAiD;AACjD,4DAAmE;AAEnE;;;;;;;;;;;;GAYG;AACH,MAAa,2BAA2B;IAC5B,MAAM,CAAS;IACf,SAAS,CAAY;IACrB,aAAa,CAA6C;IAE3D,YAAY,CAejB;IAEF,YAAY,EACR,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,GAUX;QACG,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,4BAAe,CAClC,SAAS,EACT,IAAI,CAAC,SAAS,EACd,UAAU,EACV,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,QAAQ,CACtB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,oBAAW,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,IAAA,uCAAuB,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE/G,IAAI,CAAC,YAAY,GAAG;YAChB,UAAU,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7D,sCAAsC;gBACtC,OAAO,EAAE,CAAC;YACd,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,OAAkB,EAAE,EAAE;gBACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAA,qBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAA,qBAAM,EAAC,OAAO,CAAC,CAAC,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBACnC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;gBAC3E,CAAC;gBACD,OAAO,IAAI,CAAC,0BAA0B,CAAC;YAC3C,CAAC;SACJ,CAAC;IACN,CAAC;IAED,gBAAgB;IAChB,kCAAkC;IAClC,KAAK,CAAC,WAAW;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACtC,kCAAkC;QAClC,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,gBAAgB;IAChB,kCAAkC;IAClC,KAAK,CAAC,CAAC,eAAe,CAAC,SAAoB;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAA,qBAAM,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC/D,kCAAkC;QAClC,KAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAA,qBAAM,EAAC,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;CACJ;AA3FD,kEA2FC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@protontech/drive-sdk",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Proton Drive SDK",
5
5
  "license": "GPL-3.0",
6
6
  "main": "dist/index.js",
@@ -52,6 +52,17 @@ export enum VERIFICATION_STATUS {
52
52
  }
53
53
 
54
54
  export interface SRPModule {
55
+ getSrp: (
56
+ version: number,
57
+ modulus: string,
58
+ serverEphemeral: string,
59
+ salt: string,
60
+ password: string,
61
+ ) => Promise<{
62
+ expectedServerProof: string;
63
+ clientProof: string;
64
+ clientEphemeral: string;
65
+ }>;
55
66
  getSrpVerifier: (password: string) => Promise<SRPVerifier>;
56
67
  computeKeyPassword: (password: string, salt: string) => Promise<string>;
57
68
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ProtonDriveHTTPClient,
3
- ProtonDriveHTTPClientBlobOptions,
4
- ProtonDriveHTTPClientJsonOptions,
3
+ ProtonDriveHTTPClientBlobRequest,
4
+ ProtonDriveHTTPClientJsonRequest,
5
5
  } from '../interface';
6
6
  import { EventsGenerator } from './eventsGenerator';
7
7
 
@@ -19,7 +19,7 @@ export class DiagnosticHTTPClient extends EventsGenerator implements ProtonDrive
19
19
  this.httpClient = httpClient;
20
20
  }
21
21
 
22
- async fetchJson(options: ProtonDriveHTTPClientJsonOptions): Promise<Response> {
22
+ async fetchJson(options: ProtonDriveHTTPClientJsonRequest): Promise<Response> {
23
23
  try {
24
24
  const response = await this.httpClient.fetchJson(options);
25
25
 
@@ -78,7 +78,7 @@ export class DiagnosticHTTPClient extends EventsGenerator implements ProtonDrive
78
78
  }
79
79
  }
80
80
 
81
- fetchBlob(options: ProtonDriveHTTPClientBlobOptions): Promise<Response> {
81
+ fetchBlob(options: ProtonDriveHTTPClientBlobRequest): Promise<Response> {
82
82
  return this.httpClient.fetchBlob(options);
83
83
  }
84
84
  }
@@ -1,18 +1,18 @@
1
1
  export interface ProtonDriveHTTPClient {
2
- fetchJson(options: ProtonDriveHTTPClientJsonOptions): Promise<Response>;
3
- fetchBlob(options: ProtonDriveHTTPClientBlobOptions): Promise<Response>;
2
+ fetchJson(request: ProtonDriveHTTPClientJsonRequest): Promise<Response>;
3
+ fetchBlob(request: ProtonDriveHTTPClientBlobRequest): Promise<Response>;
4
4
  }
5
5
 
6
- export type ProtonDriveHTTPClientJsonOptions = ProtonDriveHTTPClientBaseOptions & {
6
+ export type ProtonDriveHTTPClientJsonRequest = ProtonDriveHTTPClientBaseRequest & {
7
7
  json?: object;
8
8
  };
9
9
 
10
- export type ProtonDriveHTTPClientBlobOptions = ProtonDriveHTTPClientBaseOptions & {
10
+ export type ProtonDriveHTTPClientBlobRequest = ProtonDriveHTTPClientBaseRequest & {
11
11
  body?: XMLHttpRequestBodyInit;
12
12
  onProgress?: (progress: number) => void;
13
13
  };
14
14
 
15
- type ProtonDriveHTTPClientBaseOptions = {
15
+ type ProtonDriveHTTPClientBaseRequest = {
16
16
  url: string;
17
17
  method: string;
18
18
  headers: Headers;
@@ -27,8 +27,8 @@ export type {
27
27
  export { DriveEventType, SDKEvent } from './events';
28
28
  export type {
29
29
  ProtonDriveHTTPClient,
30
- ProtonDriveHTTPClientJsonOptions,
31
- ProtonDriveHTTPClientBlobOptions,
30
+ ProtonDriveHTTPClientJsonRequest,
31
+ ProtonDriveHTTPClientBlobRequest,
32
32
  } from './httpClient';
33
33
  export type {
34
34
  MaybeNode,
@@ -89,10 +89,22 @@ export type ProtonDriveTelemetry = Telemetry<MetricEvent>;
89
89
  export type ProtonDriveEntitiesCache = ProtonDriveCache<string>;
90
90
  export type ProtonDriveCryptoCache = ProtonDriveCache<CachedCryptoMaterial>;
91
91
  export type CachedCryptoMaterial = {
92
- passphrase?: string;
93
- key: PrivateKey;
94
- passphraseSessionKey: SessionKey;
95
- hashKey?: Uint8Array;
92
+ nodeKeys?: {
93
+ // Passphrase should not be needed to keep, sessionKey should be enough.
94
+ // We will improve this in the future.
95
+ passphrase: string;
96
+ key: PrivateKey;
97
+ passphraseSessionKey: SessionKey;
98
+ contentKeyPacketSessionKey?: SessionKey;
99
+ hashKey?: Uint8Array;
100
+ };
101
+ shareKey?: {
102
+ key: PrivateKey;
103
+ passphraseSessionKey: SessionKey;
104
+ };
105
+ publicShareKey?: {
106
+ key: PrivateKey;
107
+ };
96
108
  };
97
109
 
98
110
  export interface ProtonDriveClientContructorParameters {
@@ -165,7 +165,7 @@ export class DriveAPIService {
165
165
  if (error instanceof ProtonDriveError) {
166
166
  throw error;
167
167
  }
168
- throw apiErrorFactory({ response });
168
+ throw apiErrorFactory({ response, error });
169
169
  }
170
170
  }
171
171
 
@@ -1,5 +1,6 @@
1
1
  export const enum HTTPErrorCode {
2
2
  OK = 200,
3
+ UNAUTHORIZED = 401,
3
4
  NOT_FOUND = 404,
4
5
  TOO_MANY_REQUESTS = 429,
5
6
  INTERNAL_SERVER_ERROR = 500,
@@ -62,7 +62,8 @@ describe('apiErrorFactory should return', () => {
62
62
  it('NotFoundAPIError when code is ErrorCode.NOT_EXISTS', () => {
63
63
  const error = apiErrorFactory(mockAPIResponseAndResult({ code: ErrorCode.NOT_EXISTS, message: 'Not found' }));
64
64
  expect(error).toBeInstanceOf(errors.NotFoundAPIError);
65
- expectAPICodeError(error, ErrorCode.NOT_EXISTS, 'Not found');
65
+ expect(error.message).toBe('Not found');
66
+ expect((error as errors.NotFoundAPIError).code).toBe(ErrorCode.NOT_EXISTS);
66
67
  });
67
68
  });
68
69
 
@@ -3,12 +3,23 @@ import { c } from 'ttag';
3
3
  import { ServerError, ValidationError } from '../../errors';
4
4
  import { ErrorCode, HTTPErrorCode } from './errorCodes';
5
5
 
6
- export function apiErrorFactory({ response, result }: { response: Response; result?: unknown }): ServerError {
6
+ export function apiErrorFactory({
7
+ response,
8
+ result,
9
+ error,
10
+ }: {
11
+ response: Response;
12
+ result?: unknown;
13
+ error?: unknown;
14
+ }): ServerError {
7
15
  // Backend responses with 404 both in the response and body code.
8
16
  // In such a case we want to stick to APIHTTPError to be very clear
9
17
  // it is not NotFoundAPIError.
10
18
  if (response.status === HTTPErrorCode.NOT_FOUND || !result) {
11
- return new APIHTTPError(response.statusText || c('Error').t`Unknown error`, response.status);
19
+ const fallbackMessage = error instanceof Error ? error.message : c('Error').t`Unknown error`;
20
+ const apiHttpError = new APIHTTPError(response.statusText || fallbackMessage, response.status);
21
+ apiHttpError.cause = error;
22
+ return apiHttpError;
12
23
  }
13
24
 
14
25
  const typedResult = result as {
@@ -40,7 +51,7 @@ export function apiErrorFactory({ response, result }: { response: Response; resu
40
51
 
41
52
  switch (code) {
42
53
  case ErrorCode.NOT_EXISTS:
43
- return new NotFoundAPIError(message, code);
54
+ return new NotFoundAPIError(message, code, details);
44
55
  // ValidationError should be only when it is clearly user input error,
45
56
  // otherwise it should be ServerError.
46
57
  // Here we convert only general enough codes. Specific cases that are
@@ -94,6 +105,6 @@ export class APICodeError extends ServerError {
94
105
  }
95
106
  }
96
107
 
97
- export class NotFoundAPIError extends APICodeError {
108
+ export class NotFoundAPIError extends ValidationError {
98
109
  name = 'NotFoundAPIError';
99
110
  }
@@ -7,7 +7,7 @@ import { VolumeEventManager } from './volumeEventManager';
7
7
  import { EventManager } from './eventManager';
8
8
  import { SharesManager } from '../shares/manager';
9
9
 
10
- export type { DriveEvent, DriveListener } from './interface';
10
+ export type { DriveEvent, DriveListener, EventSubscription } from './interface';
11
11
  export { DriveEventType } from './interface';
12
12
 
13
13
  const OWN_VOLUME_POLLING_INTERVAL = 30;
@@ -18,10 +18,7 @@ describe('nodesCryptoCache', () => {
18
18
 
19
19
  beforeEach(async () => {
20
20
  memoryCache = new MemoryCache();
21
- await memoryCache.setEntity('nodeKeys-missingPassphrase', {
22
- key: 'privateKey',
23
- sessionKey: 'sessionKey',
24
- } as any);
21
+ await memoryCache.setEntity('nodeKeys-missingProperties', {} as any);
25
22
 
26
23
  cache = new NodesCryptoCache(getMockLogger(), memoryCache);
27
24
  });
@@ -96,14 +93,14 @@ describe('nodesCryptoCache', () => {
96
93
 
97
94
  it('should throw an error when retrieving a bad keys and remove the key', async () => {
98
95
  try {
99
- await cache.getNodeKeys('missingPassphrase');
96
+ await cache.getNodeKeys('missingProperties');
100
97
  throw new Error('Should have thrown an error');
101
98
  } catch (error) {
102
- expect(`${error}`).toBe('Error: Failed to deserialize node keys: missing passphrase');
99
+ expect(`${error}`).toBe('Error: Failed to deserialize node keys');
103
100
  }
104
101
 
105
102
  try {
106
- await memoryCache.getEntity('nodeKeys-missingPassphrase');
103
+ await memoryCache.getEntity('nodeKeys-missingProperties');
107
104
  throw new Error('Should have thrown an error');
108
105
  } catch (error) {
109
106
  expect(`${error}`).toBe('Error: Entity not found');
@@ -18,12 +18,14 @@ export class NodesCryptoCache {
18
18
 
19
19
  async setNodeKeys(nodeUid: string, keys: DecryptedNodeKeys): Promise<void> {
20
20
  const cacheUid = getCacheKey(nodeUid);
21
- await this.driveCache.setEntity(cacheUid, keys);
21
+ await this.driveCache.setEntity(cacheUid, {
22
+ nodeKeys: keys,
23
+ });
22
24
  }
23
25
 
24
26
  async getNodeKeys(nodeUid: string): Promise<DecryptedNodeKeys> {
25
27
  const nodeKeysData = await this.driveCache.getEntity(getCacheKey(nodeUid));
26
- if (!nodeKeysData.passphrase) {
28
+ if (!nodeKeysData.nodeKeys) {
27
29
  try {
28
30
  await this.removeNodeKeys([nodeUid]);
29
31
  } catch (removingError: unknown) {
@@ -33,12 +35,9 @@ export class NodesCryptoCache {
33
35
  `Failed to remove corrupted node keys from the cache: ${removingError instanceof Error ? removingError.message : removingError}`,
34
36
  );
35
37
  }
36
- throw new Error(`Failed to deserialize node keys: missing passphrase`);
38
+ throw new Error(`Failed to deserialize node keys`);
37
39
  }
38
- return {
39
- ...nodeKeysData,
40
- passphrase: nodeKeysData.passphrase,
41
- };
40
+ return nodeKeysData.nodeKeys;
42
41
  }
43
42
 
44
43
  async removeNodeKeys(nodeUids: string[]): Promise<void> {
@@ -18,6 +18,8 @@ import {
18
18
  interface BaseNode {
19
19
  // Internal metadata
20
20
  hash?: string; // root node doesn't have any hash
21
+ // ecnryptedName should not be needed to keep, nameSessionKey should be enough.
22
+ // We will improve this in the future.
21
23
  encryptedName: string;
22
24
 
23
25
  // Basic node metadata
@@ -1,6 +1,7 @@
1
1
  import { PrivateKey, SessionKey } from '../../crypto';
2
2
  import { MemoryCache } from '../../cache';
3
3
  import { CachedCryptoMaterial } from '../../interface';
4
+ import { getMockLogger } from '../../tests/logger';
4
5
  import { SharesCryptoCache } from './cryptoCache';
5
6
 
6
7
  describe('sharesCryptoCache', () => {
@@ -17,7 +18,7 @@ describe('sharesCryptoCache', () => {
17
18
 
18
19
  beforeEach(() => {
19
20
  memoryCache = new MemoryCache();
20
- cache = new SharesCryptoCache(memoryCache);
21
+ cache = new SharesCryptoCache(getMockLogger(), memoryCache);
21
22
  });
22
23
 
23
24
  it('should store and retrieve keys', async () => {
@@ -53,7 +54,7 @@ describe('sharesCryptoCache', () => {
53
54
  const keys = { key: generatePrivateKey('privateKey'), passphraseSessionKey: generateSessionKey('sessionKey') };
54
55
 
55
56
  await cache.setShareKey(shareId, keys);
56
- await cache.removeShareKey([shareId]);
57
+ await cache.removeShareKeys([shareId]);
57
58
 
58
59
  try {
59
60
  await cache.getShareKey(shareId);
@@ -1,4 +1,4 @@
1
- import { ProtonDriveCryptoCache } from '../../interface';
1
+ import { Logger, ProtonDriveCryptoCache } from '../../interface';
2
2
  import { DecryptedShareKey } from './interface';
3
3
 
4
4
  /**
@@ -13,23 +13,42 @@ import { DecryptedShareKey } from './interface';
13
13
  * only the root node, thus share cache is not needed.
14
14
  */
15
15
  export class SharesCryptoCache {
16
- constructor(private driveCache: ProtonDriveCryptoCache) {
16
+ constructor(
17
+ private logger: Logger,
18
+ private driveCache: ProtonDriveCryptoCache,
19
+ ) {
20
+ this.logger = logger;
17
21
  this.driveCache = driveCache;
18
22
  }
19
23
 
20
24
  async setShareKey(shareId: string, key: DecryptedShareKey): Promise<void> {
21
- await this.driveCache.setEntity(getCacheUid(shareId), key);
25
+ await this.driveCache.setEntity(getCacheKey(shareId), {
26
+ shareKey: key,
27
+ });
22
28
  }
23
29
 
24
30
  async getShareKey(shareId: string): Promise<DecryptedShareKey> {
25
- return this.driveCache.getEntity(getCacheUid(shareId));
31
+ const nodeKeysData = await this.driveCache.getEntity(getCacheKey(shareId));
32
+ if (!nodeKeysData.shareKey) {
33
+ try {
34
+ await this.removeShareKeys([shareId]);
35
+ } catch (removingError: unknown) {
36
+ // The node keys will not be returned, thus SDK will re-fetch
37
+ // and re-cache it. Setting it again should then fix the problem.
38
+ this.logger.warn(
39
+ `Failed to remove corrupted node keys from the cache: ${removingError instanceof Error ? removingError.message : removingError}`,
40
+ );
41
+ }
42
+ throw new Error(`Failed to deserialize node keys`);
43
+ }
44
+ return nodeKeysData.shareKey;
26
45
  }
27
46
 
28
- async removeShareKey(shareIds: string[]): Promise<void> {
29
- await this.driveCache.removeEntities(shareIds.map(getCacheUid));
47
+ async removeShareKeys(shareIds: string[]): Promise<void> {
48
+ await this.driveCache.removeEntities(shareIds.map(getCacheKey));
30
49
  }
31
50
  }
32
51
 
33
- function getCacheUid(shareId: string) {
52
+ function getCacheKey(shareId: string) {
34
53
  return `shareKey-${shareId}`;
35
54
  }
@@ -33,7 +33,7 @@ export function initSharesModule(
33
33
  ) {
34
34
  const api = new SharesAPIService(apiService);
35
35
  const cache = new SharesCache(telemetry.getLogger('shares-cache'), driveEntitiesCache);
36
- const cryptoCache = new SharesCryptoCache(driveCryptoCache);
36
+ const cryptoCache = new SharesCryptoCache(telemetry.getLogger('shares-cache'), driveCryptoCache);
37
37
  const cryptoService = new SharesCryptoService(telemetry, crypto, account);
38
38
  const sharesManager = new SharesManager(
39
39
  telemetry.getLogger('shares'),
@@ -9,7 +9,7 @@ import {
9
9
  } from '../../interface';
10
10
  import { getMockTelemetry } from '../../tests/telemetry';
11
11
  import { SharesService } from './interface';
12
- import { SharingCryptoService } from './cryptoService';
12
+ import { PUBLIC_LINK_GENERATED_PASSWORD_LENGTH, SharingCryptoService } from './cryptoService';
13
13
 
14
14
  describe('SharingCryptoService', () => {
15
15
  let telemetry: ProtonDriveTelemetry;
@@ -87,6 +87,27 @@ describe('SharingCryptoService', () => {
87
87
  expect(telemetry.recordMetric).not.toHaveBeenCalled();
88
88
  });
89
89
 
90
+ it('should decrypt bookmark with custom password', async () => {
91
+ // First 12 characters are the generated password. Anything beyond is the custom password.
92
+ driveCrypto.decryptShareUrlPassword = jest.fn().mockResolvedValue('urlPassword1WithCustomPassword');
93
+
94
+ const result = await cryptoService.decryptBookmark(encryptedBookmark);
95
+
96
+ expect(result).toMatchObject({
97
+ url: resultOk('https://drive.proton.me/urls/tokenId#urlPassword1'),
98
+ nodeName: resultOk('nodeName'),
99
+ });
100
+ expect(driveCrypto.decryptShareUrlPassword).toHaveBeenCalledWith('encryptedUrlPassword', ['addressKey']);
101
+ expect(driveCrypto.decryptKeyWithSrpPassword).toHaveBeenCalledWith(
102
+ 'urlPassword1WithCustomPassword',
103
+ 'base64SharePasswordSalt',
104
+ 'armoredKey',
105
+ 'armoredPassphrase',
106
+ );
107
+ expect(driveCrypto.decryptNodeName).toHaveBeenCalledWith('encryptedName', 'decryptedKey', []);
108
+ expect(telemetry.recordMetric).not.toHaveBeenCalled();
109
+ });
110
+
90
111
  it('should handle undecryptable URL password', async () => {
91
112
  const error = new Error('Failed to decrypt URL password');
92
113
  driveCrypto.decryptShareUrlPassword = jest.fn().mockRejectedValue(error);