@secrecy/lib 1.0.0-dev.27 → 1.0.0-dev.28

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 (154) hide show
  1. package/dist/BaseClient.d.ts +274 -0
  2. package/dist/BaseClient.js +2227 -0
  3. package/dist/PopupTools.d.ts +17 -0
  4. package/dist/PopupTools.js +213 -0
  5. package/dist/ZeusThunder.d.ts +2 -0
  6. package/dist/ZeusThunder.js +113 -0
  7. package/dist/cache.d.ts +7 -0
  8. package/dist/cache.js +5 -0
  9. package/dist/client/admin/index.d.ts +11 -0
  10. package/dist/client/admin/index.js +198 -0
  11. package/dist/client/convert/file.d.ts +5 -0
  12. package/dist/client/convert/file.js +39 -0
  13. package/dist/client/convert/folder.d.ts +8 -0
  14. package/dist/client/convert/folder.js +264 -0
  15. package/dist/client/convert/mail.d.ts +3 -0
  16. package/dist/client/convert/mail.js +46 -0
  17. package/dist/client/convert/vFile.d.ts +5 -0
  18. package/dist/client/convert/vFile.js +164 -0
  19. package/dist/client/helpers.d.ts +23 -0
  20. package/dist/client/helpers.js +114 -0
  21. package/dist/client/index.d.ts +172 -0
  22. package/dist/client/index.js +6169 -0
  23. package/dist/client/storage.d.ts +7 -0
  24. package/dist/client/storage.js +12 -0
  25. package/dist/client/types/File.d.ts +21 -0
  26. package/dist/client/types/File.js +3 -0
  27. package/dist/client/types/FilesOnUsersOnApplications.d.ts +9 -0
  28. package/dist/client/types/FilesOnUsersOnApplications.js +3 -0
  29. package/dist/client/types/Folder.d.ts +68 -0
  30. package/dist/client/types/Folder.js +7 -0
  31. package/dist/client/types/Inputs.d.ts +21 -0
  32. package/dist/client/types/Inputs.js +3 -0
  33. package/dist/client/types/UserAppNotifications.d.ts +6 -0
  34. package/dist/client/types/UserAppNotifications.js +3 -0
  35. package/dist/client/types/UserAppSettings.d.ts +7 -0
  36. package/dist/client/types/UserAppSettings.js +3 -0
  37. package/dist/client/types/VFile.d.ts +62 -0
  38. package/dist/client/types/VFile.js +4 -0
  39. package/dist/client/types/index.d.ts +154 -0
  40. package/dist/client/types/index.js +10 -0
  41. package/dist/client/types/queries.d.ts +535 -0
  42. package/dist/client/types/queries.js +192 -0
  43. package/dist/crypto/file.d.ts +14 -0
  44. package/dist/crypto/file.js +291 -0
  45. package/dist/crypto/index.d.ts +12 -0
  46. package/dist/crypto/index.js +45 -0
  47. package/dist/error.d.ts +30 -0
  48. package/dist/error.js +3 -0
  49. package/dist/index.d.ts +13 -3857
  50. package/dist/index.js +42 -255
  51. package/dist/minify/index.d.ts +2 -0
  52. package/dist/minify/index.js +28 -0
  53. package/dist/minify/lz4.d.ts +5 -0
  54. package/dist/minify/lz4.js +633 -0
  55. package/dist/sodium.d.ts +3 -0
  56. package/dist/sodium.js +28 -0
  57. package/dist/utils/store-buddy.d.ts +14 -0
  58. package/dist/utils/store-buddy.js +69 -0
  59. package/dist/utils/time.d.ts +10 -0
  60. package/dist/utils/time.js +22 -0
  61. package/dist/utils.d.ts +4 -0
  62. package/dist/utils.js +188 -0
  63. package/dist/worker/__mock__/sodium.worker.d.ts +19 -0
  64. package/dist/worker/__mock__/sodium.worker.js +46 -0
  65. package/dist/worker/md5.d.ts +1 -0
  66. package/dist/worker/md5.js +43 -0
  67. package/dist/worker/sodium.d.ts +3 -0
  68. package/dist/worker/sodium.js +155 -0
  69. package/dist/worker/workerCodes.d.ts +2 -0
  70. package/dist/worker/workerCodes.js +3 -0
  71. package/dist/zeus/const.d.ts +2 -0
  72. package/dist/zeus/const.js +2267 -0
  73. package/dist/zeus/index.d.ts +4043 -0
  74. package/dist/zeus/index.js +549 -0
  75. package/package.json +23 -14
  76. package/__tests__/client/client.test.ts +0 -81
  77. package/__tests__/client/folder.test.ts +0 -302
  78. package/__tests__/client/mail.test.ts +0 -476
  79. package/__tests__/client/timing.test.ts +0 -35
  80. package/__tests__/client/utils.ts +0 -41
  81. package/__tests__/client/vFile.test.ts +0 -207
  82. package/__tests__/index.test.ts +0 -171
  83. package/commitlint.config.cjs +0 -3
  84. package/dist/index.js.map +0 -1
  85. package/dist/index.mjs +0 -255
  86. package/dist/index.mjs.map +0 -1
  87. package/docs/assets/css/main.css +0 -2660
  88. package/docs/assets/images/icons.png +0 -0
  89. package/docs/assets/images/icons@2x.png +0 -0
  90. package/docs/assets/images/widgets.png +0 -0
  91. package/docs/assets/images/widgets@2x.png +0 -0
  92. package/docs/assets/js/main.js +0 -248
  93. package/docs/assets/js/search.js +0 -1
  94. package/docs/classes/baseclient.baseclient-1.html +0 -1165
  95. package/docs/classes/client.secrecyclient.html +0 -2527
  96. package/docs/enums/index.sodium.base64_variants.html +0 -205
  97. package/docs/index.html +0 -198
  98. package/docs/interfaces/client_types.draftmail.html +0 -335
  99. package/docs/interfaces/client_types.filecontentbase.html +0 -231
  100. package/docs/interfaces/client_types.filecontentcloud.html +0 -244
  101. package/docs/interfaces/client_types.filecontentreceivedmail.html +0 -244
  102. package/docs/interfaces/client_types.filecontentsentmail.html +0 -230
  103. package/docs/interfaces/client_types.receivedmail.html +0 -363
  104. package/docs/interfaces/client_types.sentmail.html +0 -335
  105. package/docs/interfaces/crypto.keypair.html +0 -202
  106. package/docs/interfaces/index.sodium.cryptobox.html +0 -185
  107. package/docs/interfaces/index.sodium.cryptokx.html +0 -185
  108. package/docs/interfaces/index.sodium.keypair.html +0 -199
  109. package/docs/interfaces/index.sodium.messagetag.html +0 -185
  110. package/docs/interfaces/index.sodium.secretbox.html +0 -185
  111. package/docs/interfaces/index.sodium.stateaddress.html +0 -171
  112. package/docs/interfaces/index.sodium.stringcryptobox.html +0 -185
  113. package/docs/interfaces/index.sodium.stringcryptokx.html +0 -185
  114. package/docs/interfaces/index.sodium.stringkeypair.html +0 -199
  115. package/docs/interfaces/index.sodium.stringmessagetag.html +0 -185
  116. package/docs/interfaces/index.sodium.stringsecretbox.html +0 -185
  117. package/docs/interfaces/utils_store_buddy.storebuddy.html +0 -333
  118. package/docs/modules/baseclient.html +0 -929
  119. package/docs/modules/cache.html +0 -185
  120. package/docs/modules/client.html +0 -207
  121. package/docs/modules/client_convert_file.html +0 -216
  122. package/docs/modules/client_convert_folder.html +0 -303
  123. package/docs/modules/client_convert_vfile.html +0 -216
  124. package/docs/modules/client_helpers.html +0 -311
  125. package/docs/modules/client_storage.html +0 -167
  126. package/docs/modules/client_types.html +0 -1227
  127. package/docs/modules/client_types_file.html +0 -233
  128. package/docs/modules/client_types_filesonusersonapplications.html +0 -168
  129. package/docs/modules/client_types_folder.html +0 -383
  130. package/docs/modules/client_types_inputs.html +0 -263
  131. package/docs/modules/client_types_mail.html +0 -181
  132. package/docs/modules/client_types_queries.html +0 -199
  133. package/docs/modules/client_types_userappsettings.html +0 -163
  134. package/docs/modules/client_types_vfile.html +0 -364
  135. package/docs/modules/crypto.html +0 -366
  136. package/docs/modules/crypto_file.html +0 -344
  137. package/docs/modules/index.html +0 -779
  138. package/docs/modules/index.sodium.html +0 -6039
  139. package/docs/modules/minify.html +0 -183
  140. package/docs/modules/minify_lz4.html +0 -279
  141. package/docs/modules/popuptools.html +0 -259
  142. package/docs/modules/sodium.html +0 -167
  143. package/docs/modules/utils.html +0 -219
  144. package/docs/modules/utils_store_buddy.html +0 -208
  145. package/docs/modules/utils_time.html +0 -330
  146. package/docs/modules/worker_md5.html +0 -156
  147. package/docs/modules/worker_sodium.html +0 -231
  148. package/docs/modules/worker_workercodes.html +0 -157
  149. package/docs/modules.html +0 -235
  150. package/index.html +0 -21
  151. package/jest.config.ts +0 -27
  152. package/jest.setup.ts +0 -6
  153. package/release.config.cjs +0 -15
  154. package/tsup.config.ts +0 -26
@@ -0,0 +1,39 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
+
7
+ import { filesCache } from "../../cache.js";
8
+ import { decryptCryptoBox } from "../../crypto/index.js";
9
+ import { sodium } from "../../sodium.js";
10
+ export function gqlFileToInternal(gql, keyPair) {
11
+ var _gql$user;
12
+
13
+ var file = _objectSpread(_objectSpread({}, gql), {}, {
14
+ createdAt: new Date(gql.createdAt),
15
+ size: BigInt(gql.size),
16
+ sizeBefore: BigInt(gql.sizeBefore),
17
+ user: null
18
+ });
19
+
20
+ if ((_gql$user = gql.user) != null && _gql$user.userApp.keyPair) {
21
+ file.user = _objectSpread(_objectSpread({}, gql.user), {}, {
22
+ key: sodium.to_hex(decryptCryptoBox(sodium.from_hex(gql.user.key), gql.user.userApp.keyPair.pub, keyPair.privateKey))
23
+ });
24
+ }
25
+
26
+ filesCache.set(file.id, file);
27
+ return file;
28
+ }
29
+ export function internalFileToFile(internal) {
30
+ var file = _objectSpread({}, internal); // @ts-ignore
31
+
32
+
33
+ delete file.user;
34
+ return file;
35
+ }
36
+ export function gqlFileToExternal(gql, keyPair) {
37
+ return internalFileToFile(gqlFileToInternal(gql, keyPair));
38
+ }
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9maWxlLnRzIl0sIm5hbWVzIjpbImZpbGVzQ2FjaGUiLCJkZWNyeXB0Q3J5cHRvQm94Iiwic29kaXVtIiwiZ3FsRmlsZVRvSW50ZXJuYWwiLCJncWwiLCJrZXlQYWlyIiwiZmlsZSIsImNyZWF0ZWRBdCIsIkRhdGUiLCJzaXplIiwiQmlnSW50Iiwic2l6ZUJlZm9yZSIsInVzZXIiLCJ1c2VyQXBwIiwia2V5IiwidG9faGV4IiwiZnJvbV9oZXgiLCJwdWIiLCJwcml2YXRlS2V5Iiwic2V0IiwiaWQiLCJpbnRlcm5hbEZpbGVUb0ZpbGUiLCJpbnRlcm5hbCIsImdxbEZpbGVUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxTQUFTQSxVQUFULFFBQTJCLGdCQUEzQjtBQUVBLFNBQVNDLGdCQUFULFFBQWlDLHVCQUFqQztBQUNBLFNBQVNDLE1BQVQsUUFBdUIsaUJBQXZCO0FBR0EsT0FBTyxTQUFTQyxpQkFBVCxDQUNMQyxHQURLLEVBRUxDLE9BRkssRUFHUztBQUFBOztBQUNkLE1BQU1DLElBQWtCLG1DQUNuQkYsR0FEbUI7QUFFdEJHLElBQUFBLFNBQVMsRUFBRSxJQUFJQyxJQUFKLENBQVNKLEdBQUcsQ0FBQ0csU0FBYixDQUZXO0FBR3RCRSxJQUFBQSxJQUFJLEVBQUVDLE1BQU0sQ0FBQ04sR0FBRyxDQUFDSyxJQUFMLENBSFU7QUFJdEJFLElBQUFBLFVBQVUsRUFBRUQsTUFBTSxDQUFDTixHQUFHLENBQUNPLFVBQUwsQ0FKSTtBQUt0QkMsSUFBQUEsSUFBSSxFQUFFO0FBTGdCLElBQXhCOztBQVFBLG1CQUFJUixHQUFHLENBQUNRLElBQVIsYUFBSSxVQUFVQyxPQUFWLENBQWtCUixPQUF0QixFQUErQjtBQUM3QkMsSUFBQUEsSUFBSSxDQUFDTSxJQUFMLG1DQUNLUixHQUFHLENBQUNRLElBRFQ7QUFFRUUsTUFBQUEsR0FBRyxFQUFFWixNQUFNLENBQUNhLE1BQVAsQ0FDSGQsZ0JBQWdCLENBQ2RDLE1BQU0sQ0FBQ2MsUUFBUCxDQUFnQlosR0FBRyxDQUFDUSxJQUFKLENBQVNFLEdBQXpCLENBRGMsRUFFZFYsR0FBRyxDQUFDUSxJQUFKLENBQVNDLE9BQVQsQ0FBaUJSLE9BQWpCLENBQXlCWSxHQUZYLEVBR2RaLE9BQU8sQ0FBQ2EsVUFITSxDQURiO0FBRlA7QUFVRDs7QUFDRGxCLEVBQUFBLFVBQVUsQ0FBQ21CLEdBQVgsQ0FBZWIsSUFBSSxDQUFDYyxFQUFwQixFQUF3QmQsSUFBeEI7QUFDQSxTQUFPQSxJQUFQO0FBQ0Q7QUFFRCxPQUFPLFNBQVNlLGtCQUFULENBQTRCQyxRQUE1QixFQUEwRDtBQUMvRCxNQUFNaEIsSUFBVSxxQkFBUWdCLFFBQVIsQ0FBaEIsQ0FEK0QsQ0FFL0Q7OztBQUNBLFNBQU9oQixJQUFJLENBQUNNLElBQVo7QUFDQSxTQUFPTixJQUFQO0FBQ0Q7QUFFRCxPQUFPLFNBQVNpQixpQkFBVCxDQUEyQm5CLEdBQTNCLEVBQXlDQyxPQUF6QyxFQUFpRTtBQUN0RSxTQUFPZ0Isa0JBQWtCLENBQUNsQixpQkFBaUIsQ0FBQ0MsR0FBRCxFQUFNQyxPQUFOLENBQWxCLENBQXpCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWxlc0NhY2hlIH0gZnJvbSBcIi4uLy4uL2NhY2hlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBkZWNyeXB0Q3J5cHRvQm94IH0gZnJvbSBcIi4uLy4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uLy4uL3NvZGl1bS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBHUUxGaWxlLCBJbnRlcm5hbEZpbGUsIEZpbGUgfSBmcm9tIFwiLi4vdHlwZXMvaW5kZXguanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdxbEZpbGVUb0ludGVybmFsKFxuICBncWw6IEdRTEZpbGUsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IEludGVybmFsRmlsZSB7XG4gIGNvbnN0IGZpbGU6IEludGVybmFsRmlsZSA9IHtcbiAgICAuLi5ncWwsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShncWwuY3JlYXRlZEF0KSxcbiAgICBzaXplOiBCaWdJbnQoZ3FsLnNpemUpLFxuICAgIHNpemVCZWZvcmU6IEJpZ0ludChncWwuc2l6ZUJlZm9yZSksXG4gICAgdXNlcjogbnVsbFxuICB9O1xuXG4gIGlmIChncWwudXNlcj8udXNlckFwcC5rZXlQYWlyKSB7XG4gICAgZmlsZS51c2VyID0ge1xuICAgICAgLi4uZ3FsLnVzZXIsXG4gICAgICBrZXk6IHNvZGl1bS50b19oZXgoXG4gICAgICAgIGRlY3J5cHRDcnlwdG9Cb3goXG4gICAgICAgICAgc29kaXVtLmZyb21faGV4KGdxbC51c2VyLmtleSksXG4gICAgICAgICAgZ3FsLnVzZXIudXNlckFwcC5rZXlQYWlyLnB1YixcbiAgICAgICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIH07XG4gIH1cbiAgZmlsZXNDYWNoZS5zZXQoZmlsZS5pZCwgZmlsZSk7XG4gIHJldHVybiBmaWxlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW50ZXJuYWxGaWxlVG9GaWxlKGludGVybmFsOiBJbnRlcm5hbEZpbGUpOiBGaWxlIHtcbiAgY29uc3QgZmlsZTogRmlsZSA9IHsgLi4uaW50ZXJuYWwgfTtcbiAgLy8gQHRzLWlnbm9yZVxuICBkZWxldGUgZmlsZS51c2VyO1xuICByZXR1cm4gZmlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdxbEZpbGVUb0V4dGVybmFsKGdxbDogR1FMRmlsZSwga2V5UGFpcjogS2V5UGFpcik6IEZpbGUge1xuICByZXR1cm4gaW50ZXJuYWxGaWxlVG9GaWxlKGdxbEZpbGVUb0ludGVybmFsKGdxbCwga2V5UGFpcikpO1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ import type { KeyPair } from "../../crypto/index.js";
2
+ import type { GQLFolder, InternalFolder, Folder, GQLFolderFull, InternalFolderFull, FolderFull } from "../types/index.js";
3
+ export declare function gqlFolderToInternal(gql: GQLFolder, keyPair: KeyPair): Promise<InternalFolder>;
4
+ export declare function gqlFolderFullToInternalFull(gql: GQLFolderFull, keyPair: KeyPair): Promise<InternalFolderFull>;
5
+ export declare function internalFolderToFolder(internal: InternalFolder): Folder;
6
+ export declare function internalFolderFullToFolderFull(internal: InternalFolderFull): FolderFull;
7
+ export declare function gqlFolderToExternalFolderFull(gql: GQLFolderFull, keyPair: KeyPair): Promise<FolderFull>;
8
+ export declare function gqlFolderToExternal(gql: GQLFolder, keyPair: KeyPair): Promise<Folder>;
@@ -0,0 +1,264 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+
5
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+
7
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
8
+
9
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
+
11
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
+
13
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+
15
+ import { sodium } from "../../sodium.js";
16
+ import { decryptCryptoBox } from "../../crypto/index.js";
17
+ import { gqlVFileToInternal, internalVFileToVFile } from "./vFile.js";
18
+ import { foldersCache } from "../../cache.js";
19
+ import { decryptSecretstream } from "../../crypto/file.js";
20
+ export function gqlFolderToInternal(_x, _x2) {
21
+ return _gqlFolderToInternal.apply(this, arguments);
22
+ }
23
+
24
+ function _gqlFolderToInternal() {
25
+ _gqlFolderToInternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(gql, keyPair) {
26
+ var internal, key, _iterator2, _step2, b, _key;
27
+
28
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
29
+ while (1) {
30
+ switch (_context.prev = _context.next) {
31
+ case 0:
32
+ if (gql.userApp) {
33
+ _context.next = 2;
34
+ break;
35
+ }
36
+
37
+ throw "Can't access folder " + gql.id;
38
+
39
+ case 2:
40
+ internal = {
41
+ id: gql.id,
42
+ userApp: gql.userApp,
43
+ name: gql.name,
44
+ isFavorite: gql.isFavorite,
45
+ breadcrumb: gql.breadcrumb,
46
+ createdBy: gql.createdBy.user,
47
+ createdAt: new Date(gql.createdAt),
48
+ updatedAt: new Date(gql.updatedAt),
49
+ deletedAt: gql.deletedAt ? new Date(gql.deletedAt) : null,
50
+ users: gql.userApps.map(function (u) {
51
+ return [u.userApp.user, u.rights];
52
+ })
53
+ };
54
+ internal.userApp = _objectSpread({}, gql.userApp);
55
+
56
+ if (!gql.userApp.nameKey) {
57
+ _context.next = 12;
58
+ break;
59
+ }
60
+
61
+ key = decryptCryptoBox(sodium.from_hex(gql.userApp.nameKey), gql.createdBy.user.publicKey, keyPair.privateKey);
62
+ _context.t0 = sodium;
63
+ _context.next = 9;
64
+ return decryptSecretstream(key, sodium.from_hex(internal.name));
65
+
66
+ case 9:
67
+ _context.t1 = _context.sent;
68
+ internal.name = _context.t0.to_string.call(_context.t0, _context.t1);
69
+ internal.userApp.nameKey = sodium.to_hex(key);
70
+
71
+ case 12:
72
+ _iterator2 = _createForOfIteratorHelperLoose(internal.breadcrumb);
73
+
74
+ case 13:
75
+ if ((_step2 = _iterator2()).done) {
76
+ _context.next = 26;
77
+ break;
78
+ }
79
+
80
+ b = _step2.value;
81
+
82
+ if (b.nameKey) {
83
+ _context.next = 17;
84
+ break;
85
+ }
86
+
87
+ return _context.abrupt("continue", 24);
88
+
89
+ case 17:
90
+ _key = decryptCryptoBox(sodium.from_hex(b.nameKey), b.pubKey, keyPair.privateKey);
91
+ b.nameKey = sodium.to_hex(_key);
92
+ _context.t2 = sodium;
93
+ _context.next = 22;
94
+ return decryptSecretstream(_key, sodium.from_hex(b.name));
95
+
96
+ case 22:
97
+ _context.t3 = _context.sent;
98
+ b.name = _context.t2.to_string.call(_context.t2, _context.t3);
99
+
100
+ case 24:
101
+ _context.next = 13;
102
+ break;
103
+
104
+ case 26:
105
+ foldersCache.set(internal.id, internal);
106
+ return _context.abrupt("return", internal);
107
+
108
+ case 28:
109
+ case "end":
110
+ return _context.stop();
111
+ }
112
+ }
113
+ }, _callee);
114
+ }));
115
+ return _gqlFolderToInternal.apply(this, arguments);
116
+ }
117
+
118
+ export function gqlFolderFullToInternalFull(_x3, _x4) {
119
+ return _gqlFolderFullToInternalFull.apply(this, arguments);
120
+ }
121
+
122
+ function _gqlFolderFullToInternalFull() {
123
+ _gqlFolderFullToInternalFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(gql, keyPair) {
124
+ var f;
125
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
126
+ while (1) {
127
+ switch (_context2.prev = _context2.next) {
128
+ case 0:
129
+ _context2.next = 2;
130
+ return gqlFolderToInternal(gql, keyPair);
131
+
132
+ case 2:
133
+ f = _context2.sent;
134
+ _context2.t0 = _objectSpread;
135
+ _context2.t1 = _objectSpread({}, f);
136
+ _context2.t2 = {};
137
+ _context2.next = 8;
138
+ return Promise.all(gql.vFiles.filter(function (f) {
139
+ return f.userApp;
140
+ }).map(function (vFile) {
141
+ return gqlVFileToInternal(vFile, keyPair);
142
+ }));
143
+
144
+ case 8:
145
+ _context2.t3 = _context2.sent;
146
+
147
+ if (!gql.parentFolder) {
148
+ _context2.next = 15;
149
+ break;
150
+ }
151
+
152
+ _context2.next = 12;
153
+ return gqlFolderToInternal(gql.parentFolder, keyPair);
154
+
155
+ case 12:
156
+ _context2.t4 = _context2.sent;
157
+ _context2.next = 16;
158
+ break;
159
+
160
+ case 15:
161
+ _context2.t4 = null;
162
+
163
+ case 16:
164
+ _context2.t5 = _context2.t4;
165
+ _context2.next = 19;
166
+ return Promise.all(gql.subfolders.map(function (s) {
167
+ return gqlFolderToInternal(s, keyPair);
168
+ }));
169
+
170
+ case 19:
171
+ _context2.t6 = _context2.sent;
172
+ _context2.t7 = {
173
+ vFiles: _context2.t3,
174
+ parentFolder: _context2.t5,
175
+ subfolders: _context2.t6
176
+ };
177
+ return _context2.abrupt("return", (0, _context2.t0)(_context2.t1, _context2.t2, _context2.t7));
178
+
179
+ case 22:
180
+ case "end":
181
+ return _context2.stop();
182
+ }
183
+ }
184
+ }, _callee2);
185
+ }));
186
+ return _gqlFolderFullToInternalFull.apply(this, arguments);
187
+ }
188
+
189
+ export function internalFolderToFolder(internal) {
190
+ var folder = _objectSpread({}, internal);
191
+
192
+ for (var _iterator = _createForOfIteratorHelperLoose(folder.breadcrumb), _step; !(_step = _iterator()).done;) {
193
+ var b = _step.value;
194
+ // @ts-ignore
195
+ delete b.nameKey;
196
+ } // @ts-ignore
197
+
198
+
199
+ delete folder.nameKey;
200
+ return folder;
201
+ }
202
+ export function internalFolderFullToFolderFull(internal) {
203
+ return _objectSpread(_objectSpread({}, internalFolderToFolder(internal)), {}, {
204
+ vFiles: internal.vFiles.map(internalVFileToVFile),
205
+ parentFolder: internal.parentFolder ? internalFolderToFolder(internal.parentFolder) : null,
206
+ subfolders: internal.subfolders.map(internalFolderToFolder)
207
+ });
208
+ }
209
+ export function gqlFolderToExternalFolderFull(_x5, _x6) {
210
+ return _gqlFolderToExternalFolderFull.apply(this, arguments);
211
+ }
212
+
213
+ function _gqlFolderToExternalFolderFull() {
214
+ _gqlFolderToExternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(gql, keyPair) {
215
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
216
+ while (1) {
217
+ switch (_context3.prev = _context3.next) {
218
+ case 0:
219
+ _context3.t0 = internalFolderFullToFolderFull;
220
+ _context3.next = 3;
221
+ return gqlFolderFullToInternalFull(gql, keyPair);
222
+
223
+ case 3:
224
+ _context3.t1 = _context3.sent;
225
+ return _context3.abrupt("return", (0, _context3.t0)(_context3.t1));
226
+
227
+ case 5:
228
+ case "end":
229
+ return _context3.stop();
230
+ }
231
+ }
232
+ }, _callee3);
233
+ }));
234
+ return _gqlFolderToExternalFolderFull.apply(this, arguments);
235
+ }
236
+
237
+ export function gqlFolderToExternal(_x7, _x8) {
238
+ return _gqlFolderToExternal.apply(this, arguments);
239
+ }
240
+
241
+ function _gqlFolderToExternal() {
242
+ _gqlFolderToExternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(gql, keyPair) {
243
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
244
+ while (1) {
245
+ switch (_context4.prev = _context4.next) {
246
+ case 0:
247
+ _context4.t0 = internalFolderToFolder;
248
+ _context4.next = 3;
249
+ return gqlFolderToInternal(gql, keyPair);
250
+
251
+ case 3:
252
+ _context4.t1 = _context4.sent;
253
+ return _context4.abrupt("return", (0, _context4.t0)(_context4.t1));
254
+
255
+ case 5:
256
+ case "end":
257
+ return _context4.stop();
258
+ }
259
+ }
260
+ }, _callee4);
261
+ }));
262
+ return _gqlFolderToExternal.apply(this, arguments);
263
+ }
264
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9mb2xkZXIudHMiXSwibmFtZXMiOlsic29kaXVtIiwiZGVjcnlwdENyeXB0b0JveCIsImdxbFZGaWxlVG9JbnRlcm5hbCIsImludGVybmFsVkZpbGVUb1ZGaWxlIiwiZm9sZGVyc0NhY2hlIiwiZGVjcnlwdFNlY3JldHN0cmVhbSIsImdxbEZvbGRlclRvSW50ZXJuYWwiLCJncWwiLCJrZXlQYWlyIiwidXNlckFwcCIsImlkIiwiaW50ZXJuYWwiLCJuYW1lIiwiaXNGYXZvcml0ZSIsImJyZWFkY3J1bWIiLCJjcmVhdGVkQnkiLCJ1c2VyIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInVwZGF0ZWRBdCIsImRlbGV0ZWRBdCIsInVzZXJzIiwidXNlckFwcHMiLCJtYXAiLCJ1IiwicmlnaHRzIiwibmFtZUtleSIsImtleSIsImZyb21faGV4IiwicHVibGljS2V5IiwicHJpdmF0ZUtleSIsInRvX3N0cmluZyIsInRvX2hleCIsImIiLCJwdWJLZXkiLCJzZXQiLCJncWxGb2xkZXJGdWxsVG9JbnRlcm5hbEZ1bGwiLCJmIiwiUHJvbWlzZSIsImFsbCIsInZGaWxlcyIsImZpbHRlciIsInZGaWxlIiwicGFyZW50Rm9sZGVyIiwic3ViZm9sZGVycyIsInMiLCJpbnRlcm5hbEZvbGRlclRvRm9sZGVyIiwiZm9sZGVyIiwiaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsIiwiZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwiLCJncWxGb2xkZXJUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQVQsUUFBdUIsaUJBQXZCO0FBRUEsU0FBU0MsZ0JBQVQsUUFBaUMsdUJBQWpDO0FBU0EsU0FBU0Msa0JBQVQsRUFBNkJDLG9CQUE3QixRQUF5RCxZQUF6RDtBQUNBLFNBQVNDLFlBQVQsUUFBNkIsZ0JBQTdCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0Msc0JBQXBDO0FBRUEsZ0JBQXNCQyxtQkFBdEI7QUFBQTtBQUFBOzs7a0ZBQU8saUJBQ0xDLEdBREssRUFFTEMsT0FGSztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsZ0JBSUFELEdBQUcsQ0FBQ0UsT0FKSjtBQUFBO0FBQUE7QUFBQTs7QUFBQSwyQ0FLMEJGLEdBQUcsQ0FBQ0csRUFMOUI7O0FBQUE7QUFPQ0MsWUFBQUEsUUFQRCxHQU80QjtBQUMvQkQsY0FBQUEsRUFBRSxFQUFFSCxHQUFHLENBQUNHLEVBRHVCO0FBRS9CRCxjQUFBQSxPQUFPLEVBQUVGLEdBQUcsQ0FBQ0UsT0FGa0I7QUFHL0JHLGNBQUFBLElBQUksRUFBRUwsR0FBRyxDQUFDSyxJQUhxQjtBQUkvQkMsY0FBQUEsVUFBVSxFQUFFTixHQUFHLENBQUNNLFVBSmU7QUFLL0JDLGNBQUFBLFVBQVUsRUFBRVAsR0FBRyxDQUFDTyxVQUxlO0FBTS9CQyxjQUFBQSxTQUFTLEVBQUVSLEdBQUcsQ0FBQ1EsU0FBSixDQUFjQyxJQU5NO0FBTy9CQyxjQUFBQSxTQUFTLEVBQUUsSUFBSUMsSUFBSixDQUFTWCxHQUFHLENBQUNVLFNBQWIsQ0FQb0I7QUFRL0JFLGNBQUFBLFNBQVMsRUFBRSxJQUFJRCxJQUFKLENBQVNYLEdBQUcsQ0FBQ1ksU0FBYixDQVJvQjtBQVMvQkMsY0FBQUEsU0FBUyxFQUFFYixHQUFHLENBQUNhLFNBQUosR0FBZ0IsSUFBSUYsSUFBSixDQUFTWCxHQUFHLENBQUNhLFNBQWIsQ0FBaEIsR0FBMEMsSUFUdEI7QUFVL0JDLGNBQUFBLEtBQUssRUFBRWQsR0FBRyxDQUFDZSxRQUFKLENBQWFDLEdBQWIsQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLHVCQUFJLENBQUNBLENBQUMsQ0FBQ2YsT0FBRixDQUFVTyxJQUFYLEVBQWlCUSxDQUFDLENBQUNDLE1BQW5CLENBQUo7QUFBQSxlQUFsQjtBQVZ3QixhQVA1QjtBQW9CTGQsWUFBQUEsUUFBUSxDQUFDRixPQUFULHFCQUF3QkYsR0FBRyxDQUFDRSxPQUE1Qjs7QUFwQkssaUJBc0JERixHQUFHLENBQUNFLE9BQUosQ0FBWWlCLE9BdEJYO0FBQUE7QUFBQTtBQUFBOztBQXVCR0MsWUFBQUEsR0F2QkgsR0F1QlMxQixnQkFBZ0IsQ0FDMUJELE1BQU0sQ0FBQzRCLFFBQVAsQ0FBZ0JyQixHQUFHLENBQUNFLE9BQUosQ0FBWWlCLE9BQTVCLENBRDBCLEVBRTFCbkIsR0FBRyxDQUFDUSxTQUFKLENBQWNDLElBQWQsQ0FBbUJhLFNBRk8sRUFHMUJyQixPQUFPLENBQUNzQixVQUhrQixDQXZCekI7QUFBQSwwQkE0QmE5QixNQTVCYjtBQUFBO0FBQUEsbUJBNkJLSyxtQkFBbUIsQ0FBQ3NCLEdBQUQsRUFBTTNCLE1BQU0sQ0FBQzRCLFFBQVAsQ0FBZ0JqQixRQUFRLENBQUNDLElBQXpCLENBQU4sQ0E3QnhCOztBQUFBO0FBQUE7QUE0QkhELFlBQUFBLFFBQVEsQ0FBQ0MsSUE1Qk4sZUE0Qm9CbUIsU0E1QnBCO0FBZ0NIcEIsWUFBQUEsUUFBUSxDQUFDRixPQUFULENBQWlCaUIsT0FBakIsR0FBMkIxQixNQUFNLENBQUNnQyxNQUFQLENBQWNMLEdBQWQsQ0FBM0I7O0FBaENHO0FBQUEseURBbUNXaEIsUUFBUSxDQUFDRyxVQW5DcEI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFtQ01tQixZQUFBQSxDQW5DTjs7QUFBQSxnQkFvQ0VBLENBQUMsQ0FBQ1AsT0FwQ0o7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUF1Q0dDLFlBQUFBLElBdkNILEdBdUNTMUIsZ0JBQWdCLENBQzFCRCxNQUFNLENBQUM0QixRQUFQLENBQWdCSyxDQUFDLENBQUNQLE9BQWxCLENBRDBCLEVBRTFCTyxDQUFDLENBQUNDLE1BRndCLEVBRzFCMUIsT0FBTyxDQUFDc0IsVUFIa0IsQ0F2Q3pCO0FBNENIRyxZQUFBQSxDQUFDLENBQUNQLE9BQUYsR0FBWTFCLE1BQU0sQ0FBQ2dDLE1BQVAsQ0FBY0wsSUFBZCxDQUFaO0FBNUNHLDBCQThDTTNCLE1BOUNOO0FBQUE7QUFBQSxtQkErQ0tLLG1CQUFtQixDQUFDc0IsSUFBRCxFQUFNM0IsTUFBTSxDQUFDNEIsUUFBUCxDQUFnQkssQ0FBQyxDQUFDckIsSUFBbEIsQ0FBTixDQS9DeEI7O0FBQUE7QUFBQTtBQThDSHFCLFlBQUFBLENBQUMsQ0FBQ3JCLElBOUNDLGVBOENhbUIsU0E5Q2I7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBbURMM0IsWUFBQUEsWUFBWSxDQUFDK0IsR0FBYixDQUFpQnhCLFFBQVEsQ0FBQ0QsRUFBMUIsRUFBOEJDLFFBQTlCO0FBbkRLLDZDQW9ERUEsUUFwREY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQXVEUCxnQkFBc0J5QiwyQkFBdEI7QUFBQTtBQUFBOzs7MEZBQU8sa0JBQ0w3QixHQURLLEVBRUxDLE9BRks7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFJV0YsbUJBQW1CLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUo5Qjs7QUFBQTtBQUlDNkIsWUFBQUEsQ0FKRDtBQUFBO0FBQUEsNkNBTUFBLENBTkE7QUFBQTtBQUFBO0FBQUEsbUJBT1dDLE9BQU8sQ0FBQ0MsR0FBUixDQUNaaEMsR0FBRyxDQUFDaUMsTUFBSixDQUNHQyxNQURILENBQ1UsVUFBQUosQ0FBQztBQUFBLHFCQUFJQSxDQUFDLENBQUM1QixPQUFOO0FBQUEsYUFEWCxFQUVHYyxHQUZILENBRU8sVUFBQW1CLEtBQUs7QUFBQSxxQkFBSXhDLGtCQUFrQixDQUFDd0MsS0FBRCxFQUFRbEMsT0FBUixDQUF0QjtBQUFBLGFBRlosQ0FEWSxDQVBYOztBQUFBO0FBQUE7O0FBQUEsaUJBWVdELEdBQUcsQ0FBQ29DLFlBWmY7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxtQkFhT3JDLG1CQUFtQixDQUFDQyxHQUFHLENBQUNvQyxZQUFMLEVBQW1CbkMsT0FBbkIsQ0FiMUI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSwyQkFjQyxJQWREOztBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQWVlOEIsT0FBTyxDQUFDQyxHQUFSLENBQ2hCaEMsR0FBRyxDQUFDcUMsVUFBSixDQUFlckIsR0FBZixDQUFtQixVQUFBc0IsQ0FBQztBQUFBLHFCQUFJdkMsbUJBQW1CLENBQUN1QyxDQUFELEVBQUlyQyxPQUFKLENBQXZCO0FBQUEsYUFBcEIsQ0FEZ0IsQ0FmZjs7QUFBQTtBQUFBO0FBQUE7QUFPSGdDLGNBQUFBLE1BUEc7QUFZSEcsY0FBQUEsWUFaRztBQWVIQyxjQUFBQSxVQWZHO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBcUJQLE9BQU8sU0FBU0Usc0JBQVQsQ0FBZ0NuQyxRQUFoQyxFQUFrRTtBQUN2RSxNQUFNb0MsTUFBYyxxQkFDZnBDLFFBRGUsQ0FBcEI7O0FBSUEsdURBQWdCb0MsTUFBTSxDQUFDakMsVUFBdkIsd0NBQW1DO0FBQUEsUUFBeEJtQixDQUF3QjtBQUNqQztBQUNBLFdBQU9BLENBQUMsQ0FBQ1AsT0FBVDtBQUNELEdBUnNFLENBU3ZFOzs7QUFDQSxTQUFPcUIsTUFBTSxDQUFDckIsT0FBZDtBQUNBLFNBQU9xQixNQUFQO0FBQ0Q7QUFFRCxPQUFPLFNBQVNDLDhCQUFULENBQ0xyQyxRQURLLEVBRU87QUFDWix5Q0FDS21DLHNCQUFzQixDQUFDbkMsUUFBRCxDQUQzQjtBQUVFNkIsSUFBQUEsTUFBTSxFQUFFN0IsUUFBUSxDQUFDNkIsTUFBVCxDQUFnQmpCLEdBQWhCLENBQW9CcEIsb0JBQXBCLENBRlY7QUFHRXdDLElBQUFBLFlBQVksRUFBRWhDLFFBQVEsQ0FBQ2dDLFlBQVQsR0FDVkcsc0JBQXNCLENBQUNuQyxRQUFRLENBQUNnQyxZQUFWLENBRFosR0FFVixJQUxOO0FBTUVDLElBQUFBLFVBQVUsRUFBRWpDLFFBQVEsQ0FBQ2lDLFVBQVQsQ0FBb0JyQixHQUFwQixDQUF3QnVCLHNCQUF4QjtBQU5kO0FBUUQ7QUFFRCxnQkFBc0JHLDZCQUF0QjtBQUFBO0FBQUE7Ozs0RkFBTyxrQkFDTDFDLEdBREssRUFFTEMsT0FGSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBSUV3Qyw4QkFKRjtBQUFBO0FBQUEsbUJBS0daLDJCQUEyQixDQUFDN0IsR0FBRCxFQUFNQyxPQUFOLENBTDlCOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBU1AsZ0JBQXNCMEMsbUJBQXRCO0FBQUE7QUFBQTs7O2tGQUFPLGtCQUNMM0MsR0FESyxFQUVMQyxPQUZLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQkFJRXNDLHNCQUpGO0FBQUE7QUFBQSxtQkFJK0J4QyxtQkFBbUIsQ0FBQ0MsR0FBRCxFQUFNQyxPQUFOLENBSmxEOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uLy4uL3NvZGl1bS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdENyeXB0b0JveCB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgR1FMRm9sZGVyLFxuICBJbnRlcm5hbEZvbGRlcixcbiAgRm9sZGVyLFxuICBHUUxGb2xkZXJGdWxsLFxuICBJbnRlcm5hbEZvbGRlckZ1bGwsXG4gIEZvbGRlckZ1bGxcbn0gZnJvbSBcIi4uL3R5cGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBncWxWRmlsZVRvSW50ZXJuYWwsIGludGVybmFsVkZpbGVUb1ZGaWxlIH0gZnJvbSBcIi4vdkZpbGUuanNcIjtcbmltcG9ydCB7IGZvbGRlcnNDYWNoZSB9IGZyb20gXCIuLi8uLi9jYWNoZS5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdFNlY3JldHN0cmVhbSB9IGZyb20gXCIuLi8uLi9jcnlwdG8vZmlsZS5qc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyVG9JbnRlcm5hbChcbiAgZ3FsOiBHUUxGb2xkZXIsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXI+IHtcbiAgaWYgKCFncWwudXNlckFwcCkge1xuICAgIHRocm93IGBDYW4ndCBhY2Nlc3MgZm9sZGVyICR7Z3FsLmlkfWA7XG4gIH1cbiAgY29uc3QgaW50ZXJuYWw6IEludGVybmFsRm9sZGVyID0ge1xuICAgIGlkOiBncWwuaWQsXG4gICAgdXNlckFwcDogZ3FsLnVzZXJBcHAsXG4gICAgbmFtZTogZ3FsLm5hbWUsXG4gICAgaXNGYXZvcml0ZTogZ3FsLmlzRmF2b3JpdGUsXG4gICAgYnJlYWRjcnVtYjogZ3FsLmJyZWFkY3J1bWIsXG4gICAgY3JlYXRlZEJ5OiBncWwuY3JlYXRlZEJ5LnVzZXIsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShncWwuY3JlYXRlZEF0KSxcbiAgICB1cGRhdGVkQXQ6IG5ldyBEYXRlKGdxbC51cGRhdGVkQXQpLFxuICAgIGRlbGV0ZWRBdDogZ3FsLmRlbGV0ZWRBdCA/IG5ldyBEYXRlKGdxbC5kZWxldGVkQXQpIDogbnVsbCxcbiAgICB1c2VyczogZ3FsLnVzZXJBcHBzLm1hcCh1ID0+IFt1LnVzZXJBcHAudXNlciwgdS5yaWdodHNdKVxuICB9O1xuXG4gIGludGVybmFsLnVzZXJBcHAgPSB7IC4uLmdxbC51c2VyQXBwIH07XG5cbiAgaWYgKGdxbC51c2VyQXBwLm5hbWVLZXkpIHtcbiAgICBjb25zdCBrZXkgPSBkZWNyeXB0Q3J5cHRvQm94KFxuICAgICAgc29kaXVtLmZyb21faGV4KGdxbC51c2VyQXBwLm5hbWVLZXkpLFxuICAgICAgZ3FsLmNyZWF0ZWRCeS51c2VyLnB1YmxpY0tleSxcbiAgICAgIGtleVBhaXIucHJpdmF0ZUtleVxuICAgICk7XG4gICAgaW50ZXJuYWwubmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgc29kaXVtLmZyb21faGV4KGludGVybmFsLm5hbWUpKVxuICAgICk7XG5cbiAgICBpbnRlcm5hbC51c2VyQXBwLm5hbWVLZXkgPSBzb2RpdW0udG9faGV4KGtleSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGIgb2YgaW50ZXJuYWwuYnJlYWRjcnVtYikge1xuICAgIGlmICghYi5uYW1lS2V5KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gZGVjcnlwdENyeXB0b0JveChcbiAgICAgIHNvZGl1bS5mcm9tX2hleChiLm5hbWVLZXkpLFxuICAgICAgYi5wdWJLZXksXG4gICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgICApO1xuICAgIGIubmFtZUtleSA9IHNvZGl1bS50b19oZXgoa2V5KTtcblxuICAgIGIubmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgc29kaXVtLmZyb21faGV4KGIubmFtZSkpXG4gICAgKTtcbiAgfVxuXG4gIGZvbGRlcnNDYWNoZS5zZXQoaW50ZXJuYWwuaWQsIGludGVybmFsKTtcbiAgcmV0dXJuIGludGVybmFsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyRnVsbFRvSW50ZXJuYWxGdWxsKFxuICBncWw6IEdRTEZvbGRlckZ1bGwsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXJGdWxsPiB7XG4gIGNvbnN0IGYgPSBhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbCwga2V5UGFpcik7XG4gIHJldHVybiB7XG4gICAgLi4uZixcbiAgICB2RmlsZXM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnZGaWxlc1xuICAgICAgICAuZmlsdGVyKGYgPT4gZi51c2VyQXBwKVxuICAgICAgICAubWFwKHZGaWxlID0+IGdxbFZGaWxlVG9JbnRlcm5hbCh2RmlsZSwga2V5UGFpcikpXG4gICAgKSxcbiAgICBwYXJlbnRGb2xkZXI6IGdxbC5wYXJlbnRGb2xkZXJcbiAgICAgID8gYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwucGFyZW50Rm9sZGVyLCBrZXlQYWlyKVxuICAgICAgOiBudWxsLFxuICAgIHN1YmZvbGRlcnM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnN1YmZvbGRlcnMubWFwKHMgPT4gZ3FsRm9sZGVyVG9JbnRlcm5hbChzLCBrZXlQYWlyKSlcbiAgICApXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hbEZvbGRlclRvRm9sZGVyKGludGVybmFsOiBJbnRlcm5hbEZvbGRlcik6IEZvbGRlciB7XG4gIGNvbnN0IGZvbGRlcjogRm9sZGVyID0ge1xuICAgIC4uLmludGVybmFsXG4gIH07XG5cbiAgZm9yIChjb25zdCBiIG9mIGZvbGRlci5icmVhZGNydW1iKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGRlbGV0ZSBiLm5hbWVLZXk7XG4gIH1cbiAgLy8gQHRzLWlnbm9yZVxuICBkZWxldGUgZm9sZGVyLm5hbWVLZXk7XG4gIHJldHVybiBmb2xkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hbEZvbGRlckZ1bGxUb0ZvbGRlckZ1bGwoXG4gIGludGVybmFsOiBJbnRlcm5hbEZvbGRlckZ1bGxcbik6IEZvbGRlckZ1bGwge1xuICByZXR1cm4ge1xuICAgIC4uLmludGVybmFsRm9sZGVyVG9Gb2xkZXIoaW50ZXJuYWwpLFxuICAgIHZGaWxlczogaW50ZXJuYWwudkZpbGVzLm1hcChpbnRlcm5hbFZGaWxlVG9WRmlsZSksXG4gICAgcGFyZW50Rm9sZGVyOiBpbnRlcm5hbC5wYXJlbnRGb2xkZXJcbiAgICAgID8gaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihpbnRlcm5hbC5wYXJlbnRGb2xkZXIpXG4gICAgICA6IG51bGwsXG4gICAgc3ViZm9sZGVyczogaW50ZXJuYWwuc3ViZm9sZGVycy5tYXAoaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcilcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbEZvbGRlclRvRXh0ZXJuYWxGb2xkZXJGdWxsKFxuICBncWw6IEdRTEZvbGRlckZ1bGwsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8Rm9sZGVyRnVsbD4ge1xuICByZXR1cm4gaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsKFxuICAgIGF3YWl0IGdxbEZvbGRlckZ1bGxUb0ludGVybmFsRnVsbChncWwsIGtleVBhaXIpXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBncWxGb2xkZXJUb0V4dGVybmFsKFxuICBncWw6IEdRTEZvbGRlcixcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxGb2xkZXI+IHtcbiAgcmV0dXJuIGludGVybmFsRm9sZGVyVG9Gb2xkZXIoYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwsIGtleVBhaXIpKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import type { KeyPair } from "../../crypto/index.js";
2
+ import type { InternalMail, Mail } from "../types/index.js";
3
+ export declare function convertInternalMailToExternal(data: InternalMail, keys: KeyPair): Mail | null;
@@ -0,0 +1,46 @@
1
+ import { sodium, decryptCryptoBox } from "../../index.js";
2
+ export function convertInternalMailToExternal(data, keys) {
3
+ var _mI$replyTo;
4
+
5
+ if (data.mailIntegrityDraft) {
6
+ data.type = "draft";
7
+ }
8
+
9
+ var mI = data.type === "draft" ? data.mailIntegrityDraft : data.mailIntegrity;
10
+
11
+ if (!mI) {
12
+ return null;
13
+ }
14
+
15
+ var pubKey = data.type === "received" ? data.sender.publicKey : keys.publicKey;
16
+ var body = sodium.to_string(decryptCryptoBox(sodium.from_hex(data.body), pubKey, keys.privateKey));
17
+ var subject = sodium.to_string(decryptCryptoBox(sodium.from_hex(data.subject), pubKey, keys.privateKey));
18
+ var hash = sodium.crypto_generichash(sodium.crypto_generichash_BYTES, JSON.stringify({
19
+ body: body,
20
+ subject: subject
21
+ }), mI.hashKey, "hex");
22
+ return {
23
+ type: data.type,
24
+ id: data.id,
25
+ mailIntegrityId: mI.id,
26
+ replyTo: (_mI$replyTo = mI.replyTo) == null ? void 0 : _mI$replyTo.id,
27
+ body: body,
28
+ subject: subject,
29
+ createdAt: new Date(data.createdAt),
30
+ deletedAt: data.deletedAt ? new Date(data.deletedAt) : null,
31
+ openedAt: data.openedAt ? new Date(data.openedAt) : null,
32
+ isAltered: hash !== mI.hash,
33
+ temporaryRecipients: mI.temporaryRecipients,
34
+ recipients: data.type === "draft" ? mI.recipients : data.recipients,
35
+ sender: data.sender,
36
+ files: data.files.map(function (f) {
37
+ var name = sodium.to_string(decryptCryptoBox(sodium.from_hex(f.filename), pubKey, keys.privateKey));
38
+ return {
39
+ id: f.file.id,
40
+ name: name,
41
+ key: f.fileKey
42
+ };
43
+ })
44
+ };
45
+ }
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9tYWlsLnRzIl0sIm5hbWVzIjpbInNvZGl1bSIsImRlY3J5cHRDcnlwdG9Cb3giLCJjb252ZXJ0SW50ZXJuYWxNYWlsVG9FeHRlcm5hbCIsImRhdGEiLCJrZXlzIiwibWFpbEludGVncml0eURyYWZ0IiwidHlwZSIsIm1JIiwibWFpbEludGVncml0eSIsInB1YktleSIsInNlbmRlciIsInB1YmxpY0tleSIsImJvZHkiLCJ0b19zdHJpbmciLCJmcm9tX2hleCIsInByaXZhdGVLZXkiLCJzdWJqZWN0IiwiaGFzaCIsImNyeXB0b19nZW5lcmljaGFzaCIsImNyeXB0b19nZW5lcmljaGFzaF9CWVRFUyIsIkpTT04iLCJzdHJpbmdpZnkiLCJoYXNoS2V5IiwiaWQiLCJtYWlsSW50ZWdyaXR5SWQiLCJyZXBseVRvIiwiY3JlYXRlZEF0IiwiRGF0ZSIsImRlbGV0ZWRBdCIsIm9wZW5lZEF0IiwiaXNBbHRlcmVkIiwidGVtcG9yYXJ5UmVjaXBpZW50cyIsInJlY2lwaWVudHMiLCJmaWxlcyIsIm1hcCIsImYiLCJuYW1lIiwiZmlsZW5hbWUiLCJmaWxlIiwia2V5IiwiZmlsZUtleSJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsTUFBVCxFQUFpQkMsZ0JBQWpCLFFBQXlDLGdCQUF6QztBQUVBLE9BQU8sU0FBU0MsNkJBQVQsQ0FDTEMsSUFESyxFQUVMQyxJQUZLLEVBR1E7QUFBQTs7QUFDYixNQUFJRCxJQUFJLENBQUNFLGtCQUFULEVBQTZCO0FBQzNCRixJQUFBQSxJQUFJLENBQUNHLElBQUwsR0FBWSxPQUFaO0FBQ0Q7O0FBRUQsTUFBTUMsRUFBRSxHQUNOSixJQUFJLENBQUNHLElBQUwsS0FBYyxPQUFkLEdBQXdCSCxJQUFJLENBQUNFLGtCQUE3QixHQUFrREYsSUFBSSxDQUFDSyxhQUR6RDs7QUFHQSxNQUFJLENBQUNELEVBQUwsRUFBUztBQUNQLFdBQU8sSUFBUDtBQUNEOztBQUVELE1BQU1FLE1BQU0sR0FDVk4sSUFBSSxDQUFDRyxJQUFMLEtBQWMsVUFBZCxHQUEyQkgsSUFBSSxDQUFDTyxNQUFMLENBQVlDLFNBQXZDLEdBQW1EUCxJQUFJLENBQUNPLFNBRDFEO0FBR0EsTUFBTUMsSUFBSSxHQUFHWixNQUFNLENBQUNhLFNBQVAsQ0FDWFosZ0JBQWdCLENBQUNELE1BQU0sQ0FBQ2MsUUFBUCxDQUFnQlgsSUFBSSxDQUFDUyxJQUFyQixDQUFELEVBQTZCSCxNQUE3QixFQUFxQ0wsSUFBSSxDQUFDVyxVQUExQyxDQURMLENBQWI7QUFJQSxNQUFNQyxPQUFPLEdBQUdoQixNQUFNLENBQUNhLFNBQVAsQ0FDZFosZ0JBQWdCLENBQUNELE1BQU0sQ0FBQ2MsUUFBUCxDQUFnQlgsSUFBSSxDQUFDYSxPQUFyQixDQUFELEVBQWdDUCxNQUFoQyxFQUF3Q0wsSUFBSSxDQUFDVyxVQUE3QyxDQURGLENBQWhCO0FBSUEsTUFBTUUsSUFBSSxHQUFHakIsTUFBTSxDQUFDa0Isa0JBQVAsQ0FDWGxCLE1BQU0sQ0FBQ21CLHdCQURJLEVBRVhDLElBQUksQ0FBQ0MsU0FBTCxDQUFlO0FBQUVULElBQUFBLElBQUksRUFBSkEsSUFBRjtBQUFRSSxJQUFBQSxPQUFPLEVBQVBBO0FBQVIsR0FBZixDQUZXLEVBR1hULEVBQUUsQ0FBQ2UsT0FIUSxFQUlYLEtBSlcsQ0FBYjtBQU9BLFNBQU87QUFDTGhCLElBQUFBLElBQUksRUFBRUgsSUFBSSxDQUFDRyxJQUROO0FBRUxpQixJQUFBQSxFQUFFLEVBQUVwQixJQUFJLENBQUNvQixFQUZKO0FBR0xDLElBQUFBLGVBQWUsRUFBRWpCLEVBQUUsQ0FBQ2dCLEVBSGY7QUFJTEUsSUFBQUEsT0FBTyxpQkFBRWxCLEVBQUUsQ0FBQ2tCLE9BQUwscUJBQUUsWUFBWUYsRUFKaEI7QUFLTFgsSUFBQUEsSUFBSSxFQUFKQSxJQUxLO0FBTUxJLElBQUFBLE9BQU8sRUFBUEEsT0FOSztBQU9MVSxJQUFBQSxTQUFTLEVBQUUsSUFBSUMsSUFBSixDQUFTeEIsSUFBSSxDQUFDdUIsU0FBZCxDQVBOO0FBUUxFLElBQUFBLFNBQVMsRUFBRXpCLElBQUksQ0FBQ3lCLFNBQUwsR0FBaUIsSUFBSUQsSUFBSixDQUFTeEIsSUFBSSxDQUFDeUIsU0FBZCxDQUFqQixHQUE0QyxJQVJsRDtBQVNMQyxJQUFBQSxRQUFRLEVBQUUxQixJQUFJLENBQUMwQixRQUFMLEdBQWdCLElBQUlGLElBQUosQ0FBU3hCLElBQUksQ0FBQzBCLFFBQWQsQ0FBaEIsR0FBMEMsSUFUL0M7QUFVTEMsSUFBQUEsU0FBUyxFQUFFYixJQUFJLEtBQUtWLEVBQUUsQ0FBQ1UsSUFWbEI7QUFXTGMsSUFBQUEsbUJBQW1CLEVBQUV4QixFQUFFLENBQUN3QixtQkFYbkI7QUFZTEMsSUFBQUEsVUFBVSxFQUFFN0IsSUFBSSxDQUFDRyxJQUFMLEtBQWMsT0FBZCxHQUF3QkMsRUFBRSxDQUFDeUIsVUFBM0IsR0FBd0M3QixJQUFJLENBQUM2QixVQVpwRDtBQWFMdEIsSUFBQUEsTUFBTSxFQUFFUCxJQUFJLENBQUNPLE1BYlI7QUFjTHVCLElBQUFBLEtBQUssRUFBRTlCLElBQUksQ0FBQzhCLEtBQUwsQ0FBV0MsR0FBWCxDQUFlLFVBQUFDLENBQUMsRUFBSTtBQUN6QixVQUFNQyxJQUFJLEdBQUdwQyxNQUFNLENBQUNhLFNBQVAsQ0FDWFosZ0JBQWdCLENBQUNELE1BQU0sQ0FBQ2MsUUFBUCxDQUFnQnFCLENBQUMsQ0FBQ0UsUUFBbEIsQ0FBRCxFQUE4QjVCLE1BQTlCLEVBQXNDTCxJQUFJLENBQUNXLFVBQTNDLENBREwsQ0FBYjtBQUlBLGFBQU87QUFDTFEsUUFBQUEsRUFBRSxFQUFFWSxDQUFDLENBQUNHLElBQUYsQ0FBT2YsRUFETjtBQUVMYSxRQUFBQSxJQUFJLEVBQUpBLElBRks7QUFHTEcsUUFBQUEsR0FBRyxFQUFFSixDQUFDLENBQUNLO0FBSEYsT0FBUDtBQUtELEtBVk07QUFkRixHQUFQO0FBMEJEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbE1haWwsIE1haWwgfSBmcm9tIFwiLi4vdHlwZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IHNvZGl1bSwgZGVjcnlwdENyeXB0b0JveCB9IGZyb20gXCIuLi8uLi9pbmRleC5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydEludGVybmFsTWFpbFRvRXh0ZXJuYWwoXG4gIGRhdGE6IEludGVybmFsTWFpbCxcbiAga2V5czogS2V5UGFpclxuKTogTWFpbCB8IG51bGwge1xuICBpZiAoZGF0YS5tYWlsSW50ZWdyaXR5RHJhZnQpIHtcbiAgICBkYXRhLnR5cGUgPSBcImRyYWZ0XCI7XG4gIH1cblxuICBjb25zdCBtSSA9XG4gICAgZGF0YS50eXBlID09PSBcImRyYWZ0XCIgPyBkYXRhLm1haWxJbnRlZ3JpdHlEcmFmdCA6IGRhdGEubWFpbEludGVncml0eTtcblxuICBpZiAoIW1JKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBwdWJLZXkgPVxuICAgIGRhdGEudHlwZSA9PT0gXCJyZWNlaXZlZFwiID8gZGF0YS5zZW5kZXIucHVibGljS2V5IDoga2V5cy5wdWJsaWNLZXk7XG5cbiAgY29uc3QgYm9keSA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgZGVjcnlwdENyeXB0b0JveChzb2RpdW0uZnJvbV9oZXgoZGF0YS5ib2R5KSwgcHViS2V5LCBrZXlzLnByaXZhdGVLZXkpXG4gICk7XG5cbiAgY29uc3Qgc3ViamVjdCA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgZGVjcnlwdENyeXB0b0JveChzb2RpdW0uZnJvbV9oZXgoZGF0YS5zdWJqZWN0KSwgcHViS2V5LCBrZXlzLnByaXZhdGVLZXkpXG4gICk7XG5cbiAgY29uc3QgaGFzaCA9IHNvZGl1bS5jcnlwdG9fZ2VuZXJpY2hhc2goXG4gICAgc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaF9CWVRFUyxcbiAgICBKU09OLnN0cmluZ2lmeSh7IGJvZHksIHN1YmplY3QgfSksXG4gICAgbUkuaGFzaEtleSxcbiAgICBcImhleFwiXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBkYXRhLnR5cGUsXG4gICAgaWQ6IGRhdGEuaWQsXG4gICAgbWFpbEludGVncml0eUlkOiBtSS5pZCxcbiAgICByZXBseVRvOiBtSS5yZXBseVRvPy5pZCxcbiAgICBib2R5LFxuICAgIHN1YmplY3QsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShkYXRhLmNyZWF0ZWRBdCksXG4gICAgZGVsZXRlZEF0OiBkYXRhLmRlbGV0ZWRBdCA/IG5ldyBEYXRlKGRhdGEuZGVsZXRlZEF0KSA6IG51bGwsXG4gICAgb3BlbmVkQXQ6IGRhdGEub3BlbmVkQXQgPyBuZXcgRGF0ZShkYXRhLm9wZW5lZEF0KSA6IG51bGwsXG4gICAgaXNBbHRlcmVkOiBoYXNoICE9PSBtSS5oYXNoLFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IG1JLnRlbXBvcmFyeVJlY2lwaWVudHMsXG4gICAgcmVjaXBpZW50czogZGF0YS50eXBlID09PSBcImRyYWZ0XCIgPyBtSS5yZWNpcGllbnRzIDogZGF0YS5yZWNpcGllbnRzLFxuICAgIHNlbmRlcjogZGF0YS5zZW5kZXIsXG4gICAgZmlsZXM6IGRhdGEuZmlsZXMubWFwKGYgPT4ge1xuICAgICAgY29uc3QgbmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgICAgIGRlY3J5cHRDcnlwdG9Cb3goc29kaXVtLmZyb21faGV4KGYuZmlsZW5hbWUpLCBwdWJLZXksIGtleXMucHJpdmF0ZUtleSlcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBmLmZpbGUuaWQsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGtleTogZi5maWxlS2V5XG4gICAgICB9O1xuICAgIH0pXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ import type { KeyPair } from "../../crypto/index.js";
2
+ import type { GQLVFile, GQLVFileWithFolder, InternalVFile, InternalVFileWithFolder, VFile, VFileWithFolder } from "../types/index.js";
3
+ export declare function gqlVFileToInternal(gql: GQLVFile | GQLVFileWithFolder, keyPair: KeyPair): Promise<InternalVFile | InternalVFileWithFolder>;
4
+ export declare function internalVFileToVFile(internal: InternalVFile | InternalVFileWithFolder): VFile | VFileWithFolder;
5
+ export declare function gqlVFileToExternal(gql: GQLVFile | GQLVFileWithFolder, keyPair: KeyPair): Promise<VFile | VFileWithFolder>;
@@ -0,0 +1,164 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+
5
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
+
7
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
8
+
9
+ import { vFilesCache } from "../../cache.js";
10
+ import { decryptCryptoBox } from "../../crypto/index.js";
11
+ import { decryptSecretstream } from "../../crypto/file.js";
12
+ import { sodium } from "../../sodium.js";
13
+ import { gqlFileToInternal, internalFileToFile } from "./file.js";
14
+ import { gqlFolderToInternal, internalFolderToFolder } from "./folder.js";
15
+ export function gqlVFileToInternal(_x, _x2) {
16
+ return _gqlVFileToInternal.apply(this, arguments);
17
+ }
18
+
19
+ function _gqlVFileToInternal() {
20
+ _gqlVFileToInternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(gql, keyPair) {
21
+ var nameKey, internal, internalWithFolder;
22
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
23
+ while (1) {
24
+ switch (_context.prev = _context.next) {
25
+ case 0:
26
+ if (gql.current) {
27
+ _context.next = 2;
28
+ break;
29
+ }
30
+
31
+ throw "VFile " + gql.id + " doesn't have current file";
32
+
33
+ case 2:
34
+ if (gql.userApp) {
35
+ _context.next = 4;
36
+ break;
37
+ }
38
+
39
+ throw "VFile " + gql.id + " doesn't have userApp";
40
+
41
+ case 4:
42
+ // console.dir(gql, { depth: Infinity })
43
+ nameKey = decryptCryptoBox(sodium.from_hex(gql.userApp.nameKey), gql.createdBy.user.publicKey, keyPair.privateKey);
44
+ _context.t0 = _objectSpread;
45
+ _context.t1 = _objectSpread({}, gql);
46
+ _context.t2 = {};
47
+ _context.t3 = gql.createdBy.user;
48
+ _context.t4 = sodium;
49
+ _context.next = 12;
50
+ return decryptSecretstream(nameKey, sodium.from_hex(gql.filename));
51
+
52
+ case 12:
53
+ _context.t5 = _context.sent;
54
+ _context.t6 = _context.t4.to_string.call(_context.t4, _context.t5);
55
+ _context.t7 = {
56
+ userApp: gql.userApp.userApp,
57
+ rights: gql.userApp.rights,
58
+ isRoot: gql.userApp.isRoot,
59
+ nameKey: sodium.to_hex(nameKey)
60
+ };
61
+ _context.t8 = gql.userApps.map(function (u) {
62
+ return [u.userApp.user, u.rights];
63
+ });
64
+ _context.t9 = new Date(gql.createdAt);
65
+ _context.t10 = new Date(gql.updatedAt);
66
+ _context.t11 = gql.deletedAt ? new Date(gql.deletedAt) : null;
67
+ _context.t12 = gqlFileToInternal(gql.current, keyPair);
68
+ _context.t13 = gql.history.map(function (f) {
69
+ return gqlFileToInternal(f, keyPair);
70
+ });
71
+ _context.t14 = {
72
+ createdBy: _context.t3,
73
+ filename: _context.t6,
74
+ userApp: _context.t7,
75
+ users: _context.t8,
76
+ createdAt: _context.t9,
77
+ updatedAt: _context.t10,
78
+ deletedAt: _context.t11,
79
+ current: _context.t12,
80
+ history: _context.t13
81
+ };
82
+ internal = (0, _context.t0)(_context.t1, _context.t2, _context.t14);
83
+
84
+ if (!("folder" in gql)) {
85
+ _context.next = 34;
86
+ break;
87
+ }
88
+
89
+ _context.t15 = _objectSpread;
90
+ _context.t16 = _objectSpread({}, internal);
91
+ _context.t17 = {};
92
+ _context.next = 29;
93
+ return gqlFolderToInternal(gql.folder, keyPair);
94
+
95
+ case 29:
96
+ _context.t18 = _context.sent;
97
+ _context.t19 = {
98
+ folder: _context.t18
99
+ };
100
+ internalWithFolder = (0, _context.t15)(_context.t16, _context.t17, _context.t19);
101
+ vFilesCache.set(internal.id, internalWithFolder);
102
+ return _context.abrupt("return", internalWithFolder);
103
+
104
+ case 34:
105
+ // @ts-expect-error
106
+ delete internal.userApps;
107
+ vFilesCache.set(internal.id, internal);
108
+ return _context.abrupt("return", internal);
109
+
110
+ case 37:
111
+ case "end":
112
+ return _context.stop();
113
+ }
114
+ }
115
+ }, _callee);
116
+ }));
117
+ return _gqlVFileToInternal.apply(this, arguments);
118
+ }
119
+
120
+ export function internalVFileToVFile(internal) {
121
+ var vFile = _objectSpread(_objectSpread({}, internal), {}, {
122
+ current: internalFileToFile(internal.current),
123
+ history: internal.history.map(internalFileToFile)
124
+ }); // @ts-ignore
125
+
126
+
127
+ delete vFile.nameKey;
128
+
129
+ if ("folder" in internal) {
130
+ return _objectSpread(_objectSpread({}, internal), {}, {
131
+ folder: internalFolderToFolder(internal.folder)
132
+ });
133
+ }
134
+
135
+ return vFile;
136
+ }
137
+ export function gqlVFileToExternal(_x3, _x4) {
138
+ return _gqlVFileToExternal.apply(this, arguments);
139
+ }
140
+
141
+ function _gqlVFileToExternal() {
142
+ _gqlVFileToExternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(gql, keyPair) {
143
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
144
+ while (1) {
145
+ switch (_context2.prev = _context2.next) {
146
+ case 0:
147
+ _context2.t0 = internalVFileToVFile;
148
+ _context2.next = 3;
149
+ return gqlVFileToInternal(gql, keyPair);
150
+
151
+ case 3:
152
+ _context2.t1 = _context2.sent;
153
+ return _context2.abrupt("return", (0, _context2.t0)(_context2.t1));
154
+
155
+ case 5:
156
+ case "end":
157
+ return _context2.stop();
158
+ }
159
+ }
160
+ }, _callee2);
161
+ }));
162
+ return _gqlVFileToExternal.apply(this, arguments);
163
+ }
164
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC92RmlsZS50cyJdLCJuYW1lcyI6WyJ2RmlsZXNDYWNoZSIsImRlY3J5cHRDcnlwdG9Cb3giLCJkZWNyeXB0U2VjcmV0c3RyZWFtIiwic29kaXVtIiwiZ3FsRmlsZVRvSW50ZXJuYWwiLCJpbnRlcm5hbEZpbGVUb0ZpbGUiLCJncWxGb2xkZXJUb0ludGVybmFsIiwiaW50ZXJuYWxGb2xkZXJUb0ZvbGRlciIsImdxbFZGaWxlVG9JbnRlcm5hbCIsImdxbCIsImtleVBhaXIiLCJjdXJyZW50IiwiaWQiLCJ1c2VyQXBwIiwibmFtZUtleSIsImZyb21faGV4IiwiY3JlYXRlZEJ5IiwidXNlciIsInB1YmxpY0tleSIsInByaXZhdGVLZXkiLCJmaWxlbmFtZSIsInRvX3N0cmluZyIsInJpZ2h0cyIsImlzUm9vdCIsInRvX2hleCIsInVzZXJBcHBzIiwibWFwIiwidSIsIkRhdGUiLCJjcmVhdGVkQXQiLCJ1cGRhdGVkQXQiLCJkZWxldGVkQXQiLCJoaXN0b3J5IiwiZiIsInVzZXJzIiwiaW50ZXJuYWwiLCJmb2xkZXIiLCJpbnRlcm5hbFdpdGhGb2xkZXIiLCJzZXQiLCJpbnRlcm5hbFZGaWxlVG9WRmlsZSIsInZGaWxlIiwiZ3FsVkZpbGVUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLFNBQVNBLFdBQVQsUUFBNEIsZ0JBQTVCO0FBRUEsU0FBU0MsZ0JBQVQsUUFBaUMsdUJBQWpDO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0Msc0JBQXBDO0FBQ0EsU0FBU0MsTUFBVCxRQUF1QixpQkFBdkI7QUFTQSxTQUFTQyxpQkFBVCxFQUE0QkMsa0JBQTVCLFFBQXNELFdBQXREO0FBQ0EsU0FBU0MsbUJBQVQsRUFBOEJDLHNCQUE5QixRQUE0RCxhQUE1RDtBQUVBLGdCQUFzQkMsa0JBQXRCO0FBQUE7QUFBQTs7O2lGQUFPLGlCQUNMQyxHQURLLEVBRUxDLE9BRks7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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QTtBQStDTDtBQUNBLG1CQUFPRixRQUFRLENBQUNWLFFBQWhCO0FBRUF6QixZQUFBQSxXQUFXLENBQUNzQyxHQUFaLENBQWdCSCxRQUFRLENBQUN2QixFQUF6QixFQUE2QnVCLFFBQTdCO0FBbERLLDZDQW1ERUEsUUFuREY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQXNEUCxPQUFPLFNBQVNJLG9CQUFULENBQ0xKLFFBREssRUFFb0I7QUFDekIsTUFBTUssS0FBWSxtQ0FDYkwsUUFEYTtBQUVoQnhCLElBQUFBLE9BQU8sRUFBRU4sa0JBQWtCLENBQUM4QixRQUFRLENBQUN4QixPQUFWLENBRlg7QUFHaEJxQixJQUFBQSxPQUFPLEVBQUVHLFFBQVEsQ0FBQ0gsT0FBVCxDQUFpQk4sR0FBakIsQ0FBcUJyQixrQkFBckI7QUFITyxJQUFsQixDQUR5QixDQU16Qjs7O0FBQ0EsU0FBT21DLEtBQUssQ0FBQzFCLE9BQWI7O0FBRUEsTUFBSSxZQUFZcUIsUUFBaEIsRUFBMEI7QUFDeEIsMkNBQ0tBLFFBREw7QUFFRUMsTUFBQUEsTUFBTSxFQUFFN0Isc0JBQXNCLENBQUM0QixRQUFRLENBQUNDLE1BQVY7QUFGaEM7QUFJRDs7QUFFRCxTQUFPSSxLQUFQO0FBQ0Q7QUFFRCxnQkFBc0JDLGtCQUF0QjtBQUFBO0FBQUE7OztpRkFBTyxrQkFDTGhDLEdBREssRUFFTEMsT0FGSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBSUU2QixvQkFKRjtBQUFBO0FBQUEsbUJBSTZCL0Isa0JBQWtCLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUovQzs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHZGaWxlc0NhY2hlIH0gZnJvbSBcIi4uLy4uL2NhY2hlLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBkZWNyeXB0Q3J5cHRvQm94IH0gZnJvbSBcIi4uLy4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdFNlY3JldHN0cmVhbSB9IGZyb20gXCIuLi8uLi9jcnlwdG8vZmlsZS5qc1wiO1xuaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uLy4uL3NvZGl1bS5qc1wiO1xuaW1wb3J0IHR5cGUge1xuICBHUUxWRmlsZSxcbiAgR1FMVkZpbGVXaXRoRm9sZGVyLFxuICBJbnRlcm5hbFZGaWxlLFxuICBJbnRlcm5hbFZGaWxlV2l0aEZvbGRlcixcbiAgVkZpbGUsXG4gIFZGaWxlV2l0aEZvbGRlclxufSBmcm9tIFwiLi4vdHlwZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IGdxbEZpbGVUb0ludGVybmFsLCBpbnRlcm5hbEZpbGVUb0ZpbGUgfSBmcm9tIFwiLi9maWxlLmpzXCI7XG5pbXBvcnQgeyBncWxGb2xkZXJUb0ludGVybmFsLCBpbnRlcm5hbEZvbGRlclRvRm9sZGVyIH0gZnJvbSBcIi4vZm9sZGVyLmpzXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBncWxWRmlsZVRvSW50ZXJuYWwoXG4gIGdxbDogR1FMVkZpbGUgfCBHUUxWRmlsZVdpdGhGb2xkZXIsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxWRmlsZSB8IEludGVybmFsVkZpbGVXaXRoRm9sZGVyPiB7XG4gIGlmICghZ3FsLmN1cnJlbnQpIHtcbiAgICB0aHJvdyBgVkZpbGUgJHtncWwuaWR9IGRvZXNuJ3QgaGF2ZSBjdXJyZW50IGZpbGVgO1xuICB9XG5cbiAgaWYgKCFncWwudXNlckFwcCkge1xuICAgIHRocm93IGBWRmlsZSAke2dxbC5pZH0gZG9lc24ndCBoYXZlIHVzZXJBcHBgO1xuICB9XG5cbiAgLy8gY29uc29sZS5kaXIoZ3FsLCB7IGRlcHRoOiBJbmZpbml0eSB9KVxuXG4gIGNvbnN0IG5hbWVLZXkgPSBkZWNyeXB0Q3J5cHRvQm94KFxuICAgIHNvZGl1bS5mcm9tX2hleChncWwudXNlckFwcC5uYW1lS2V5KSxcbiAgICBncWwuY3JlYXRlZEJ5LnVzZXIucHVibGljS2V5LFxuICAgIGtleVBhaXIucHJpdmF0ZUtleVxuICApO1xuICBjb25zdCBpbnRlcm5hbDogSW50ZXJuYWxWRmlsZSA9IHtcbiAgICAuLi5ncWwsXG4gICAgY3JlYXRlZEJ5OiBncWwuY3JlYXRlZEJ5LnVzZXIsXG4gICAgZmlsZW5hbWU6IHNvZGl1bS50b19zdHJpbmcoXG4gICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKG5hbWVLZXksIHNvZGl1bS5mcm9tX2hleChncWwuZmlsZW5hbWUpKVxuICAgICksXG4gICAgdXNlckFwcDoge1xuICAgICAgdXNlckFwcDogZ3FsLnVzZXJBcHAudXNlckFwcCxcbiAgICAgIHJpZ2h0czogZ3FsLnVzZXJBcHAucmlnaHRzLFxuICAgICAgaXNSb290OiBncWwudXNlckFwcC5pc1Jvb3QsXG4gICAgICBuYW1lS2V5OiBzb2RpdW0udG9faGV4KG5hbWVLZXkpXG4gICAgfSxcbiAgICB1c2VyczogZ3FsLnVzZXJBcHBzLm1hcCh1ID0+IFt1LnVzZXJBcHAudXNlciwgdS5yaWdodHNdKSxcbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKGdxbC5jcmVhdGVkQXQpLFxuICAgIHVwZGF0ZWRBdDogbmV3IERhdGUoZ3FsLnVwZGF0ZWRBdCksXG4gICAgZGVsZXRlZEF0OiBncWwuZGVsZXRlZEF0ID8gbmV3IERhdGUoZ3FsLmRlbGV0ZWRBdCkgOiBudWxsLFxuICAgIGN1cnJlbnQ6IGdxbEZpbGVUb0ludGVybmFsKGdxbC5jdXJyZW50LCBrZXlQYWlyKSxcbiAgICBoaXN0b3J5OiBncWwuaGlzdG9yeS5tYXAoZiA9PiBncWxGaWxlVG9JbnRlcm5hbChmLCBrZXlQYWlyKSlcbiAgfTtcbiAgaWYgKFwiZm9sZGVyXCIgaW4gZ3FsKSB7XG4gICAgY29uc3QgaW50ZXJuYWxXaXRoRm9sZGVyOiBJbnRlcm5hbFZGaWxlV2l0aEZvbGRlciA9IHtcbiAgICAgIC4uLmludGVybmFsLFxuICAgICAgZm9sZGVyOiBhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbC5mb2xkZXIsIGtleVBhaXIpXG4gICAgfTtcbiAgICB2RmlsZXNDYWNoZS5zZXQoaW50ZXJuYWwuaWQsIGludGVybmFsV2l0aEZvbGRlcik7XG4gICAgcmV0dXJuIGludGVybmFsV2l0aEZvbGRlcjtcbiAgfVxuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgZGVsZXRlIGludGVybmFsLnVzZXJBcHBzO1xuXG4gIHZGaWxlc0NhY2hlLnNldChpbnRlcm5hbC5pZCwgaW50ZXJuYWwpO1xuICByZXR1cm4gaW50ZXJuYWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hbFZGaWxlVG9WRmlsZShcbiAgaW50ZXJuYWw6IEludGVybmFsVkZpbGUgfCBJbnRlcm5hbFZGaWxlV2l0aEZvbGRlclxuKTogVkZpbGUgfCBWRmlsZVdpdGhGb2xkZXIge1xuICBjb25zdCB2RmlsZTogVkZpbGUgPSB7XG4gICAgLi4uaW50ZXJuYWwsXG4gICAgY3VycmVudDogaW50ZXJuYWxGaWxlVG9GaWxlKGludGVybmFsLmN1cnJlbnQpLFxuICAgIGhpc3Rvcnk6IGludGVybmFsLmhpc3RvcnkubWFwKGludGVybmFsRmlsZVRvRmlsZSlcbiAgfTtcbiAgLy8gQHRzLWlnbm9yZVxuICBkZWxldGUgdkZpbGUubmFtZUtleTtcblxuICBpZiAoXCJmb2xkZXJcIiBpbiBpbnRlcm5hbCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5pbnRlcm5hbCxcbiAgICAgIGZvbGRlcjogaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihpbnRlcm5hbC5mb2xkZXIpXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB2RmlsZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbFZGaWxlVG9FeHRlcm5hbChcbiAgZ3FsOiBHUUxWRmlsZSB8IEdRTFZGaWxlV2l0aEZvbGRlcixcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxWRmlsZSB8IFZGaWxlV2l0aEZvbGRlcj4ge1xuICByZXR1cm4gaW50ZXJuYWxWRmlsZVRvVkZpbGUoYXdhaXQgZ3FsVkZpbGVUb0ludGVybmFsKGdxbCwga2V5UGFpcikpO1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { SecrecyClient } from "./index.js";
2
+ import type { SecrecyUserApp } from "./types/index.js";
3
+ export declare function parseInfos(): SecrecyUserApp | null;
4
+ export declare type HashInfos = {
5
+ appUrl: string;
6
+ backPath?: string;
7
+ appCode?: string | null | undefined;
8
+ path?: string | null | undefined;
9
+ redirect?: boolean;
10
+ scopes?: {
11
+ email: boolean;
12
+ };
13
+ };
14
+ export declare type SecrecyEnv = "dev" | "prod";
15
+ export declare type UseSecrecyParams = Omit<HashInfos, "appUrl"> & {
16
+ env: SecrecyEnv;
17
+ session?: boolean | undefined;
18
+ };
19
+ export declare type Value<T extends UseSecrecyParams> = T extends {
20
+ redirect: true;
21
+ } ? SecrecyClient | null : SecrecyClient;
22
+ export declare function getSecrecyClient(env: SecrecyEnv, session?: boolean | undefined): SecrecyClient | null;
23
+ export declare function login<T extends UseSecrecyParams>({ appCode, path, redirect, scopes, backPath, env, session }?: T): Promise<Value<T>>;