@protontech/drive-sdk 0.3.0 → 0.3.2

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 (178) hide show
  1. package/dist/crypto/driveCrypto.d.ts +1 -1
  2. package/dist/crypto/driveCrypto.js.map +1 -1
  3. package/dist/crypto/interface.d.ts +6 -1
  4. package/dist/crypto/openPGPCrypto.d.ts +1 -1
  5. package/dist/crypto/openPGPCrypto.js +4 -1
  6. package/dist/crypto/openPGPCrypto.js.map +1 -1
  7. package/dist/diagnostic/httpClient.d.ts +3 -3
  8. package/dist/interface/httpClient.d.ts +5 -5
  9. package/dist/interface/index.d.ts +15 -5
  10. package/dist/internal/apiService/apiService.js +1 -1
  11. package/dist/internal/apiService/apiService.js.map +1 -1
  12. package/dist/internal/apiService/errorCodes.d.ts +1 -0
  13. package/dist/internal/apiService/errorCodes.js.map +1 -1
  14. package/dist/internal/apiService/errors.d.ts +4 -3
  15. package/dist/internal/apiService/errors.js +7 -4
  16. package/dist/internal/apiService/errors.js.map +1 -1
  17. package/dist/internal/apiService/errors.test.js +2 -1
  18. package/dist/internal/apiService/errors.test.js.map +1 -1
  19. package/dist/internal/download/cryptoService.js +2 -2
  20. package/dist/internal/download/cryptoService.js.map +1 -1
  21. package/dist/internal/download/fileDownloader.js +2 -2
  22. package/dist/internal/download/fileDownloader.js.map +1 -1
  23. package/dist/internal/download/fileDownloader.test.js +3 -1
  24. package/dist/internal/download/fileDownloader.test.js.map +1 -1
  25. package/dist/internal/events/index.d.ts +1 -1
  26. package/dist/internal/nodes/cache.js +3 -1
  27. package/dist/internal/nodes/cache.js.map +1 -1
  28. package/dist/internal/nodes/cryptoCache.js +6 -7
  29. package/dist/internal/nodes/cryptoCache.js.map +1 -1
  30. package/dist/internal/nodes/cryptoCache.test.js +4 -7
  31. package/dist/internal/nodes/cryptoCache.test.js.map +1 -1
  32. package/dist/internal/nodes/cryptoReporter.d.ts +20 -0
  33. package/dist/internal/nodes/cryptoReporter.js +96 -0
  34. package/dist/internal/nodes/cryptoReporter.js.map +1 -0
  35. package/dist/internal/nodes/cryptoService.d.ts +17 -12
  36. package/dist/internal/nodes/cryptoService.js +17 -97
  37. package/dist/internal/nodes/cryptoService.js.map +1 -1
  38. package/dist/internal/nodes/cryptoService.test.js +3 -1
  39. package/dist/internal/nodes/cryptoService.test.js.map +1 -1
  40. package/dist/internal/nodes/index.js +3 -1
  41. package/dist/internal/nodes/index.js.map +1 -1
  42. package/dist/internal/nodes/interface.d.ts +1 -1
  43. package/dist/internal/nodes/nodesAccess.d.ts +2 -2
  44. package/dist/internal/nodes/nodesAccess.js +52 -54
  45. package/dist/internal/nodes/nodesAccess.js.map +1 -1
  46. package/dist/internal/shares/cryptoCache.d.ts +4 -3
  47. package/dist/internal/shares/cryptoCache.js +23 -6
  48. package/dist/internal/shares/cryptoCache.js.map +1 -1
  49. package/dist/internal/shares/cryptoCache.test.js +3 -2
  50. package/dist/internal/shares/cryptoCache.test.js.map +1 -1
  51. package/dist/internal/shares/index.js +1 -1
  52. package/dist/internal/shares/index.js.map +1 -1
  53. package/dist/internal/sharing/cache.d.ts +3 -0
  54. package/dist/internal/sharing/cache.js +17 -2
  55. package/dist/internal/sharing/cache.js.map +1 -1
  56. package/dist/internal/sharing/cryptoService.js +8 -6
  57. package/dist/internal/sharing/cryptoService.js.map +1 -1
  58. package/dist/internal/sharing/cryptoService.test.js +13 -0
  59. package/dist/internal/sharing/cryptoService.test.js.map +1 -1
  60. package/dist/internal/sharing/index.js +1 -1
  61. package/dist/internal/sharing/index.js.map +1 -1
  62. package/dist/internal/sharing/interface.d.ts +1 -1
  63. package/dist/internal/sharing/interface.js +1 -1
  64. package/dist/internal/sharing/sharingAccess.js +6 -0
  65. package/dist/internal/sharing/sharingAccess.js.map +1 -1
  66. package/dist/internal/sharing/sharingAccess.test.js +242 -33
  67. package/dist/internal/sharing/sharingAccess.test.js.map +1 -1
  68. package/dist/internal/sharing/sharingManagement.d.ts +3 -1
  69. package/dist/internal/sharing/sharingManagement.js +10 -1
  70. package/dist/internal/sharing/sharingManagement.js.map +1 -1
  71. package/dist/internal/sharing/sharingManagement.test.js +32 -1
  72. package/dist/internal/sharing/sharingManagement.test.js.map +1 -1
  73. package/dist/internal/sharingPublic/apiService.d.ts +19 -0
  74. package/dist/internal/sharingPublic/apiService.js +141 -0
  75. package/dist/internal/sharingPublic/apiService.js.map +1 -0
  76. package/dist/internal/sharingPublic/cryptoCache.d.ts +19 -0
  77. package/dist/internal/sharingPublic/cryptoCache.js +72 -0
  78. package/dist/internal/sharingPublic/cryptoCache.js.map +1 -0
  79. package/dist/internal/sharingPublic/cryptoService.d.ts +9 -0
  80. package/dist/internal/sharingPublic/cryptoService.js +57 -0
  81. package/dist/internal/sharingPublic/cryptoService.js.map +1 -0
  82. package/dist/internal/sharingPublic/index.d.ts +15 -0
  83. package/dist/internal/sharingPublic/index.js +27 -0
  84. package/dist/internal/sharingPublic/index.js.map +1 -0
  85. package/dist/internal/sharingPublic/interface.d.ts +6 -0
  86. package/dist/internal/sharingPublic/interface.js +3 -0
  87. package/dist/internal/sharingPublic/interface.js.map +1 -0
  88. package/dist/internal/sharingPublic/manager.d.ts +19 -0
  89. package/dist/internal/sharingPublic/manager.js +81 -0
  90. package/dist/internal/sharingPublic/manager.js.map +1 -0
  91. package/dist/internal/sharingPublic/session/apiService.d.ts +28 -0
  92. package/dist/internal/sharingPublic/session/apiService.js +55 -0
  93. package/dist/internal/sharingPublic/session/apiService.js.map +1 -0
  94. package/dist/internal/sharingPublic/session/httpClient.d.ts +16 -0
  95. package/dist/internal/sharingPublic/session/httpClient.js +41 -0
  96. package/dist/internal/sharingPublic/session/httpClient.js.map +1 -0
  97. package/dist/internal/sharingPublic/session/index.d.ts +1 -0
  98. package/dist/internal/sharingPublic/session/index.js +6 -0
  99. package/dist/internal/sharingPublic/session/index.js.map +1 -0
  100. package/dist/internal/sharingPublic/session/interface.d.ts +18 -0
  101. package/dist/internal/sharingPublic/session/interface.js +3 -0
  102. package/dist/internal/sharingPublic/session/interface.js.map +1 -0
  103. package/dist/internal/sharingPublic/session/manager.d.ts +49 -0
  104. package/dist/internal/sharingPublic/session/manager.js +75 -0
  105. package/dist/internal/sharingPublic/session/manager.js.map +1 -0
  106. package/dist/internal/sharingPublic/session/session.d.ts +34 -0
  107. package/dist/internal/sharingPublic/session/session.js +67 -0
  108. package/dist/internal/sharingPublic/session/session.js.map +1 -0
  109. package/dist/internal/sharingPublic/session/url.d.ts +12 -0
  110. package/dist/internal/sharingPublic/session/url.js +23 -0
  111. package/dist/internal/sharingPublic/session/url.js.map +1 -0
  112. package/dist/internal/sharingPublic/session/url.test.d.ts +1 -0
  113. package/dist/internal/sharingPublic/session/url.test.js +59 -0
  114. package/dist/internal/sharingPublic/session/url.test.js.map +1 -0
  115. package/dist/internal/upload/streamUploader.js +1 -1
  116. package/dist/internal/upload/streamUploader.js.map +1 -1
  117. package/dist/internal/upload/streamUploader.test.js +3 -1
  118. package/dist/internal/upload/streamUploader.test.js.map +1 -1
  119. package/dist/protonDriveClient.d.ts +18 -3
  120. package/dist/protonDriveClient.js +31 -8
  121. package/dist/protonDriveClient.js.map +1 -1
  122. package/dist/protonDrivePublicLinkClient.d.ts +57 -0
  123. package/dist/protonDrivePublicLinkClient.js +73 -0
  124. package/dist/protonDrivePublicLinkClient.js.map +1 -0
  125. package/package.json +1 -1
  126. package/src/crypto/driveCrypto.ts +1 -1
  127. package/src/crypto/interface.ts +12 -1
  128. package/src/crypto/openPGPCrypto.ts +5 -2
  129. package/src/diagnostic/httpClient.ts +4 -4
  130. package/src/interface/httpClient.ts +5 -5
  131. package/src/interface/index.ts +18 -6
  132. package/src/internal/apiService/apiService.ts +1 -1
  133. package/src/internal/apiService/errorCodes.ts +1 -0
  134. package/src/internal/apiService/errors.test.ts +2 -1
  135. package/src/internal/apiService/errors.ts +15 -4
  136. package/src/internal/download/cryptoService.ts +2 -2
  137. package/src/internal/download/fileDownloader.test.ts +3 -1
  138. package/src/internal/download/fileDownloader.ts +2 -2
  139. package/src/internal/events/index.ts +1 -1
  140. package/src/internal/nodes/cache.ts +3 -1
  141. package/src/internal/nodes/cryptoCache.test.ts +4 -7
  142. package/src/internal/nodes/cryptoCache.ts +6 -7
  143. package/src/internal/nodes/cryptoReporter.ts +145 -0
  144. package/src/internal/nodes/cryptoService.test.ts +3 -1
  145. package/src/internal/nodes/cryptoService.ts +44 -137
  146. package/src/internal/nodes/index.ts +3 -1
  147. package/src/internal/nodes/interface.ts +3 -1
  148. package/src/internal/nodes/nodesAccess.ts +59 -61
  149. package/src/internal/shares/cryptoCache.test.ts +3 -2
  150. package/src/internal/shares/cryptoCache.ts +26 -7
  151. package/src/internal/shares/index.ts +1 -1
  152. package/src/internal/sharing/cache.ts +19 -2
  153. package/src/internal/sharing/cryptoService.test.ts +22 -1
  154. package/src/internal/sharing/cryptoService.ts +8 -6
  155. package/src/internal/sharing/index.ts +1 -0
  156. package/src/internal/sharing/interface.ts +1 -1
  157. package/src/internal/sharing/sharingAccess.test.ts +282 -34
  158. package/src/internal/sharing/sharingAccess.ts +6 -0
  159. package/src/internal/sharing/sharingManagement.test.ts +33 -0
  160. package/src/internal/sharing/sharingManagement.ts +9 -0
  161. package/src/internal/sharingPublic/apiService.ts +173 -0
  162. package/src/internal/sharingPublic/cryptoCache.ts +79 -0
  163. package/src/internal/sharingPublic/cryptoService.ts +98 -0
  164. package/src/internal/sharingPublic/index.ts +41 -0
  165. package/src/internal/sharingPublic/interface.ts +14 -0
  166. package/src/internal/sharingPublic/manager.ts +86 -0
  167. package/src/internal/sharingPublic/session/apiService.ts +74 -0
  168. package/src/internal/sharingPublic/session/httpClient.ts +48 -0
  169. package/src/internal/sharingPublic/session/index.ts +1 -0
  170. package/src/internal/sharingPublic/session/interface.ts +20 -0
  171. package/src/internal/sharingPublic/session/manager.ts +97 -0
  172. package/src/internal/sharingPublic/session/session.ts +78 -0
  173. package/src/internal/sharingPublic/session/url.test.ts +72 -0
  174. package/src/internal/sharingPublic/session/url.ts +23 -0
  175. package/src/internal/upload/streamUploader.test.ts +3 -1
  176. package/src/internal/upload/streamUploader.ts +1 -1
  177. package/src/protonDriveClient.ts +48 -11
  178. package/src/protonDrivePublicLinkClient.ts +135 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sharingAccess.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingAccess.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharingAccess.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingAccess.ts"],"names":[],"mappings":";;;AAAA,+BAAyB;AAEzB,+CAAiG;AACjG,yCAA+C;AAE/C,kDAA+C;AAM/C,2DAA2D;AAC3D,yEAAyE;AAC5D,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC;;;;;;GAMG;AACH,MAAa,aAAa;IAEV;IACA;IACA;IACA;IACA;IALZ,YACY,UAA6B,EAC7B,KAAmB,EACnB,aAAmC,EACnC,aAA4B,EAC5B,YAA0B;QAJ1B,eAAU,GAAV,UAAU,CAAmB;QAC7B,UAAK,GAAL,KAAK,CAAc;QACnB,kBAAa,GAAb,aAAa,CAAsB;QACnC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAElC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAoB;QAC1C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAC1D,KAAK,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;YAC9D,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjF,KAAK,CAAC,CAAC,IAAI,CAAC,yBAAyB,CACjC,gBAAgB,EAChB,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EACxD,MAAM,CACT,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,wBAAwB,CAAC,MAAoB;QAChD,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YAC5D,KAAK,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;YAC7E,KAAK,CAAC,CAAC,IAAI,CAAC,yBAAyB,CACjC,gBAAgB,EAChB,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAC1D,MAAM,CACT,CAAC;QACN,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAC,2BAA2B,CACtC,QAAkB,EAClB,MAAoB;QAEpB,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAwB;YACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,MAAM,CAAC;YACnF,SAAS,EAAE,0BAAkB;SAChC,CAAC,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,CAAC,yBAAyB,CACpC,gBAAwC,EACxC,QAA+C,EAC/C,MAAoB;QAEpB,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,IAAI,2BAAY,CAAwB;YACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,MAAM,CAAC;YACnF,SAAS,EAAE,0BAAkB;SAChC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAC3C,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC/B,kEAAkE;QAClE,+DAA+D;QAC/D,MAAM,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,CAAC,gCAAgC,CAC3C,QAAkB,EAClB,MAAoB;QAEpB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACvB,SAAS;YACb,CAAC;YACD,MAAM,IAAI,CAAC;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,OAAe;QACxC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,wBAAe,CAAC,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,iDAAiD,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAoB;QAC1C,IAAI,KAAK,EAAE,MAAM,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9E,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC/E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;YAC3F,MAAM,UAAU,CAAC;QACrB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/E,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;QACrG,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;QACjF,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAoB;QACxC,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAE7F,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChD,MAAM,IAAA,uBAAW,EAAC;oBACd,GAAG,EAAE,QAAQ,CAAC,OAAO;oBACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,GAAG,EAAE,GAAG;oBACR,cAAc;oBACd,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;wBACxB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;qBACrC;iBACJ,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAA,oBAAQ,EAAC;oBACX,GAAG,EAAE,QAAQ,CAAC,OAAO;oBACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;oBACnC,GAAG,EAAE,GAAG,CAAC,KAAK;oBACd,cAAc,EAAE,cAAc,CAAC,KAAK;oBACpC,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ,CAAC,KAAK;wBACpB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;wBACxB,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS;qBACrC;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACpC,MAAM,OAAO,GAAG,WAAW,CAAC;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;CACJ;AAtKD,sCAsKC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const interface_1 = require("../../interface");
4
+ const errors_1 = require("../../errors");
4
5
  const sharingAccess_1 = require("./sharingAccess");
5
6
  describe('SharingAccess', () => {
6
7
  let apiService;
@@ -9,8 +10,12 @@ describe('SharingAccess', () => {
9
10
  let sharesService;
10
11
  let nodesService;
11
12
  let sharingAccess;
12
- const nodeUids = Array.from({ length: sharingAccess_1.BATCH_LOADING_SIZE + 5 }, (_, i) => `nodeUid${i}`);
13
- const nodes = nodeUids.map((nodeUid) => ({ nodeUid }));
13
+ const nodeUids = Array.from({ length: sharingAccess_1.BATCH_LOADING_SIZE + 5 }, (_, i) => `volumeId~nodeUid${i}`);
14
+ const nodes = nodeUids.map((nodeUid) => ({
15
+ nodeUid,
16
+ shareId: 'shareId',
17
+ name: { ok: true, value: `name${nodeUid.split('~')[1]}` }
18
+ }));
14
19
  const nodeUidsIterator = async function* () {
15
20
  for (const nodeUid of nodeUids) {
16
21
  yield nodeUid;
@@ -27,24 +32,62 @@ describe('SharingAccess', () => {
27
32
  creationTime: new Date('2025-01-01'),
28
33
  node: {
29
34
  type: interface_1.NodeType.File,
30
- mediaType: 'mediaType',
35
+ mediaType: 'image/jpeg',
31
36
  },
32
37
  };
33
38
  }),
39
+ removeMember: jest.fn(),
40
+ iterateInvitationUids: jest.fn().mockImplementation(async function* () {
41
+ yield 'invitationUid';
42
+ }),
43
+ getInvitation: jest.fn().mockResolvedValue({
44
+ uid: 'invitationUid',
45
+ node: { uid: 'volumeId~nodeUid' },
46
+ inviteeEmail: 'invitee-email',
47
+ role: interface_1.MemberRole.Viewer,
48
+ }),
49
+ acceptInvitation: jest.fn(),
50
+ rejectInvitation: jest.fn(),
51
+ deleteBookmark: jest.fn(),
34
52
  };
35
53
  // @ts-expect-error No need to implement all methods for mocking
36
54
  cache = {
37
55
  setSharedByMeNodeUids: jest.fn(),
38
56
  setSharedWithMeNodeUids: jest.fn(),
57
+ getSharedByMeNodeUids: jest.fn(),
58
+ getSharedWithMeNodeUids: jest.fn(),
59
+ hasSharedByMeNodeUidsLoaded: jest.fn().mockResolvedValue(true),
60
+ hasSharedWithMeNodeUidsLoaded: jest.fn().mockResolvedValue(true),
61
+ addSharedByMeNodeUid: jest.fn(),
62
+ removeSharedByMeNodeUid: jest.fn(),
63
+ addSharedWithMeNodeUid: jest.fn(),
64
+ removeSharedWithMeNodeUid: jest.fn(),
39
65
  };
40
66
  // @ts-expect-error No need to implement all methods for mocking
41
67
  cryptoService = {
42
68
  decryptInvitation: jest.fn(),
43
69
  decryptBookmark: jest.fn(),
70
+ decryptInvitationWithNode: jest.fn().mockResolvedValue({
71
+ uid: 'invitationUid',
72
+ inviteeEmail: 'invitee-email',
73
+ role: interface_1.MemberRole.Viewer,
74
+ node: {
75
+ uid: 'volumeId~nodeUid',
76
+ name: { ok: true, value: 'SharedFile.txt' },
77
+ type: interface_1.NodeType.File,
78
+ },
79
+ }),
80
+ acceptInvitation: jest.fn().mockResolvedValue({
81
+ base64SessionKeySignature: 'mockSignature',
82
+ }),
44
83
  };
45
84
  // @ts-expect-error No need to implement all methods for mocking
46
85
  sharesService = {
47
86
  getMyFilesIDs: jest.fn().mockResolvedValue({ volumeId: 'volumeId' }),
87
+ loadEncryptedShare: jest.fn().mockResolvedValue({
88
+ id: 'shareId',
89
+ membership: { memberUid: 'memberUid' },
90
+ }),
48
91
  };
49
92
  // @ts-expect-error No need to implement all methods for mocking
50
93
  nodesService = {
@@ -55,107 +98,273 @@ describe('SharingAccess', () => {
55
98
  }
56
99
  }
57
100
  }),
101
+ getNode: jest.fn().mockResolvedValue({
102
+ nodeUid: 'volumeId~nodeUid',
103
+ shareId: 'shareId',
104
+ name: { ok: true, value: 'TestFile.txt' },
105
+ }),
58
106
  };
59
107
  sharingAccess = new sharingAccess_1.SharingAccess(apiService, cache, cryptoService, sharesService, nodesService);
60
108
  });
61
109
  describe('iterateSharedNodes', () => {
62
- it('should iterate from cache', async () => {
110
+ it('should iterate from cache when available', async () => {
63
111
  cache.getSharedByMeNodeUids = jest.fn().mockResolvedValue(nodeUids);
64
112
  const result = await Array.fromAsync(sharingAccess.iterateSharedNodes());
65
113
  expect(result).toEqual(nodes);
66
114
  expect(apiService.iterateSharedNodeUids).not.toHaveBeenCalled();
67
115
  expect(cache.setSharedByMeNodeUids).not.toHaveBeenCalled();
68
116
  });
69
- it('should iterate from API', async () => {
70
- cache.getSharedByMeNodeUids = jest.fn().mockRejectedValue(new Error('Not cached'));
117
+ it('should iterate from API when cache is empty', async () => {
118
+ cache.getSharedByMeNodeUids = jest.fn().mockRejectedValue(new Error('Cache miss'));
71
119
  const result = await Array.fromAsync(sharingAccess.iterateSharedNodes());
72
120
  expect(result).toEqual(nodes);
73
121
  expect(apiService.iterateSharedNodeUids).toHaveBeenCalledWith('volumeId', undefined);
74
- expect(nodesService.iterateNodes).toHaveBeenCalledTimes(2); // Mocked is a bit more over one batch
122
+ expect(nodesService.iterateNodes).toHaveBeenCalledTimes(2);
75
123
  expect(cache.setSharedByMeNodeUids).toHaveBeenCalledWith(nodeUids);
76
124
  });
125
+ it('should ignore missing nodes during iteration', async () => {
126
+ cache.getSharedByMeNodeUids = jest.fn().mockResolvedValue(['volumeId~nodeUid1', 'volumeId~missingNode']);
127
+ nodesService.iterateNodes = jest.fn().mockImplementation(async function* () {
128
+ yield { nodeUid: 'volumeId~nodeUid1', name: { ok: true, value: 'file1.txt' } };
129
+ yield { missingUid: 'volumeId~missingNode' };
130
+ });
131
+ const result = await Array.fromAsync(sharingAccess.iterateSharedNodes());
132
+ expect(result).toEqual([{ nodeUid: 'volumeId~nodeUid1', name: { ok: true, value: 'file1.txt' } }]);
133
+ });
77
134
  });
78
135
  describe('iterateSharedNodesWithMe', () => {
79
- it('should iterate from cache', async () => {
136
+ it('should iterate from cache when available', async () => {
80
137
  cache.getSharedWithMeNodeUids = jest.fn().mockResolvedValue(nodeUids);
81
138
  const result = await Array.fromAsync(sharingAccess.iterateSharedNodesWithMe());
82
139
  expect(result).toEqual(nodes);
83
140
  expect(apiService.iterateSharedWithMeNodeUids).not.toHaveBeenCalled();
84
141
  expect(cache.setSharedWithMeNodeUids).not.toHaveBeenCalled();
85
142
  });
86
- it('should iterate from API', async () => {
87
- cache.getSharedWithMeNodeUids = jest.fn().mockRejectedValue(new Error('Not cached'));
143
+ it('should iterate from API when cache is empty', async () => {
144
+ cache.getSharedWithMeNodeUids = jest.fn().mockRejectedValue(new Error('Cache miss'));
88
145
  const result = await Array.fromAsync(sharingAccess.iterateSharedNodesWithMe());
89
146
  expect(result).toEqual(nodes);
90
147
  expect(apiService.iterateSharedWithMeNodeUids).toHaveBeenCalledWith(undefined);
91
- expect(nodesService.iterateNodes).toHaveBeenCalledTimes(2); // Mocked is a bit more over one batch
148
+ expect(nodesService.iterateNodes).toHaveBeenCalledTimes(2);
92
149
  expect(cache.setSharedWithMeNodeUids).toHaveBeenCalledWith(nodeUids);
93
150
  });
94
151
  });
152
+ describe('removeSharedNodeWithMe', () => {
153
+ const nodeUid = 'volumeId~nodeUid';
154
+ it('should remove member and update cache', async () => {
155
+ await sharingAccess.removeSharedNodeWithMe(nodeUid);
156
+ expect(nodesService.getNode).toHaveBeenCalledWith(nodeUid);
157
+ expect(sharesService.loadEncryptedShare).toHaveBeenCalledWith('shareId');
158
+ expect(apiService.removeMember).toHaveBeenCalledWith('memberUid');
159
+ expect(cache.removeSharedWithMeNodeUid).toHaveBeenCalledWith(nodeUid);
160
+ });
161
+ it('should return early if node is not shared', async () => {
162
+ nodesService.getNode = jest.fn().mockResolvedValue({
163
+ nodeUid,
164
+ shareId: undefined,
165
+ name: { ok: true, value: 'UnsharedFile.txt' }
166
+ });
167
+ await sharingAccess.removeSharedNodeWithMe(nodeUid);
168
+ expect(sharesService.loadEncryptedShare).not.toHaveBeenCalled();
169
+ expect(apiService.removeMember).not.toHaveBeenCalled();
170
+ expect(cache.removeSharedWithMeNodeUid).not.toHaveBeenCalled();
171
+ });
172
+ it('should throw ValidationError if no membership found', async () => {
173
+ sharesService.loadEncryptedShare = jest.fn().mockResolvedValue({
174
+ id: 'shareId',
175
+ membership: undefined,
176
+ });
177
+ await expect(sharingAccess.removeSharedNodeWithMe(nodeUid)).rejects.toThrow(errors_1.ValidationError);
178
+ expect(apiService.removeMember).not.toHaveBeenCalled();
179
+ expect(cache.removeSharedWithMeNodeUid).not.toHaveBeenCalled();
180
+ });
181
+ });
182
+ describe('iterateInvitations', () => {
183
+ it('should iterate and decrypt invitations', async () => {
184
+ const result = await Array.fromAsync(sharingAccess.iterateInvitations());
185
+ expect(result).toEqual([{
186
+ uid: 'invitationUid',
187
+ inviteeEmail: 'invitee-email',
188
+ role: interface_1.MemberRole.Viewer,
189
+ node: {
190
+ uid: 'volumeId~nodeUid',
191
+ name: { ok: true, value: 'SharedFile.txt' },
192
+ type: interface_1.NodeType.File,
193
+ },
194
+ }]);
195
+ expect(apiService.iterateInvitationUids).toHaveBeenCalledWith(undefined);
196
+ expect(apiService.getInvitation).toHaveBeenCalledWith('invitationUid');
197
+ expect(cryptoService.decryptInvitationWithNode).toHaveBeenCalledWith({
198
+ uid: 'invitationUid',
199
+ node: { uid: 'volumeId~nodeUid' },
200
+ inviteeEmail: 'invitee-email',
201
+ role: interface_1.MemberRole.Viewer,
202
+ });
203
+ });
204
+ });
205
+ describe('acceptInvitation', () => {
206
+ it('should accept invitation and update cache', async () => {
207
+ const invitationUid = 'invitationUid';
208
+ await sharingAccess.acceptInvitation(invitationUid);
209
+ expect(apiService.getInvitation).toHaveBeenCalledWith(invitationUid);
210
+ expect(cryptoService.acceptInvitation).toHaveBeenCalledWith({
211
+ uid: 'invitationUid',
212
+ node: { uid: 'volumeId~nodeUid' },
213
+ inviteeEmail: 'invitee-email',
214
+ role: interface_1.MemberRole.Viewer,
215
+ });
216
+ expect(apiService.acceptInvitation).toHaveBeenCalledWith(invitationUid, 'mockSignature');
217
+ expect(cache.addSharedWithMeNodeUid).toHaveBeenCalledWith('volumeId~nodeUid');
218
+ });
219
+ it('should not update cache when not loaded', async () => {
220
+ const invitationUid = 'invitationUid';
221
+ cache.hasSharedWithMeNodeUidsLoaded = jest.fn().mockResolvedValue(false);
222
+ await sharingAccess.acceptInvitation(invitationUid);
223
+ expect(apiService.acceptInvitation).toHaveBeenCalledWith(invitationUid, 'mockSignature');
224
+ expect(cache.addSharedWithMeNodeUid).not.toHaveBeenCalled();
225
+ });
226
+ });
227
+ describe('rejectInvitation', () => {
228
+ it('should reject invitation', async () => {
229
+ const invitationUid = 'invitationUid';
230
+ await sharingAccess.rejectInvitation(invitationUid);
231
+ expect(apiService.rejectInvitation).toHaveBeenCalledWith(invitationUid);
232
+ });
233
+ });
95
234
  describe('iterateBookmarks', () => {
96
- it('should return decrypted bookmark', async () => {
235
+ it('should return successfully decrypted bookmark', async () => {
97
236
  cryptoService.decryptBookmark = jest.fn().mockResolvedValue({
98
- url: (0, interface_1.resultOk)('url'),
99
- customPassword: (0, interface_1.resultOk)('customPassword'),
100
- nodeName: (0, interface_1.resultOk)('nodeName'),
237
+ url: (0, interface_1.resultOk)('https://example.com/file.pdf'),
238
+ customPassword: (0, interface_1.resultOk)('password123'),
239
+ nodeName: (0, interface_1.resultOk)('ImportantDocument.pdf'),
101
240
  });
102
241
  const result = await Array.fromAsync(sharingAccess.iterateBookmarks());
103
242
  expect(result).toEqual([
104
243
  (0, interface_1.resultOk)({
105
244
  uid: 'tokenId',
106
245
  creationTime: new Date('2025-01-01'),
107
- url: 'url',
108
- customPassword: 'customPassword',
246
+ url: 'https://example.com/file.pdf',
247
+ customPassword: 'password123',
109
248
  node: {
110
- name: 'nodeName',
249
+ name: 'ImportantDocument.pdf',
111
250
  type: interface_1.NodeType.File,
112
- mediaType: 'mediaType',
251
+ mediaType: 'image/jpeg',
113
252
  },
114
253
  }),
115
254
  ]);
116
255
  });
117
- it('should return degraded bookmark if URL password cannot be decrypted', async () => {
256
+ it('should return successfully decrypted bookmark with undefined password', async () => {
118
257
  cryptoService.decryptBookmark = jest.fn().mockResolvedValue({
119
- url: (0, interface_1.resultError)('url cannot be decrypted'),
120
- customPassword: (0, interface_1.resultOk)('url cannot be decrypted'),
121
- nodeName: (0, interface_1.resultError)('url cannot be decrypted'),
258
+ url: (0, interface_1.resultOk)('https://example.com/file.pdf'),
259
+ customPassword: (0, interface_1.resultOk)(undefined),
260
+ nodeName: (0, interface_1.resultOk)('PublicDocument.pdf'),
261
+ });
262
+ const result = await Array.fromAsync(sharingAccess.iterateBookmarks());
263
+ expect(result).toEqual([
264
+ (0, interface_1.resultOk)({
265
+ uid: 'tokenId',
266
+ creationTime: new Date('2025-01-01'),
267
+ url: 'https://example.com/file.pdf',
268
+ customPassword: undefined,
269
+ node: {
270
+ name: 'PublicDocument.pdf',
271
+ type: interface_1.NodeType.File,
272
+ mediaType: 'image/jpeg',
273
+ },
274
+ }),
275
+ ]);
276
+ });
277
+ it('should return degraded bookmark when URL cannot be decrypted', async () => {
278
+ cryptoService.decryptBookmark = jest.fn().mockResolvedValue({
279
+ url: (0, interface_1.resultError)('URL decryption failed'),
280
+ customPassword: (0, interface_1.resultOk)('password123'),
281
+ nodeName: (0, interface_1.resultOk)('Document.pdf'),
282
+ });
283
+ const result = await Array.fromAsync(sharingAccess.iterateBookmarks());
284
+ expect(result).toEqual([
285
+ (0, interface_1.resultError)({
286
+ uid: 'tokenId',
287
+ creationTime: new Date('2025-01-01'),
288
+ url: (0, interface_1.resultError)('URL decryption failed'),
289
+ customPassword: (0, interface_1.resultOk)('password123'),
290
+ node: {
291
+ name: (0, interface_1.resultOk)('Document.pdf'),
292
+ type: interface_1.NodeType.File,
293
+ mediaType: 'image/jpeg',
294
+ },
295
+ }),
296
+ ]);
297
+ });
298
+ it('should return degraded bookmark when custom password cannot be decrypted', async () => {
299
+ cryptoService.decryptBookmark = jest.fn().mockResolvedValue({
300
+ url: (0, interface_1.resultOk)('https://example.com/file.pdf'),
301
+ customPassword: (0, interface_1.resultError)('Password decryption failed'),
302
+ nodeName: (0, interface_1.resultOk)('Document.pdf'),
122
303
  });
123
304
  const result = await Array.fromAsync(sharingAccess.iterateBookmarks());
124
305
  expect(result).toEqual([
125
306
  (0, interface_1.resultError)({
126
307
  uid: 'tokenId',
127
308
  creationTime: new Date('2025-01-01'),
128
- url: (0, interface_1.resultError)('url cannot be decrypted'),
129
- customPassword: (0, interface_1.resultOk)('url cannot be decrypted'),
309
+ url: (0, interface_1.resultOk)('https://example.com/file.pdf'),
310
+ customPassword: (0, interface_1.resultError)('Password decryption failed'),
130
311
  node: {
131
- name: (0, interface_1.resultError)('url cannot be decrypted'),
312
+ name: (0, interface_1.resultOk)('Document.pdf'),
132
313
  type: interface_1.NodeType.File,
133
- mediaType: 'mediaType',
314
+ mediaType: 'image/jpeg',
134
315
  },
135
316
  }),
136
317
  ]);
137
318
  });
138
- it('should return degraded bookmark if node name cannot be decrypted', async () => {
319
+ it('should return degraded bookmark when node name cannot be decrypted', async () => {
139
320
  cryptoService.decryptBookmark = jest.fn().mockResolvedValue({
140
- url: (0, interface_1.resultOk)('url'),
321
+ url: (0, interface_1.resultOk)('https://example.com/file.pdf'),
141
322
  customPassword: (0, interface_1.resultOk)(undefined),
142
- nodeName: (0, interface_1.resultError)('node name cannot be decrypted'),
323
+ nodeName: (0, interface_1.resultError)('Node name decryption failed'),
143
324
  });
144
325
  const result = await Array.fromAsync(sharingAccess.iterateBookmarks());
145
326
  expect(result).toEqual([
146
327
  (0, interface_1.resultError)({
147
328
  uid: 'tokenId',
148
329
  creationTime: new Date('2025-01-01'),
149
- url: (0, interface_1.resultOk)('url'),
330
+ url: (0, interface_1.resultOk)('https://example.com/file.pdf'),
150
331
  customPassword: (0, interface_1.resultOk)(undefined),
151
332
  node: {
152
- name: (0, interface_1.resultError)('node name cannot be decrypted'),
333
+ name: (0, interface_1.resultError)('Node name decryption failed'),
153
334
  type: interface_1.NodeType.File,
154
- mediaType: 'mediaType',
335
+ mediaType: 'image/jpeg',
155
336
  },
156
337
  }),
157
338
  ]);
158
339
  });
340
+ it('should return degraded bookmark when all decryption fails', async () => {
341
+ cryptoService.decryptBookmark = jest.fn().mockResolvedValue({
342
+ url: (0, interface_1.resultError)('URL decryption failed'),
343
+ customPassword: (0, interface_1.resultError)('Password decryption failed'),
344
+ nodeName: (0, interface_1.resultError)('Node name decryption failed'),
345
+ });
346
+ const result = await Array.fromAsync(sharingAccess.iterateBookmarks());
347
+ expect(result).toEqual([
348
+ (0, interface_1.resultError)({
349
+ uid: 'tokenId',
350
+ creationTime: new Date('2025-01-01'),
351
+ url: (0, interface_1.resultError)('URL decryption failed'),
352
+ customPassword: (0, interface_1.resultError)('Password decryption failed'),
353
+ node: {
354
+ name: (0, interface_1.resultError)('Node name decryption failed'),
355
+ type: interface_1.NodeType.File,
356
+ mediaType: 'image/jpeg',
357
+ },
358
+ }),
359
+ ]);
360
+ });
361
+ });
362
+ describe('deleteBookmark', () => {
363
+ it('should delete bookmark using tokenId', async () => {
364
+ const bookmarkUid = 'tokenId123';
365
+ await sharingAccess.deleteBookmark(bookmarkUid);
366
+ expect(apiService.deleteBookmark).toHaveBeenCalledWith(bookmarkUid);
367
+ });
159
368
  });
160
369
  });
161
370
  //# sourceMappingURL=sharingAccess.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sharingAccess.test.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingAccess.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharingAccess.test.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingAccess.test.ts"],"names":[],"mappings":";;AACA,+CAA8E;AAC9E,yCAA+C;AAK/C,mDAAoE;AAEpE,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,UAA6B,CAAC;IAClC,IAAI,KAAmB,CAAC;IACxB,IAAI,aAAmC,CAAC;IACxC,IAAI,aAA4B,CAAC;IACjC,IAAI,YAA0B,CAAC;IAE/B,IAAI,aAA4B,CAAC;IAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kCAAkB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACrC,OAAO;QACP,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;KAC5D,CAAC,CAAC,CAAC;IACJ,MAAM,gBAAgB,GAAG,KAAK,SAAS,CAAC;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,OAAO,CAAC;QAClB,CAAC;IACL,CAAC,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACZ,gEAAgE;QAChE,UAAU,GAAG;YACT,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;YAC7E,2BAA2B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;YACnF,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC;gBAC1D,MAAM;oBACF,OAAO,EAAE,SAAS;oBAClB,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,IAAI,EAAE;wBACF,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;YACN,CAAC,CAAC;YACF,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;YACvB,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC;gBAC/D,MAAM,eAAe,CAAC;YAC1B,CAAC,CAAC;YACF,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACvC,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;gBACjC,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC;YACF,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3B,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC3B,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE;SAC5B,CAAC;QAEF,gEAAgE;QAChE,KAAK,GAAG;YACJ,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;YAChC,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;YAClC,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;YAChC,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;YAClC,2BAA2B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC9D,6BAA6B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAChE,oBAAoB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC/B,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;YAClC,sBAAsB,EAAE,IAAI,CAAC,EAAE,EAAE;YACjC,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE;SACvC,CAAC;QAEF,gEAAgE;QAChE,aAAa,GAAG;YACZ,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC5B,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1B,yBAAyB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACnD,GAAG,EAAE,eAAe;gBACpB,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;gBACvB,IAAI,EAAE;oBACF,GAAG,EAAE,kBAAkB;oBACvB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;oBAC3C,IAAI,EAAE,oBAAQ,CAAC,IAAI;iBACtB;aACJ,CAAC;YACF,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC1C,yBAAyB,EAAE,eAAe;aAC7C,CAAC;SACL,CAAC;QAEF,gEAAgE;QAChE,aAAa,GAAG;YACZ,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACpE,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC5C,EAAE,EAAE,SAAS;gBACb,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE;aACzC,CAAC;SACL,CAAC;QAEF,gEAAgE;QAChE,YAAY,GAAG;YACX,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC,EAAE,QAAQ;gBAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,MAAM,IAAI,CAAC;oBACf,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACjC,OAAO,EAAE,kBAAkB;gBAC3B,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE;aAC5C,CAAC;SACL,CAAC;QAEF,aAAa,GAAG,IAAI,6BAAa,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACtD,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAEpE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YACzD,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAEnF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACrF,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC1D,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC,CAAC;YACzG,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,SAAS,CAAC;gBACpE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;gBAC/E,MAAM,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACtD,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAEtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC,CAAC;YAE/E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YACzD,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAErF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC,CAAC;YAE/E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC/E,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAEnC,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACzE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,OAAO;gBACP,OAAO,EAAE,SAAS;gBAClB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE;aAChD,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAChE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACjE,aAAa,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC3D,EAAE,EAAE,SAAS;gBACb,UAAU,EAAE,SAAS;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,wBAAe,CAAC,CAAC;YAC7F,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;oBACpB,GAAG,EAAE,eAAe;oBACpB,YAAY,EAAE,eAAe;oBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;oBACvB,IAAI,EAAE;wBACF,GAAG,EAAE,kBAAkB;wBACvB,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE;wBAC3C,IAAI,EAAE,oBAAQ,CAAC,IAAI;qBACtB;iBACJ,CAAC,CAAC,CAAC;YACJ,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YACzE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YACvE,MAAM,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CAAC;gBACjE,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;gBACjC,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,aAAa,GAAG,eAAe,CAAC;YAEtC,MAAM,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAEpD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;YACrE,MAAM,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC;gBACxD,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE;gBACjC,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzF,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,aAAa,GAAG,eAAe,CAAC;YACtC,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEzE,MAAM,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAEpD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACzF,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,aAAa,GAAG,eAAe,CAAC;YAEtC,MAAM,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAEpD,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACxD,GAAG,EAAE,IAAA,oBAAQ,EAAC,8BAA8B,CAAC;gBAC7C,cAAc,EAAE,IAAA,oBAAQ,EAAC,aAAa,CAAC;gBACvC,QAAQ,EAAE,IAAA,oBAAQ,EAAC,uBAAuB,CAAC;aAC9C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAA,oBAAQ,EAAC;oBACL,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,GAAG,EAAE,8BAA8B;oBACnC,cAAc,EAAE,aAAa;oBAC7B,IAAI,EAAE;wBACF,IAAI,EAAE,uBAAuB;wBAC7B,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACnF,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACxD,GAAG,EAAE,IAAA,oBAAQ,EAAC,8BAA8B,CAAC;gBAC7C,cAAc,EAAE,IAAA,oBAAQ,EAAC,SAAS,CAAC;gBACnC,QAAQ,EAAE,IAAA,oBAAQ,EAAC,oBAAoB,CAAC;aAC3C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAA,oBAAQ,EAAC;oBACL,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,GAAG,EAAE,8BAA8B;oBACnC,cAAc,EAAE,SAAS;oBACzB,IAAI,EAAE;wBACF,IAAI,EAAE,oBAAoB;wBAC1B,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC1E,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACxD,GAAG,EAAE,IAAA,uBAAW,EAAC,uBAAuB,CAAC;gBACzC,cAAc,EAAE,IAAA,oBAAQ,EAAC,aAAa,CAAC;gBACvC,QAAQ,EAAE,IAAA,oBAAQ,EAAC,cAAc,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAA,uBAAW,EAAC;oBACR,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,GAAG,EAAE,IAAA,uBAAW,EAAC,uBAAuB,CAAC;oBACzC,cAAc,EAAE,IAAA,oBAAQ,EAAC,aAAa,CAAC;oBACvC,IAAI,EAAE;wBACF,IAAI,EAAE,IAAA,oBAAQ,EAAC,cAAc,CAAC;wBAC9B,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACtF,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACxD,GAAG,EAAE,IAAA,oBAAQ,EAAC,8BAA8B,CAAC;gBAC7C,cAAc,EAAE,IAAA,uBAAW,EAAC,4BAA4B,CAAC;gBACzD,QAAQ,EAAE,IAAA,oBAAQ,EAAC,cAAc,CAAC;aACrC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAA,uBAAW,EAAC;oBACR,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,GAAG,EAAE,IAAA,oBAAQ,EAAC,8BAA8B,CAAC;oBAC7C,cAAc,EAAE,IAAA,uBAAW,EAAC,4BAA4B,CAAC;oBACzD,IAAI,EAAE;wBACF,IAAI,EAAE,IAAA,oBAAQ,EAAC,cAAc,CAAC;wBAC9B,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAChF,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACxD,GAAG,EAAE,IAAA,oBAAQ,EAAC,8BAA8B,CAAC;gBAC7C,cAAc,EAAE,IAAA,oBAAQ,EAAC,SAAS,CAAC;gBACnC,QAAQ,EAAE,IAAA,uBAAW,EAAC,6BAA6B,CAAC;aACvD,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAA,uBAAW,EAAC;oBACR,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,GAAG,EAAE,IAAA,oBAAQ,EAAC,8BAA8B,CAAC;oBAC7C,cAAc,EAAE,IAAA,oBAAQ,EAAC,SAAS,CAAC;oBACnC,IAAI,EAAE;wBACF,IAAI,EAAE,IAAA,uBAAW,EAAC,6BAA6B,CAAC;wBAChD,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACvE,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACxD,GAAG,EAAE,IAAA,uBAAW,EAAC,uBAAuB,CAAC;gBACzC,cAAc,EAAE,IAAA,uBAAW,EAAC,4BAA4B,CAAC;gBACzD,QAAQ,EAAE,IAAA,uBAAW,EAAC,6BAA6B,CAAC;aACvD,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,IAAA,uBAAW,EAAC;oBACR,GAAG,EAAE,SAAS;oBACd,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;oBACpC,GAAG,EAAE,IAAA,uBAAW,EAAC,uBAAuB,CAAC;oBACzC,cAAc,EAAE,IAAA,uBAAW,EAAC,4BAA4B,CAAC;oBACzD,IAAI,EAAE;wBACF,IAAI,EAAE,IAAA,uBAAW,EAAC,6BAA6B,CAAC;wBAChD,IAAI,EAAE,oBAAQ,CAAC,IAAI;wBACnB,SAAS,EAAE,YAAY;qBAC1B;iBACJ,CAAC;aACL,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,WAAW,GAAG,YAAY,CAAC;YAEjC,MAAM,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAEhD,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { Logger, ShareNodeSettings, UnshareNodeSettings, ShareResult, ProtonDriv
2
2
  import { SharingAPIService } from './apiService';
3
3
  import { SharingCryptoService } from './cryptoService';
4
4
  import { SharesService, NodesService, ShareResultWithCreatorEmail } from './interface';
5
+ import { SharingCache } from './cache';
5
6
  /**
6
7
  * Provides high-level actions for managing sharing.
7
8
  *
@@ -11,11 +12,12 @@ import { SharesService, NodesService, ShareResultWithCreatorEmail } from './inte
11
12
  export declare class SharingManagement {
12
13
  private logger;
13
14
  private apiService;
15
+ private cache;
14
16
  private cryptoService;
15
17
  private account;
16
18
  private sharesService;
17
19
  private nodesService;
18
- constructor(logger: Logger, apiService: SharingAPIService, cryptoService: SharingCryptoService, account: ProtonDriveAccount, sharesService: SharesService, nodesService: NodesService);
20
+ constructor(logger: Logger, apiService: SharingAPIService, cache: SharingCache, cryptoService: SharingCryptoService, account: ProtonDriveAccount, sharesService: SharesService, nodesService: NodesService);
19
21
  getSharingInfo(nodeUid: string): Promise<ShareResultWithCreatorEmail | undefined>;
20
22
  private iterateShareInvitations;
21
23
  private iterateShareExternalInvitations;
@@ -16,19 +16,22 @@ const cryptoService_1 = require("./cryptoService");
16
16
  class SharingManagement {
17
17
  logger;
18
18
  apiService;
19
+ cache;
19
20
  cryptoService;
20
21
  account;
21
22
  sharesService;
22
23
  nodesService;
23
- constructor(logger, apiService, cryptoService, account, sharesService, nodesService) {
24
+ constructor(logger, apiService, cache, cryptoService, account, sharesService, nodesService) {
24
25
  this.logger = logger;
25
26
  this.apiService = apiService;
27
+ this.cache = cache;
26
28
  this.cryptoService = cryptoService;
27
29
  this.account = account;
28
30
  this.sharesService = sharesService;
29
31
  this.nodesService = nodesService;
30
32
  this.logger = logger;
31
33
  this.apiService = apiService;
34
+ this.cache = cache;
32
35
  this.cryptoService = cryptoService;
33
36
  this.account = account;
34
37
  this.sharesService = sharesService;
@@ -307,6 +310,9 @@ class SharingManagement {
307
310
  base64NameKeyPacket: keys.base64NameKeyPacket,
308
311
  });
309
312
  await this.nodesService.notifyNodeChanged(nodeUid);
313
+ if (await this.cache.hasSharedByMeNodeUidsLoaded()) {
314
+ await this.cache.addSharedByMeNodeUid(nodeUid);
315
+ }
310
316
  const share = {
311
317
  volumeId,
312
318
  shareId,
@@ -326,6 +332,9 @@ class SharingManagement {
326
332
  async deleteShare(shareId, nodeUid) {
327
333
  await this.apiService.deleteShare(shareId);
328
334
  await this.nodesService.notifyNodeChanged(nodeUid);
335
+ if (await this.cache.hasSharedByMeNodeUidsLoaded()) {
336
+ await this.cache.removeSharedByMeNodeUid(nodeUid);
337
+ }
329
338
  }
330
339
  async inviteProtonUser(inviter, share, inviteeEmail, role, emailOptions) {
331
340
  const invitationCrypto = await this.cryptoService.encryptInvitation(share.passphraseSessionKey, inviter.addressKey, inviteeEmail);
@@ -1 +1 @@
1
- {"version":3,"file":"sharingManagement.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingManagement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sharingManagement.js","sourceRoot":"","sources":["../../../src/internal/sharing/sharingManagement.ts"],"names":[],"mappings":"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"}