@secrecy/lib 1.0.0-dev.39 → 1.0.0-dev.42

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 (63) hide show
  1. package/dist/BaseClient.d.ts +33 -53
  2. package/dist/BaseClient.js +886 -2093
  3. package/dist/PopupTools.js +20 -21
  4. package/dist/ZeusThunder.js +50 -84
  5. package/dist/cache.d.ts +2 -3
  6. package/dist/cache.js +4 -5
  7. package/dist/client/admin/index.js +77 -165
  8. package/dist/client/convert/file.d.ts +3 -3
  9. package/dist/client/convert/file.js +18 -23
  10. package/dist/client/convert/mail.js +13 -13
  11. package/dist/client/convert/node.d.ts +9 -0
  12. package/dist/client/convert/node.js +101 -0
  13. package/dist/client/helpers.js +41 -41
  14. package/dist/client/index.d.ts +63 -74
  15. package/dist/client/index.js +2727 -5759
  16. package/dist/client/storage.js +7 -7
  17. package/dist/client/types/File.d.ts +6 -13
  18. package/dist/client/types/File.js +1 -1
  19. package/dist/client/types/Inputs.d.ts +2 -7
  20. package/dist/client/types/Inputs.js +1 -1
  21. package/dist/client/types/Node.d.ts +49 -0
  22. package/dist/client/types/Node.js +3 -0
  23. package/dist/client/types/UserAppNotifications.d.ts +1 -1
  24. package/dist/client/types/UserAppNotifications.js +1 -1
  25. package/dist/client/types/UserAppSettings.js +1 -1
  26. package/dist/client/types/index.d.ts +7 -13
  27. package/dist/client/types/index.js +2 -4
  28. package/dist/client/types/selectors.d.ts +476 -0
  29. package/dist/client/types/selectors.js +125 -0
  30. package/dist/crypto/file.js +122 -203
  31. package/dist/crypto/index.js +14 -12
  32. package/dist/error.js +1 -1
  33. package/dist/index.d.ts +1 -2
  34. package/dist/index.js +2 -34
  35. package/dist/minify/index.js +7 -7
  36. package/dist/minify/lz4.js +87 -93
  37. package/dist/sodium.js +3 -25
  38. package/dist/utils/store-buddy.js +11 -15
  39. package/dist/utils/time.js +4 -12
  40. package/dist/{utils.d.ts → utils/utils.d.ts} +0 -0
  41. package/dist/utils/utils.js +57 -0
  42. package/dist/worker/__mock__/sodium.worker.js +35 -32
  43. package/dist/worker/md5.js +21 -39
  44. package/dist/worker/sodium.js +95 -130
  45. package/dist/worker/workerCodes.js +3 -3
  46. package/dist/zeus/const.d.ts +5 -0
  47. package/dist/zeus/const.js +303 -1360
  48. package/dist/zeus/index.d.ts +1805 -1817
  49. package/dist/zeus/index.js +542 -434
  50. package/package.json +40 -39
  51. package/dist/client/convert/folder.d.ts +0 -8
  52. package/dist/client/convert/folder.js +0 -264
  53. package/dist/client/convert/vFile.d.ts +0 -5
  54. package/dist/client/convert/vFile.js +0 -164
  55. package/dist/client/types/FilesOnUsersOnApplications.d.ts +0 -9
  56. package/dist/client/types/FilesOnUsersOnApplications.js +0 -3
  57. package/dist/client/types/Folder.d.ts +0 -68
  58. package/dist/client/types/Folder.js +0 -7
  59. package/dist/client/types/VFile.d.ts +0 -62
  60. package/dist/client/types/VFile.js +0 -4
  61. package/dist/client/types/queries.d.ts +0 -535
  62. package/dist/client/types/queries.js +0 -192
  63. package/dist/utils.js +0 -188
@@ -6,25 +6,25 @@ export function parseInfos() {
6
6
  return null;
7
7
  }
8
8
 
9
- var hash = window.location.hash.substr(1);
9
+ const hash = window.location.hash.substr(1);
10
10
 
11
11
  try {
12
- var res = JSON.parse(atob(hash));
12
+ const res = JSON.parse(atob(hash));
13
13
  window.location.hash = ""; // TODO Add object content validation
14
14
 
15
15
  return res;
16
- } catch (_unused) {
16
+ } catch {
17
17
  return null;
18
18
  }
19
19
  }
20
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();
21
+ const storage = getStorage(session);
22
+ const uaSession = storage.userAppSession.load();
23
+ const uaKeys = storage.userAppKeys.load();
24
+ const uaJwt = storage.jwt.load();
25
25
 
26
26
  if (!uaSession || !uaKeys || !uaJwt) {
27
- var infos = parseInfos();
27
+ const infos = parseInfos();
28
28
 
29
29
  if (infos) {
30
30
  storage.userAppKeys.save(infos.keys);
@@ -39,45 +39,45 @@ export function getSecrecyClient(env, session) {
39
39
  return new SecrecyClient(uaSession, uaKeys, uaJwt, env);
40
40
  }
41
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;
42
+ let {
43
+ appCode,
44
+ path,
45
+ redirect,
46
+ scopes,
47
+ backPath,
48
+ env,
49
+ session
50
+ } = _temp === void 0 ? {} : _temp;
51
+ return new Promise((resolve, reject) => {
52
+ const appUrl = window.location.origin;
53
53
 
54
54
  if (appCode && !appUrl.includes("localhost")) {
55
55
  return reject("Can't use appCode if not in localhost");
56
56
  }
57
57
 
58
- var client = getSecrecyClient(env);
58
+ const client = getSecrecyClient(env);
59
59
 
60
60
  if (!client) {
61
- var infos = {
62
- appUrl: appUrl,
63
- appCode: appCode,
64
- redirect: redirect,
65
- path: path,
66
- scopes: scopes,
67
- backPath: backPath
61
+ const infos = {
62
+ appUrl,
63
+ appCode,
64
+ redirect,
65
+ path,
66
+ scopes,
67
+ backPath
68
68
  };
69
- var data = btoa(JSON.stringify(infos)).replaceAll("=", "");
70
- var envStr = "";
69
+ const data = btoa(JSON.stringify(infos)).replaceAll("=", "");
70
+ let envStr = "";
71
71
 
72
72
  if (env === "dev") {
73
73
  envStr = "dev.";
74
74
  }
75
75
 
76
- var lang = document.documentElement.lang;
77
- var url = process.env.NEXT_PUBLIC_SECRECY_API_URL ? "http://localhost:3002" + (lang ? "/" + lang : "") + "/login#" + data : "https://auth." + envStr + "secrecy.me" + (lang ? "/" + lang : "") + "/login#" + data;
76
+ const lang = document.documentElement.lang;
77
+ const url = process.env.NEXT_PUBLIC_SECRECY_API_URL ? "http://localhost:3002" + (lang ? "/" + lang : "") + "/login#" + data : "https://auth." + envStr + "secrecy.me" + (lang ? "/" + lang : "") + "/login#" + data;
78
78
 
79
- var validate = function validate(infos) {
80
- var storage = getStorage(session);
79
+ const validate = infos => {
80
+ const storage = getStorage(session);
81
81
  storage.userAppSession.save(infos.uaSession);
82
82
  storage.userAppKeys.save(infos.keys);
83
83
  storage.jwt.save(infos.jwt);
@@ -85,23 +85,23 @@ export function login(_temp) {
85
85
  };
86
86
 
87
87
  if (redirect) {
88
- var _infos = parseInfos();
88
+ const infos = parseInfos();
89
89
 
90
- if (_infos) {
91
- return validate(_infos);
90
+ if (infos) {
91
+ return validate(infos);
92
92
  } else {
93
93
  window.location.href = url;
94
94
  return resolve(null);
95
95
  }
96
96
  } else {
97
- popup(url, "Secrecy Login", {}, function (err, data) {
97
+ popup(url, "Secrecy Login", {}, (err, data) => {
98
98
  if (err) {
99
99
  return reject(err);
100
100
  } else {
101
- var _infos2 = data;
101
+ const infos = data;
102
102
 
103
- if (_infos2) {
104
- return validate(_infos2);
103
+ if (infos) {
104
+ return validate(infos);
105
105
  }
106
106
  }
107
107
  });
@@ -111,4 +111,4 @@ export function login(_temp) {
111
111
  }
112
112
  });
113
113
  }
114
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvaGVscGVycy50cyJdLCJuYW1lcyI6WyJTZWNyZWN5Q2xpZW50IiwicG9wdXAiLCJnZXRTdG9yYWdlIiwicGFyc2VJbmZvcyIsIndpbmRvdyIsImxvY2F0aW9uIiwiaGFzaCIsInN1YnN0ciIsInJlcyIsIkpTT04iLCJwYXJzZSIsImF0b2IiLCJnZXRTZWNyZWN5Q2xpZW50IiwiZW52Iiwic2Vzc2lvbiIsInN0b3JhZ2UiLCJ1YVNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImxvYWQiLCJ1YUtleXMiLCJ1c2VyQXBwS2V5cyIsInVhSnd0Iiwiand0IiwiaW5mb3MiLCJzYXZlIiwia2V5cyIsImxvZ2luIiwiYXBwQ29kZSIsInBhdGgiLCJyZWRpcmVjdCIsInNjb3BlcyIsImJhY2tQYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBVcmwiLCJvcmlnaW4iLCJpbmNsdWRlcyIsImNsaWVudCIsImRhdGEiLCJidG9hIiwic3RyaW5naWZ5IiwicmVwbGFjZUFsbCIsImVudlN0ciIsImxhbmciLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInVybCIsInByb2Nlc3MiLCJORVhUX1BVQkxJQ19TRUNSRUNZX0FQSV9VUkwiLCJ2YWxpZGF0ZSIsImhyZWYiLCJlcnIiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQVQsUUFBOEIsWUFBOUI7QUFDQSxTQUFTQyxLQUFULFFBQXNCLGtCQUF0QjtBQUVBLFNBQVNDLFVBQVQsUUFBMkIsY0FBM0I7QUFFQSxPQUFPLFNBQVNDLFVBQVQsR0FBNkM7QUFDbEQsTUFBSSxDQUFDQyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JDLElBQXJCLEVBQTJCO0FBQ3pCLFdBQU8sSUFBUDtBQUNEOztBQUNELE1BQU1BLElBQUksR0FBR0YsTUFBTSxDQUFDQyxRQUFQLENBQWdCQyxJQUFoQixDQUFxQkMsTUFBckIsQ0FBNEIsQ0FBNUIsQ0FBYjs7QUFDQSxNQUFJO0FBQ0YsUUFBTUMsR0FB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TUFFTztBQUNMbkIsVUFBQUEsTUFBTSxDQUFDQyxRQUFQLENBQWdCOEMsSUFBaEIsR0FBdUJKLEdBQXZCO0FBQ0EsaUJBQU9kLE9BQU8sQ0FBQyxJQUFELENBQWQ7QUFDRDtBQUNGLE9BUkQsTUFRTztBQUNMaEMsUUFBQUEsS0FBSyxDQUFDOEMsR0FBRCxFQUFNLGVBQU4sRUFBdUIsRUFBdkIsRUFBMkIsVUFBQ0ssR0FBRCxFQUFNYixJQUFOLEVBQWU7QUFDN0MsY0FBSWEsR0FBSixFQUFTO0FBQ1AsbUJBQU9sQixNQUFNLENBQUNrQixHQUFELENBQWI7QUFDRCxXQUZELE1BRU87QUFDTCxnQkFBTTdCLE9BQUssR0FBR2dCLElBQWQ7O0FBQ0EsZ0JBQUloQixPQUFKLEVBQVc7QUFDVCxxQkFBTzJCLFFBQVEsQ0FBQzNCLE9BQUQsQ0FBZjtBQUNEO0FBQ0Y7QUFDRixTQVRJLENBQUw7QUFVRDtBQUNGLEtBM0RELE1BMkRPO0FBQ0wsYUFBT1UsT0FBTyxDQUFDSyxNQUFELENBQWQ7QUFDRDtBQUNGLEdBckVNLENBQVA7QUFzRUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWNyZWN5Q2xpZW50IH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB7IHBvcHVwIH0gZnJvbSBcIi4uL1BvcHVwVG9vbHMuanNcIjtcbmltcG9ydCB0eXBlIHsgU2VjcmVjeVVzZXJBcHAgfSBmcm9tIFwiLi90eXBlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCIuL3N0b3JhZ2UuanNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSW5mb3MoKTogU2VjcmVjeVVzZXJBcHAgfCBudWxsIHtcbiAgaWYgKCF3aW5kb3cubG9jYXRpb24uaGFzaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHIoMSk7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzID0gSlNPTi5wYXJzZShhdG9iKGhhc2gpKTtcbiAgICB3aW5kb3cubG9jYXRpb24uaGFzaCA9IFwiXCI7XG4gICAgLy8gVE9ETyBBZGQgb2JqZWN0IGNvbnRlbnQgdmFsaWRhdGlvblxuICAgIHJldHVybiByZXM7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEhhc2hJbmZvcyA9IHtcbiAgYXBwVXJsOiBzdHJpbmc7XG4gIGJhY2tQYXRoPzogc3RyaW5nO1xuICBhcHBDb2RlPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcGF0aD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHJlZGlyZWN0PzogYm9vbGVhbjtcbiAgc2NvcGVzPzoge1xuICAgIGVtYWlsOiBib29sZWFuO1xuICB9O1xufTtcbmV4cG9ydCB0eXBlIFNlY3JlY3lFbnYgPSBcImRldlwiIHwgXCJwcm9kXCI7XG5leHBvcnQgdHlwZSBVc2VTZWNyZWN5UGFyYW1zID0gT21pdDxIYXNoSW5mb3MsIFwiYXBwVXJsXCI+ICYge1xuICBlbnY6IFNlY3JlY3lFbnY7XG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IHR5cGUgVmFsdWU8VCBleHRlbmRzIFVzZVNlY3JlY3lQYXJhbXM+ID0gVCBleHRlbmRzIHsgcmVkaXJlY3Q6IHRydWUgfVxuICA/IFNlY3JlY3lDbGllbnQgfCBudWxsXG4gIDogU2VjcmVjeUNsaWVudDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3JlY3lDbGllbnQoXG4gIGVudjogU2VjcmVjeUVudixcbiAgc2Vzc2lvbj86IGJvb2xlYW4gfCB1bmRlZmluZWRcbik6IFNlY3JlY3lDbGllbnQgfCBudWxsIHtcbiAgY29uc3Qgc3RvcmFnZSA9IGdldFN0b3JhZ2Uoc2Vzc2lvbik7XG4gIGNvbnN0IHVhU2Vzc2lvbiA9IHN0b3JhZ2UudXNlckFwcFNlc3Npb24ubG9hZCgpO1xuICBjb25zdCB1YUtleXMgPSBzdG9yYWdlLnVzZXJBcHBLZXlzLmxvYWQoKTtcbiAgY29uc3QgdWFKd3QgPSBzdG9yYWdlLmp3dC5sb2FkKCk7XG4gIGlmICghdWFTZXNzaW9uIHx8ICF1YUtleXMgfHwgIXVhSnd0KSB7XG4gICAgY29uc3QgaW5mb3MgPSBwYXJzZUluZm9zKCk7XG4gICAgaWYgKGluZm9zKSB7XG4gICAgICBzdG9yYWdlLnVzZXJBcHBLZXlzLnNhdmUoaW5mb3Mua2V5cyk7XG4gICAgICBzdG9yYWdlLnVzZXJBcHBTZXNzaW9uLnNhdmUoaW5mb3MudWFTZXNzaW9uKTtcbiAgICAgIHN0b3JhZ2Uuand0LnNhdmUoaW5mb3Muand0KTtcbiAgICAgIHJldHVybiBuZXcgU2VjcmVjeUNsaWVudChpbmZvcy51YVNlc3Npb24sIGluZm9zLmtleXMsIGluZm9zLmp3dCwgZW52KTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4gbmV3IFNlY3JlY3lDbGllbnQodWFTZXNzaW9uLCB1YUtleXMsIHVhSnd0LCBlbnYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9naW48VCBleHRlbmRzIFVzZVNlY3JlY3lQYXJhbXM+KFxuICB7IGFwcENvZGUsIHBhdGgsIHJlZGlyZWN0LCBzY29wZXMsIGJhY2tQYXRoLCBlbnYsIHNlc3Npb24gfTogVCA9IHt9IGFzIFRcbik6IFByb21pc2U8VmFsdWU8VD4+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBhcHBVcmwgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xuICAgIGlmIChhcHBDb2RlICYmICFhcHBVcmwuaW5jbHVkZXMoXCJsb2NhbGhvc3RcIikpIHtcbiAgICAgIHJldHVybiByZWplY3QoXCJDYW4ndCB1c2UgYXBwQ29kZSBpZiBub3QgaW4gbG9jYWxob3N0XCIpO1xuICAgIH1cbiAgICBjb25zdCBjbGllbnQgPSBnZXRTZWNyZWN5Q2xpZW50KGVudik7XG5cbiAgICBpZiAoIWNsaWVudCkge1xuICAgICAgY29uc3QgaW5mb3M6IEhhc2hJbmZvcyA9IHtcbiAgICAgICAgYXBwVXJsLFxuICAgICAgICBhcHBDb2RlLFxuICAgICAgICByZWRpcmVjdCxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgc2NvcGVzLFxuICAgICAgICBiYWNrUGF0aFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGRhdGEgPSBidG9hKEpTT04uc3RyaW5naWZ5KGluZm9zKSkucmVwbGFjZUFsbChcIj1cIiwgXCJcIik7XG5cbiAgICAgIGxldCBlbnZTdHIgPSBcIlwiO1xuICAgICAgaWYgKGVudiA9PT0gXCJkZXZcIikge1xuICAgICAgICBlbnZTdHIgPSBcImRldi5cIjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbGFuZyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5sYW5nO1xuXG4gICAgICBjb25zdCB1cmwgPSBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19TRUNSRUNZX0FQSV9VUkxcbiAgICAgICAgPyBgaHR0cDovL2xvY2FsaG9zdDozMDAyJHtsYW5nID8gYC8ke2xhbmd9YCA6IFwiXCJ9L2xvZ2luIyR7ZGF0YX1gXG4gICAgICAgIDogYGh0dHBzOi8vYXV0aC4ke2VudlN0cn1zZWNyZWN5Lm1lJHtcbiAgICAgICAgICAgIGxhbmcgPyBgLyR7bGFuZ31gIDogXCJcIlxuICAgICAgICAgIH0vbG9naW4jJHtkYXRhfWA7XG5cbiAgICAgIGNvbnN0IHZhbGlkYXRlID0gKGluZm9zOiBTZWNyZWN5VXNlckFwcCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShzZXNzaW9uKTtcbiAgICAgICAgc3RvcmFnZS51c2VyQXBwU2Vzc2lvbi5zYXZlKGluZm9zLnVhU2Vzc2lvbik7XG4gICAgICAgIHN0b3JhZ2UudXNlckFwcEtleXMuc2F2ZShpbmZvcy5rZXlzKTtcbiAgICAgICAgc3RvcmFnZS5qd3Quc2F2ZShpbmZvcy5qd3QpO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZShcbiAgICAgICAgICBuZXcgU2VjcmVjeUNsaWVudChcbiAgICAgICAgICAgIGluZm9zLnVhU2Vzc2lvbixcbiAgICAgICAgICAgIGluZm9zLmtleXMsXG4gICAgICAgICAgICBpbmZvcy5qd3QsXG4gICAgICAgICAgICBlbnZcbiAgICAgICAgICApIGFzIFZhbHVlPFQ+XG4gICAgICAgICk7XG4gICAgICB9O1xuXG4gICAgICBpZiAocmVkaXJlY3QpIHtcbiAgICAgICAgY29uc3QgaW5mb3MgPSBwYXJzZUluZm9zKCk7XG4gICAgICAgIGlmIChpbmZvcykge1xuICAgICAgICAgIHJldHVybiB2YWxpZGF0ZShpbmZvcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XG4gICAgICAgICAgcmV0dXJuIHJlc29sdmUobnVsbCBhcyBWYWx1ZTxUPik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvcHVwKHVybCwgXCJTZWNyZWN5IExvZ2luXCIsIHt9LCAoZXJyLCBkYXRhKSA9PiB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpbmZvcyA9IGRhdGEgYXMgU2VjcmVjeVVzZXJBcHA7XG4gICAgICAgICAgICBpZiAoaW5mb3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRlKGluZm9zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZShjbGllbnQgYXMgVmFsdWU8VD4pO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWNyZWN5Q2xpZW50IiwicG9wdXAiLCJnZXRTdG9yYWdlIiwicGFyc2VJbmZvcyIsIndpbmRvdyIsImxvY2F0aW9uIiwiaGFzaCIsInN1YnN0ciIsInJlcyIsIkpTT04iLCJwYXJzZSIsImF0b2IiLCJnZXRTZWNyZWN5Q2xpZW50IiwiZW52Iiwic2Vzc2lvbiIsInN0b3JhZ2UiLCJ1YVNlc3Npb24iLCJ1c2VyQXBwU2Vzc2lvbiIsImxvYWQiLCJ1YUtleXMiLCJ1c2VyQXBwS2V5cyIsInVhSnd0Iiwiand0IiwiaW5mb3MiLCJzYXZlIiwia2V5cyIsImxvZ2luIiwiYXBwQ29kZSIsInBhdGgiLCJyZWRpcmVjdCIsInNjb3BlcyIsImJhY2tQYXRoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhcHBVcmwiLCJvcmlnaW4iLCJpbmNsdWRlcyIsImNsaWVudCIsImRhdGEiLCJidG9hIiwic3RyaW5naWZ5IiwicmVwbGFjZUFsbCIsImVudlN0ciIsImxhbmciLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsInVybCIsInByb2Nlc3MiLCJORVhUX1BVQkxJQ19TRUNSRUNZX0FQSV9VUkwiLCJ2YWxpZGF0ZSIsImhyZWYiLCJlcnIiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2hlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmVjeUNsaWVudCB9IGZyb20gXCIuL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBwb3B1cCB9IGZyb20gXCIuLi9Qb3B1cFRvb2xzLmpzXCI7XG5pbXBvcnQgdHlwZSB7IFNlY3JlY3lVc2VyQXBwIH0gZnJvbSBcIi4vdHlwZXMvaW5kZXguanNcIjtcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiLi9zdG9yYWdlLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUluZm9zKCk6IFNlY3JlY3lVc2VyQXBwIHwgbnVsbCB7XG4gIGlmICghd2luZG93LmxvY2F0aW9uLmhhc2gpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyKDEpO1xuICB0cnkge1xuICAgIGNvbnN0IHJlcyA9IEpTT04ucGFyc2UoYXRvYihoYXNoKSk7XG4gICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBcIlwiO1xuICAgIC8vIFRPRE8gQWRkIG9iamVjdCBjb250ZW50IHZhbGlkYXRpb25cbiAgICByZXR1cm4gcmVzO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBIYXNoSW5mb3MgPSB7XG4gIGFwcFVybDogc3RyaW5nO1xuICBiYWNrUGF0aD86IHN0cmluZztcbiAgYXBwQ29kZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHBhdGg/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICByZWRpcmVjdD86IGJvb2xlYW47XG4gIHNjb3Blcz86IHtcbiAgICBlbWFpbDogYm9vbGVhbjtcbiAgfTtcbn07XG5leHBvcnQgdHlwZSBTZWNyZWN5RW52ID0gXCJkZXZcIiB8IFwicHJvZFwiO1xuZXhwb3J0IHR5cGUgVXNlU2VjcmVjeVBhcmFtcyA9IE9taXQ8SGFzaEluZm9zLCBcImFwcFVybFwiPiAmIHtcbiAgZW52OiBTZWNyZWN5RW52O1xuICBzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFZhbHVlPFQgZXh0ZW5kcyBVc2VTZWNyZWN5UGFyYW1zPiA9IFQgZXh0ZW5kcyB7IHJlZGlyZWN0OiB0cnVlIH1cbiAgPyBTZWNyZWN5Q2xpZW50IHwgbnVsbFxuICA6IFNlY3JlY3lDbGllbnQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWNyZWN5Q2xpZW50KFxuICBlbnY6IFNlY3JlY3lFbnYsXG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBTZWNyZWN5Q2xpZW50IHwgbnVsbCB7XG4gIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKHNlc3Npb24pO1xuICBjb25zdCB1YVNlc3Npb24gPSBzdG9yYWdlLnVzZXJBcHBTZXNzaW9uLmxvYWQoKTtcbiAgY29uc3QgdWFLZXlzID0gc3RvcmFnZS51c2VyQXBwS2V5cy5sb2FkKCk7XG4gIGNvbnN0IHVhSnd0ID0gc3RvcmFnZS5qd3QubG9hZCgpO1xuICBpZiAoIXVhU2Vzc2lvbiB8fCAhdWFLZXlzIHx8ICF1YUp3dCkge1xuICAgIGNvbnN0IGluZm9zID0gcGFyc2VJbmZvcygpO1xuICAgIGlmIChpbmZvcykge1xuICAgICAgc3RvcmFnZS51c2VyQXBwS2V5cy5zYXZlKGluZm9zLmtleXMpO1xuICAgICAgc3RvcmFnZS51c2VyQXBwU2Vzc2lvbi5zYXZlKGluZm9zLnVhU2Vzc2lvbik7XG4gICAgICBzdG9yYWdlLmp3dC5zYXZlKGluZm9zLmp3dCk7XG4gICAgICByZXR1cm4gbmV3IFNlY3JlY3lDbGllbnQoaW5mb3MudWFTZXNzaW9uLCBpbmZvcy5rZXlzLCBpbmZvcy5qd3QsIGVudik7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBTZWNyZWN5Q2xpZW50KHVhU2Vzc2lvbiwgdWFLZXlzLCB1YUp3dCwgZW52KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2luPFQgZXh0ZW5kcyBVc2VTZWNyZWN5UGFyYW1zPihcbiAgeyBhcHBDb2RlLCBwYXRoLCByZWRpcmVjdCwgc2NvcGVzLCBiYWNrUGF0aCwgZW52LCBzZXNzaW9uIH06IFQgPSB7fSBhcyBUXG4pOiBQcm9taXNlPFZhbHVlPFQ+PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgYXBwVXJsID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbjtcbiAgICBpZiAoYXBwQ29kZSAmJiAhYXBwVXJsLmluY2x1ZGVzKFwibG9jYWxob3N0XCIpKSB7XG4gICAgICByZXR1cm4gcmVqZWN0KFwiQ2FuJ3QgdXNlIGFwcENvZGUgaWYgbm90IGluIGxvY2FsaG9zdFwiKTtcbiAgICB9XG4gICAgY29uc3QgY2xpZW50ID0gZ2V0U2VjcmVjeUNsaWVudChlbnYpO1xuXG4gICAgaWYgKCFjbGllbnQpIHtcbiAgICAgIGNvbnN0IGluZm9zOiBIYXNoSW5mb3MgPSB7XG4gICAgICAgIGFwcFVybCxcbiAgICAgICAgYXBwQ29kZSxcbiAgICAgICAgcmVkaXJlY3QsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHNjb3BlcyxcbiAgICAgICAgYmFja1BhdGhcbiAgICAgIH07XG4gICAgICBjb25zdCBkYXRhID0gYnRvYShKU09OLnN0cmluZ2lmeShpbmZvcykpLnJlcGxhY2VBbGwoXCI9XCIsIFwiXCIpO1xuXG4gICAgICBsZXQgZW52U3RyID0gXCJcIjtcbiAgICAgIGlmIChlbnYgPT09IFwiZGV2XCIpIHtcbiAgICAgICAgZW52U3RyID0gXCJkZXYuXCI7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxhbmcgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZztcblxuICAgICAgY29uc3QgdXJsID0gcHJvY2Vzcy5lbnYuTkVYVF9QVUJMSUNfU0VDUkVDWV9BUElfVVJMXG4gICAgICAgID8gYGh0dHA6Ly9sb2NhbGhvc3Q6MzAwMiR7bGFuZyA/IGAvJHtsYW5nfWAgOiBcIlwifS9sb2dpbiMke2RhdGF9YFxuICAgICAgICA6IGBodHRwczovL2F1dGguJHtlbnZTdHJ9c2VjcmVjeS5tZSR7XG4gICAgICAgICAgICBsYW5nID8gYC8ke2xhbmd9YCA6IFwiXCJcbiAgICAgICAgICB9L2xvZ2luIyR7ZGF0YX1gO1xuXG4gICAgICBjb25zdCB2YWxpZGF0ZSA9IChpbmZvczogU2VjcmVjeVVzZXJBcHApOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IGdldFN0b3JhZ2Uoc2Vzc2lvbik7XG4gICAgICAgIHN0b3JhZ2UudXNlckFwcFNlc3Npb24uc2F2ZShpbmZvcy51YVNlc3Npb24pO1xuICAgICAgICBzdG9yYWdlLnVzZXJBcHBLZXlzLnNhdmUoaW5mb3Mua2V5cyk7XG4gICAgICAgIHN0b3JhZ2Uuand0LnNhdmUoaW5mb3Muand0KTtcbiAgICAgICAgcmV0dXJuIHJlc29sdmUoXG4gICAgICAgICAgbmV3IFNlY3JlY3lDbGllbnQoXG4gICAgICAgICAgICBpbmZvcy51YVNlc3Npb24sXG4gICAgICAgICAgICBpbmZvcy5rZXlzLFxuICAgICAgICAgICAgaW5mb3Muand0LFxuICAgICAgICAgICAgZW52XG4gICAgICAgICAgKSBhcyBWYWx1ZTxUPlxuICAgICAgICApO1xuICAgICAgfTtcblxuICAgICAgaWYgKHJlZGlyZWN0KSB7XG4gICAgICAgIGNvbnN0IGluZm9zID0gcGFyc2VJbmZvcygpO1xuICAgICAgICBpZiAoaW5mb3MpIHtcbiAgICAgICAgICByZXR1cm4gdmFsaWRhdGUoaW5mb3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgICAgICAgIHJldHVybiByZXNvbHZlKG51bGwgYXMgVmFsdWU8VD4pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3B1cCh1cmwsIFwiU2VjcmVjeSBMb2dpblwiLCB7fSwgKGVyciwgZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiByZWplY3QoZXJyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaW5mb3MgPSBkYXRhIGFzIFNlY3JlY3lVc2VyQXBwO1xuICAgICAgICAgICAgaWYgKGluZm9zKSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZShpbmZvcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlc29sdmUoY2xpZW50IGFzIFZhbHVlPFQ+KTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxT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
@@ -1,9 +1,9 @@
1
- import type { MailType } from "./../zeus/index";
1
+ import type { MailType, NodeType } from "./../zeus/index";
2
2
  import type { DownloadProgress } from "ky";
3
- import type { SuccessResponse } from "../BaseClient.js";
3
+ import type { FolderSize, SuccessResponse, UserData } from "../BaseClient.js";
4
4
  import { BaseClient } from "../BaseClient.js";
5
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";
6
+ import type { ReceivedMail, SentMail, Node, NodeFull, UserAppSettings, UserAppNotifications, FileMetadata as SecrecyFile, WaitingReceivedMail, DraftMail, Mail } from "./types/index.js";
7
7
  import type { KeyPair } from "../crypto/index.js";
8
8
  import type { SecrecyEnv } from "./helpers.js";
9
9
  import type { Rights } from "../zeus/index.js";
@@ -27,121 +27,117 @@ export declare class SecrecyClient extends BaseClient {
27
27
  constructor(uaSession: string, uaKeys: KeyPair, uaJwt: string, env: SecrecyEnv);
28
28
  get publicKey(): string;
29
29
  get appUserId(): string;
30
- addFileToHistory({ fileId, vFileId }: {
30
+ addFileToHistory({ fileId, nodeId }: {
31
31
  fileId: string;
32
- vFileId: string;
33
- }): Promise<SuccessResponse<VFile> | ErrorAccessDenied | ErrorNotExist | null>;
32
+ nodeId: string;
33
+ }): Promise<SuccessResponse<Node> | ErrorAccessDenied | ErrorNotExist | null>;
34
34
  uploadFile({ file, encryptProgress, uploadProgress, signal }: {
35
35
  file: globalThis.File | Uint8Array;
36
36
  encryptProgress?: ProgressCallback;
37
37
  uploadProgress?: ProgressCallback;
38
38
  signal?: AbortSignal;
39
39
  }): Promise<SuccessResponse<string> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | null>;
40
- uploadFileInCloud({ file, name, folderId, encryptProgress, uploadProgress, signal }: {
40
+ uploadFileInCloud({ file, name, nodeId, encryptProgress, uploadProgress, signal }: {
41
41
  file: globalThis.File | Uint8Array;
42
42
  name: string;
43
- folderId?: string;
43
+ nodeId?: string;
44
44
  encryptProgress?: ProgressCallback;
45
45
  uploadProgress?: ProgressCallback;
46
46
  signal?: AbortSignal;
47
- }): Promise<SuccessResponse<VFileWithFolder<SecrecyFile>> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | ErrorBasic | ErrorNotExist | null>;
47
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | ErrorBasic | ErrorNotExist | null>;
48
48
  logout(sessionId?: string | null | undefined): Promise<void>;
49
49
  createFolder({ name, parentFolderId }: {
50
50
  name: string;
51
51
  parentFolderId?: string | null;
52
- }): Promise<SuccessResponse<FolderFull> | ErrorAccessDenied | ErrorNotExist | null>;
53
- folder({ id, deleted }?: {
52
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
53
+ node({ id, deleted }?: {
54
54
  id?: string | null | undefined;
55
55
  deleted?: boolean | null | undefined;
56
- }): Promise<SuccessResponse<FolderFull> | ErrorAccessDenied | null>;
56
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | null>;
57
57
  file({ id }: {
58
58
  id: string;
59
59
  }): Promise<SuccessResponse<SecrecyFile> | ErrorAccessDenied | null>;
60
- vFile({ id }: {
61
- id: string;
62
- }): Promise<SuccessResponse<VFileWithFolder> | ErrorAccessDenied | null>;
63
60
  mail({ id }: {
64
61
  id: string;
65
62
  }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null>;
66
- shareVFile({ vFileId, userId, rights }: {
67
- vFileId: string;
63
+ deletedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
64
+ sharedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
65
+ nodesSharedWithMe(type?: NodeType | null | undefined): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
66
+ deleteNodeSharing({ nodeId, userId }: {
67
+ nodeId: string;
68
68
  userId: string;
69
- rights: Rights;
70
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
71
- sharedVFiles(): Promise<SuccessResponse<VFileWithFolder[]> | ErrorAccessDenied | null>;
72
- vFilesSharedWithMe(): Promise<SuccessResponse<VFileWithFolder[]> | ErrorAccessDenied | null>;
73
- deletedVFiles(): Promise<SuccessResponse<VFile[]> | ErrorAccessDenied | null>;
74
- sharedFolders(): Promise<SuccessResponse<Folder[]> | ErrorAccessDenied | null>;
75
- foldersSharedWithMe(): Promise<SuccessResponse<Folder[]> | ErrorAccessDenied | null>;
76
- deletedFolders(): Promise<SuccessResponse<Folder[]> | ErrorAccessDenied | null>;
77
- deletedMails({ mailType }: {
78
- mailType: MailType;
79
- }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
80
- shareFolder({ folderId, userId, rights }: {
81
- folderId: string;
69
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
70
+ duplicateNode({ nodeId, folderId, customName }: {
71
+ nodeId: string;
72
+ folderId?: string | null | undefined;
73
+ customName?: string | null | undefined;
74
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
75
+ deleteNodeCloudTrash({ ids }: {
76
+ ids: Array<string>;
77
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
78
+ shareNode({ nodeId, userId, rights }: {
79
+ nodeId: string;
82
80
  userId: string;
83
81
  rights: Rights;
84
82
  }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
85
- updateFolder({ folderId, name, isFavorite, deletedAt }: {
86
- folderId: string;
83
+ updateNode({ nodeId, name, isFavorite, deletedAt }: {
84
+ nodeId: string;
87
85
  name?: string | null | undefined;
88
86
  isFavorite?: boolean | null | undefined;
89
87
  deletedAt?: Date | null | undefined;
90
- }): Promise<SuccessResponse<FolderFull> | ErrorAccessDenied | ErrorNotExist | null>;
88
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
89
+ deletedMails({ mailType }: {
90
+ mailType: MailType;
91
+ }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
91
92
  updateAppNotifications(notifications: Partial<UserAppNotifications>): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null>;
92
93
  appNotifications(): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | ErrorNotFound | null>;
93
94
  createMail(data: NewMail, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null>;
94
95
  waitingReceivedMails(): Promise<SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null>;
95
96
  updateDraftMail(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<SuccessResponse<DraftMail> | ErrorNotFound | ErrorAccessDenied | ErrorBasic | null>;
96
97
  deleteDraftMail(draftId: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
97
- deleteVFileSharing({ vFileId, userId }: {
98
- vFileId: string;
99
- userId: string;
100
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
101
- deleteFolderSharing({ folderId, userId }: {
102
- folderId: string;
103
- userId: string;
104
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
105
- duplicateVFile({ vFileId, folderId, customName }: {
106
- vFileId: string;
107
- folderId?: string | null | undefined;
108
- customName?: string | null | undefined;
109
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
110
- deleteFolderCloudTrash({ ids }: {
111
- ids: Array<string>;
112
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
113
- deleteVFileCloudTrash({ ids }: {
114
- ids: Array<string>;
115
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
116
98
  deleteMailTrash({ ids }: {
117
99
  ids: Array<string>;
118
100
  }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
119
101
  emptyMailTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
120
102
  emptyCloudTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
121
- recoverVFile({ vFileId }: {
122
- vFileId: string;
123
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
124
- recoverFolder({ id }: {
125
- id: string;
126
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
103
+ recoverNode(id: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
127
104
  recoverMail({ mailId }: {
128
105
  mailId: string;
129
106
  }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
130
- deleteFile({ fileId, vFileId }: {
131
- fileId: string;
132
- vFileId: string;
133
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
134
- deleteVFile({ fileId }: {
107
+ deleteFile({ fileId, nodeId }: {
135
108
  fileId: string;
109
+ nodeId: string;
136
110
  }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
111
+ deleteNode({ nodeId }: {
112
+ nodeId: string;
113
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
114
+ moveNodes({ nodeIds, parentNodeId }: {
115
+ nodeIds: string[];
116
+ parentNodeId?: string | null | undefined;
117
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
118
+ folderSize({ folderId }: {
119
+ folderId?: string | null | undefined;
120
+ }): Promise<SuccessResponse<FolderSize> | ErrorAccessDenied | null>;
137
121
  deleteMail({ mailId }: {
138
122
  mailId: string;
139
123
  }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
140
- saveInCloud({ fileId, name, folderId }: {
124
+ saveInCloud({ fileId, name, nodeId }: {
141
125
  fileId: string;
142
126
  name: string;
143
- folderId?: string;
144
- }): Promise<SuccessResponse<VFileWithFolder> | ErrorAccessDenied | ErrorBasic | ErrorLimit | ErrorNotFound | ErrorNotExist | null>;
127
+ nodeId?: string;
128
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorBasic | ErrorLimit | ErrorNotFound | ErrorNotExist | null>;
129
+ dbGet<U>({ field, userId }: {
130
+ field: string;
131
+ userId?: string | null | undefined;
132
+ }): Promise<SuccessResponse<U> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
133
+ dbSet<T extends UserData, U extends Document>({ value, userId }: {
134
+ value: U;
135
+ userId?: string | null | undefined;
136
+ }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorNotFound | null>;
137
+ dbSearch<T>({ search, field }: {
138
+ field: string;
139
+ search: string;
140
+ }): Promise<SuccessResponse<T[]> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
145
141
  sendDraftMail(draftId: string, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
146
142
  sendWaitingEmails(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
147
143
  createDraftMail({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null>;
@@ -151,12 +147,6 @@ export declare class SecrecyClient extends BaseClient {
151
147
  progressDecrypt?: ProgressCallback;
152
148
  signal?: AbortSignal;
153
149
  }): Promise<SuccessResponse<Uint8Array> | ErrorAccessDenied | ErrorBasic | null>;
154
- updateFile({ fileId, filename, isFavorite, deletedAt }: {
155
- fileId: string;
156
- filename?: string | null | undefined;
157
- isFavorite?: boolean | null | undefined;
158
- deletedAt?: Date | null | undefined;
159
- }): Promise<SuccessResponse<VFile> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
160
150
  readMail({ mailId }: {
161
151
  mailId: string;
162
152
  }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
@@ -168,8 +158,7 @@ export declare class SecrecyClient extends BaseClient {
168
158
  receivedMails(): Promise<SuccessResponse<ReceivedMail[]> | ErrorNotFound | null>;
169
159
  sentMails(): Promise<SuccessResponse<SentMail[]> | ErrorNotFound | null>;
170
160
  draftMails(): Promise<SuccessResponse<DraftMail[]> | ErrorNotFound | null>;
171
- private perFolder;
172
- private perVFile;
161
+ private perNode;
173
162
  unreadReceivedMailsCount(): Promise<SuccessResponse<number> | ErrorAccessDenied | null>;
174
163
  private _eachUser;
175
164
  }