@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,114 @@
1
+ import { SecrecyClient } from "./index.js";
2
+ import { popup } from "../PopupTools.js";
3
+ import { getStorage } from "./storage.js";
4
+ export function parseInfos() {
5
+ if (!window.location.hash) {
6
+ return null;
7
+ }
8
+
9
+ var hash = window.location.hash.substr(1);
10
+
11
+ try {
12
+ var res = JSON.parse(atob(hash));
13
+ window.location.hash = ""; // TODO Add object content validation
14
+
15
+ return res;
16
+ } catch (_unused) {
17
+ return null;
18
+ }
19
+ }
20
+ export function getSecrecyClient(env, session) {
21
+ var storage = getStorage(session);
22
+ var uaSession = storage.userAppSession.load();
23
+ var uaKeys = storage.userAppKeys.load();
24
+ var uaJwt = storage.jwt.load();
25
+
26
+ if (!uaSession || !uaKeys || !uaJwt) {
27
+ var infos = parseInfos();
28
+
29
+ if (infos) {
30
+ storage.userAppKeys.save(infos.keys);
31
+ storage.userAppSession.save(infos.uaSession);
32
+ storage.jwt.save(infos.jwt);
33
+ return new SecrecyClient(infos.uaSession, infos.keys, infos.jwt, env);
34
+ }
35
+
36
+ return null;
37
+ }
38
+
39
+ return new SecrecyClient(uaSession, uaKeys, uaJwt, env);
40
+ }
41
+ export function login(_temp) {
42
+ var _ref = _temp === void 0 ? {} : _temp,
43
+ appCode = _ref.appCode,
44
+ path = _ref.path,
45
+ redirect = _ref.redirect,
46
+ scopes = _ref.scopes,
47
+ backPath = _ref.backPath,
48
+ env = _ref.env,
49
+ session = _ref.session;
50
+
51
+ return new Promise(function (resolve, reject) {
52
+ var appUrl = window.location.origin;
53
+
54
+ if (appCode && !appUrl.includes("localhost")) {
55
+ return reject("Can't use appCode if not in localhost");
56
+ }
57
+
58
+ var client = getSecrecyClient(env);
59
+
60
+ if (!client) {
61
+ var infos = {
62
+ appUrl: appUrl,
63
+ appCode: appCode,
64
+ redirect: redirect,
65
+ path: path,
66
+ scopes: scopes,
67
+ backPath: backPath
68
+ };
69
+ var data = btoa(JSON.stringify(infos)).replaceAll("=", "");
70
+ var envStr = "";
71
+
72
+ if (env === "dev") {
73
+ envStr = "dev.";
74
+ }
75
+
76
+ var lang = document.documentElement.lang;
77
+ var url = "https://auth." + envStr + "secrecy.me" + (lang ? "/" + lang : "") + "/login#" + data;
78
+
79
+ var validate = function validate(infos) {
80
+ var storage = getStorage(session);
81
+ storage.userAppSession.save(infos.uaSession);
82
+ storage.userAppKeys.save(infos.keys);
83
+ storage.jwt.save(infos.jwt);
84
+ return resolve(new SecrecyClient(infos.uaSession, infos.keys, infos.jwt, env));
85
+ };
86
+
87
+ if (redirect) {
88
+ var _infos = parseInfos();
89
+
90
+ if (_infos) {
91
+ return validate(_infos);
92
+ } else {
93
+ window.location.href = url;
94
+ return resolve(null);
95
+ }
96
+ } else {
97
+ popup(url, "Secrecy Login", {}, function (err, data) {
98
+ if (err) {
99
+ return reject(err);
100
+ } else {
101
+ var _infos2 = data;
102
+
103
+ if (_infos2) {
104
+ return validate(_infos2);
105
+ }
106
+ }
107
+ });
108
+ }
109
+ } else {
110
+ return resolve(client);
111
+ }
112
+ });
113
+ }
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvaGVscGVycy50cyJdLCJuYW1lcyI6WyJTZWNyZWN5Q2xpZW50IiwicG9wdXAiLCJnZXRTdG9yYWdlIiwicGFyc2VJbmZvcyIsIndpbmRvdyIsImxvY2F0aW9uIiwiaGFzaCIsInN1YnN0ciIsInJlcyIsIkpTT04iLCJwYXJzZSIsImF0b2IiLCJnZXRTZWNyZWN5Q2xpZW50IiwiZW52Iiwic2Vzc2lvbiIsInN0b3JhZ2UiLCJ1YVNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImxvYWQiLCJ1YUtleXMiLCJ1c2VyQXBwS2V5cyIsInVhSnd0Iiwiand0IiwiaW5mb3MiLCJzYXZlIiwia2V5cyIsImxvZ2luIiwiYXBwQ29kZSIsInBhdGgiLCJyZWRpcmVjdCIsInNjb3BlcyIsImJhY2tQYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBVcmwiLCJvcmlnaW4iLCJpbmNsdWRlcyIsImNsaWVudCIsImRhdGEiLCJidG9hIiwic3RyaW5naWZ5IiwicmVwbGFjZUFsbCIsImVudlN0ciIsImxhbmciLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInVybCIsInZhbGlkYXRlIiwiaHJlZiIsImVyciJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBVCxRQUE4QixZQUE5QjtBQUNBLFNBQVNDLEtBQVQsUUFBc0Isa0JBQXRCO0FBRUEsU0FBU0MsVUFBVCxRQUEyQixjQUEzQjtBQUVBLE9BQU8sU0FBU0MsVUFBVCxHQUE2QztBQUNsRCxNQUFJLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQkMsSUFBckIsRUFBMkI7QUFDekIsV0FBTyxJQUFQO0FBQ0Q7O0FBQ0QsTUFBTUEsSUFBSSxHQUFHRixNQUFNLENBQUNDLFFBQVAsQ0FBZ0JDLElBQWhCLENBQXFCQyxNQUFyQixDQUE0QixDQUE1QixDQUFiOztBQUNBLE1BQUk7QUFDRixRQUFNQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0MsS0FBTCxDQUFXQyxJQUFJLENBQUNM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QSxLQUFLLENBQUM4QyxHQUFELEVBQU0sZUFBTixFQUF1QixFQUF2QixFQUEyQixVQUFDRyxHQUFELEVBQU1YLElBQU4sRUFBZTtBQUM3QyxjQUFJVyxHQUFKLEVBQVM7QUFDUCxtQkFBT2hCLE1BQU0sQ0FBQ2dCLEdBQUQsQ0FBYjtBQUNELFdBRkQsTUFFTztBQUNMLGdCQUFNM0IsT0FBSyxHQUFHZ0IsSUFBZDs7QUFDQSxnQkFBSWhCLE9BQUosRUFBVztBQUNULHFCQUFPeUIsUUFBUSxDQUFDekIsT0FBRCxDQUFmO0FBQ0Q7QUFDRjtBQUNGLFNBVEksQ0FBTDtBQVVEO0FBQ0YsS0F6REQsTUF5RE87QUFDTCxhQUFPVSxPQUFPLENBQUNLLE1BQUQsQ0FBZDtBQUNEO0FBQ0YsR0FuRU0sQ0FBUDtBQW9FRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlY3JlY3lDbGllbnQgfSBmcm9tIFwiLi9pbmRleC5qc1wiO1xuaW1wb3J0IHsgcG9wdXAgfSBmcm9tIFwiLi4vUG9wdXBUb29scy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTZWNyZWN5VXNlckFwcCB9IGZyb20gXCIuL3R5cGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBnZXRTdG9yYWdlIH0gZnJvbSBcIi4vc3RvcmFnZS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbmZvcygpOiBTZWNyZWN5VXNlckFwcCB8IG51bGwge1xuICBpZiAoIXdpbmRvdy5sb2NhdGlvbi5oYXNoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaGFzaCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoLnN1YnN0cigxKTtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXMgPSBKU09OLnBhcnNlKGF0b2IoaGFzaCkpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gXCJcIjtcbiAgICAvLyBUT0RPIEFkZCBvYmplY3QgY29udGVudCB2YWxpZGF0aW9uXG4gICAgcmV0dXJuIHJlcztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgSGFzaEluZm9zID0ge1xuICBhcHBVcmw6IHN0cmluZztcbiAgYmFja1BhdGg/OiBzdHJpbmc7XG4gIGFwcENvZGU/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwYXRoPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcmVkaXJlY3Q/OiBib29sZWFuO1xuICBzY29wZXM/OiB7XG4gICAgZW1haWw6IGJvb2xlYW47XG4gIH07XG59O1xuZXhwb3J0IHR5cGUgU2VjcmVjeUVudiA9IFwiZGV2XCIgfCBcInByb2RcIjtcbmV4cG9ydCB0eXBlIFVzZVNlY3JlY3lQYXJhbXMgPSBPbWl0PEhhc2hJbmZvcywgXCJhcHBVcmxcIj4gJiB7XG4gIGVudjogU2VjcmVjeUVudjtcbiAgc2Vzc2lvbj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBWYWx1ZTxUIGV4dGVuZHMgVXNlU2VjcmVjeVBhcmFtcz4gPSBUIGV4dGVuZHMgeyByZWRpcmVjdDogdHJ1ZSB9XG4gID8gU2VjcmVjeUNsaWVudCB8IG51bGxcbiAgOiBTZWNyZWN5Q2xpZW50O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VjcmVjeUNsaWVudChcbiAgZW52OiBTZWNyZWN5RW52LFxuICBzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuKTogU2VjcmVjeUNsaWVudCB8IG51bGwge1xuICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShzZXNzaW9uKTtcbiAgY29uc3QgdWFTZXNzaW9uID0gc3RvcmFnZS51c2VyQXBwU2Vzc2lvbi5sb2FkKCk7XG4gIGNvbnN0IHVhS2V5cyA9IHN0b3JhZ2UudXNlckFwcEtleXMubG9hZCgpO1xuICBjb25zdCB1YUp3dCA9IHN0b3JhZ2Uuand0LmxvYWQoKTtcbiAgaWYgKCF1YVNlc3Npb24gfHwgIXVhS2V5cyB8fCAhdWFKd3QpIHtcbiAgICBjb25zdCBpbmZvcyA9IHBhcnNlSW5mb3MoKTtcbiAgICBpZiAoaW5mb3MpIHtcbiAgICAgIHN0b3JhZ2UudXNlckFwcEtleXMuc2F2ZShpbmZvcy5rZXlzKTtcbiAgICAgIHN0b3JhZ2UudXNlckFwcFNlc3Npb24uc2F2ZShpbmZvcy51YVNlc3Npb24pO1xuICAgICAgc3RvcmFnZS5qd3Quc2F2ZShpbmZvcy5qd3QpO1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZWN5Q2xpZW50KGluZm9zLnVhU2Vzc2lvbiwgaW5mb3Mua2V5cywgaW5mb3Muand0LCBlbnYpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXcgU2VjcmVjeUNsaWVudCh1YVNlc3Npb24sIHVhS2V5cywgdWFKd3QsIGVudik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dpbjxUIGV4dGVuZHMgVXNlU2VjcmVjeVBhcmFtcz4oXG4gIHsgYXBwQ29kZSwgcGF0aCwgcmVkaXJlY3QsIHNjb3BlcywgYmFja1BhdGgsIGVudiwgc2Vzc2lvbiB9OiBUID0ge30gYXMgVFxuKTogUHJvbWlzZTxWYWx1ZTxUPj4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGFwcFVybCA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG4gICAgaWYgKGFwcENvZGUgJiYgIWFwcFVybC5pbmNsdWRlcyhcImxvY2FsaG9zdFwiKSkge1xuICAgICAgcmV0dXJuIHJlamVjdChcIkNhbid0IHVzZSBhcHBDb2RlIGlmIG5vdCBpbiBsb2NhbGhvc3RcIik7XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudCA9IGdldFNlY3JlY3lDbGllbnQoZW52KTtcblxuICAgIGlmICghY2xpZW50KSB7XG4gICAgICBjb25zdCBpbmZvczogSGFzaEluZm9zID0ge1xuICAgICAgICBhcHBVcmwsXG4gICAgICAgIGFwcENvZGUsXG4gICAgICAgIHJlZGlyZWN0LFxuICAgICAgICBwYXRoLFxuICAgICAgICBzY29wZXMsXG4gICAgICAgIGJhY2tQYXRoXG4gICAgICB9O1xuICAgICAgY29uc3QgZGF0YSA9IGJ0b2EoSlNPTi5zdHJpbmdpZnkoaW5mb3MpKS5yZXBsYWNlQWxsKFwiPVwiLCBcIlwiKTtcblxuICAgICAgbGV0IGVudlN0ciA9IFwiXCI7XG4gICAgICBpZiAoZW52ID09PSBcImRldlwiKSB7XG4gICAgICAgIGVudlN0ciA9IFwiZGV2LlwiO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYW5nID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmxhbmc7XG5cbiAgICAgIGNvbnN0IHVybCA9IGBodHRwczovL2F1dGguJHtlbnZTdHJ9c2VjcmVjeS5tZSR7XG4gICAgICAgIGxhbmcgPyBgLyR7bGFuZ31gIDogXCJcIlxuICAgICAgfS9sb2dpbiMke2RhdGF9YDtcblxuICAgICAgY29uc3QgdmFsaWRhdGUgPSAoaW5mb3M6IFNlY3JlY3lVc2VyQXBwKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKHNlc3Npb24pO1xuICAgICAgICBzdG9yYWdlLnVzZXJBcHBTZXNzaW9uLnNhdmUoaW5mb3MudWFTZXNzaW9uKTtcbiAgICAgICAgc3RvcmFnZS51c2VyQXBwS2V5cy5zYXZlKGluZm9zLmtleXMpO1xuICAgICAgICBzdG9yYWdlLmp3dC5zYXZlKGluZm9zLmp3dCk7XG4gICAgICAgIHJldHVybiByZXNvbHZlKFxuICAgICAgICAgIG5ldyBTZWNyZWN5Q2xpZW50KFxuICAgICAgICAgICAgaW5mb3MudWFTZXNzaW9uLFxuICAgICAgICAgICAgaW5mb3Mua2V5cyxcbiAgICAgICAgICAgIGluZm9zLmp3dCxcbiAgICAgICAgICAgIGVudlxuICAgICAgICAgICkgYXMgVmFsdWU8VD5cbiAgICAgICAgKTtcbiAgICAgIH07XG5cbiAgICAgIGlmIChyZWRpcmVjdCkge1xuICAgICAgICBjb25zdCBpbmZvcyA9IHBhcnNlSW5mb3MoKTtcbiAgICAgICAgaWYgKGluZm9zKSB7XG4gICAgICAgICAgcmV0dXJuIHZhbGlkYXRlKGluZm9zKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZShudWxsIGFzIFZhbHVlPFQ+KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9wdXAodXJsLCBcIlNlY3JlY3kgTG9naW5cIiwge30sIChlcnIsIGRhdGEpID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGluZm9zID0gZGF0YSBhcyBTZWNyZWN5VXNlckFwcDtcbiAgICAgICAgICAgIGlmIChpbmZvcykge1xuICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGUoaW5mb3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiByZXNvbHZlKGNsaWVudCBhcyBWYWx1ZTxUPik7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
@@ -0,0 +1,172 @@
1
+ import type { MailType } from "./../zeus/index";
2
+ import type { DownloadProgress } from "ky";
3
+ import type { SuccessResponse } from "../BaseClient.js";
4
+ import { BaseClient } from "../BaseClient.js";
5
+ import type { Progress } from "../crypto/file.js";
6
+ import type { ReceivedMail, SentMail, Folder, VFileWithFolder, FolderFull, UserAppSettings, UserAppNotifications, File as SecrecyFile, WaitingReceivedMail, DraftMail, VFile, Mail } from "./types/index.js";
7
+ import type { KeyPair } from "../crypto/index.js";
8
+ import type { SecrecyEnv } from "./helpers.js";
9
+ import type { Rights } from "../zeus/index.js";
10
+ import type { ErrorAccessDenied, ErrorNotFound, ErrorBasic, ErrorNotExist, ErrorLimit } from "../error.js";
11
+ export declare type NewMail = {
12
+ body: string;
13
+ subject: string;
14
+ files: {
15
+ id: string;
16
+ name: string;
17
+ }[];
18
+ recipientsIds: string[];
19
+ replyTo?: string | null | undefined;
20
+ };
21
+ export declare type ProgressCallback = (progress: Progress) => Promise<void>;
22
+ export declare class SecrecyClient extends BaseClient {
23
+ #private;
24
+ jwt: string;
25
+ constructor(uaSession: string, uaKeys: KeyPair, uaJwt: string, env: SecrecyEnv);
26
+ get publicKey(): string;
27
+ addFileToHistory({ fileId, vFileId }: {
28
+ fileId: string;
29
+ vFileId: string;
30
+ }): Promise<SuccessResponse<VFile> | ErrorAccessDenied | ErrorNotExist | null>;
31
+ uploadFile({ file, encryptProgress, uploadProgress, signal }: {
32
+ file: globalThis.File | Uint8Array;
33
+ encryptProgress?: ProgressCallback;
34
+ uploadProgress?: ProgressCallback;
35
+ signal?: AbortSignal;
36
+ }): Promise<SuccessResponse<string> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | null>;
37
+ uploadFileInCloud({ file, name, folderId, encryptProgress, uploadProgress, signal }: {
38
+ file: globalThis.File | Uint8Array;
39
+ name: string;
40
+ folderId?: string;
41
+ encryptProgress?: ProgressCallback;
42
+ uploadProgress?: ProgressCallback;
43
+ signal?: AbortSignal;
44
+ }): Promise<SuccessResponse<VFileWithFolder<SecrecyFile>> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | ErrorBasic | ErrorNotExist | null>;
45
+ logout(sessionId?: string | null | undefined): Promise<void>;
46
+ createFolder({ name, parentFolderId }: {
47
+ name: string;
48
+ parentFolderId?: string | null;
49
+ }): Promise<SuccessResponse<FolderFull> | ErrorAccessDenied | ErrorNotExist | null>;
50
+ folder({ id, deleted }?: {
51
+ id?: string | null | undefined;
52
+ deleted?: boolean | null | undefined;
53
+ }): Promise<SuccessResponse<FolderFull> | ErrorAccessDenied | null>;
54
+ file({ id }: {
55
+ id: string;
56
+ }): Promise<SuccessResponse<SecrecyFile> | ErrorAccessDenied | null>;
57
+ vFile({ id }: {
58
+ id: string;
59
+ }): Promise<SuccessResponse<VFileWithFolder> | ErrorAccessDenied | null>;
60
+ mail({ id }: {
61
+ id: string;
62
+ }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null>;
63
+ shareVFile({ vFileId, userId, rights }: {
64
+ vFileId: string;
65
+ userId: string;
66
+ rights: Rights;
67
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
68
+ sharedVFiles(): Promise<SuccessResponse<VFileWithFolder[]> | ErrorAccessDenied | null>;
69
+ vFilesSharedWithMe(): Promise<SuccessResponse<VFileWithFolder[]> | ErrorAccessDenied | null>;
70
+ deletedVFiles(): Promise<SuccessResponse<VFile[]> | ErrorAccessDenied | null>;
71
+ sharedFolders(): Promise<SuccessResponse<Folder[]> | ErrorAccessDenied | null>;
72
+ foldersSharedWithMe(): Promise<SuccessResponse<Folder[]> | ErrorAccessDenied | null>;
73
+ deletedFolders(): Promise<SuccessResponse<Folder[]> | ErrorAccessDenied | null>;
74
+ deletedMails({ mailType }: {
75
+ mailType: MailType;
76
+ }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
77
+ shareFolder({ folderId, userId, rights }: {
78
+ folderId: string;
79
+ userId: string;
80
+ rights: Rights;
81
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
82
+ updateFolder({ folderId, name, isFavorite, deletedAt }: {
83
+ folderId: string;
84
+ name?: string | null | undefined;
85
+ isFavorite?: boolean | null | undefined;
86
+ deletedAt?: Date | null | undefined;
87
+ }): Promise<SuccessResponse<FolderFull> | ErrorAccessDenied | ErrorNotExist | null>;
88
+ updateAppNotifications(notifications: Partial<UserAppNotifications>): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null>;
89
+ appNotifications(): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | ErrorNotFound | null>;
90
+ createMail(data: NewMail, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null>;
91
+ waitingReceivedMails(): Promise<SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null>;
92
+ updateDraftMail(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<SuccessResponse<DraftMail> | ErrorNotFound | ErrorAccessDenied | ErrorBasic | null>;
93
+ deleteDraftMail(draftId: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
94
+ deleteVFileSharing({ vFileId, userId }: {
95
+ vFileId: string;
96
+ userId: string;
97
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
98
+ deleteFolderSharing({ folderId, userId }: {
99
+ folderId: string;
100
+ userId: string;
101
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
102
+ duplicateVFile({ vFileId, folderId, customName }: {
103
+ vFileId: string;
104
+ folderId?: string | null | undefined;
105
+ customName?: string | null | undefined;
106
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
107
+ deleteFolderCloudTrash({ ids }: {
108
+ ids: Array<string>;
109
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
110
+ deleteVFileCloudTrash({ ids }: {
111
+ ids: Array<string>;
112
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
113
+ deleteMailTrash({ ids }: {
114
+ ids: Array<string>;
115
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
116
+ emptyMailTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
117
+ emptyCloudTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
118
+ recoverVFile({ vFileId }: {
119
+ vFileId: string;
120
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
121
+ recoverFolder({ id }: {
122
+ id: string;
123
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
124
+ recoverMail({ mailId }: {
125
+ mailId: string;
126
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
127
+ deleteFile({ fileId, vFileId }: {
128
+ fileId: string;
129
+ vFileId: string;
130
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
131
+ deleteVFile({ fileId }: {
132
+ fileId: string;
133
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
134
+ deleteMail({ mailId }: {
135
+ mailId: string;
136
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
137
+ saveInCloud({ fileId, name, folderId }: {
138
+ fileId: string;
139
+ name: string;
140
+ folderId?: string;
141
+ }): Promise<SuccessResponse<VFileWithFolder> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
142
+ sendDraftMail(draftId: string, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
143
+ sendWaitingEmails(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
144
+ createDraftMail({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null>;
145
+ fileContent({ fileId, onDownloadProgress, progressDecrypt, signal }: {
146
+ fileId: string;
147
+ onDownloadProgress?: (progress: DownloadProgress) => void;
148
+ progressDecrypt?: ProgressCallback;
149
+ signal?: AbortSignal;
150
+ }): Promise<SuccessResponse<Uint8Array> | ErrorAccessDenied | ErrorBasic | null>;
151
+ updateFile({ fileId, filename, isFavorite, deletedAt }: {
152
+ fileId: string;
153
+ filename?: string | null | undefined;
154
+ isFavorite?: boolean | null | undefined;
155
+ deletedAt?: Date | null | undefined;
156
+ }): Promise<SuccessResponse<VFile> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
157
+ readMail({ mailId }: {
158
+ mailId: string;
159
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
160
+ unreadMail({ mailId }: {
161
+ mailId: string;
162
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
163
+ appSettings(): Promise<SuccessResponse<UserAppSettings> | ErrorNotFound | null>;
164
+ updateAppSettings(settings: Partial<UserAppSettings>): Promise<SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null>;
165
+ receivedMails(): Promise<SuccessResponse<ReceivedMail[]> | ErrorNotFound | null>;
166
+ sentMails(): Promise<SuccessResponse<SentMail[]> | ErrorNotFound | null>;
167
+ draftMails(): Promise<SuccessResponse<DraftMail[]> | ErrorNotFound | null>;
168
+ private perFolder;
169
+ private perVFile;
170
+ unreadReceivedMailsCount(): Promise<SuccessResponse<number> | ErrorAccessDenied | null>;
171
+ private _eachUser;
172
+ }