@secrecy/lib 1.0.0-dev.3 → 1.0.0-dev.32
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.
- package/{lib → dist}/BaseClient.d.ts +36 -24
- package/dist/BaseClient.js +2325 -0
- package/{lib → dist}/PopupTools.d.ts +1 -1
- package/{lib → dist}/PopupTools.js +3 -3
- package/{lib → dist}/ZeusThunder.d.ts +0 -0
- package/dist/ZeusThunder.js +113 -0
- package/{lib → dist}/cache.d.ts +0 -0
- package/{lib → dist}/cache.js +0 -0
- package/dist/client/admin/index.d.ts +11 -0
- package/dist/client/admin/index.js +198 -0
- package/{lib → dist}/client/convert/file.d.ts +0 -0
- package/{lib → dist}/client/convert/file.js +2 -2
- package/{lib → dist}/client/convert/folder.d.ts +0 -1
- package/dist/client/convert/folder.js +264 -0
- package/{lib → dist}/client/convert/mail.d.ts +0 -0
- package/{lib → dist}/client/convert/mail.js +0 -0
- package/{lib → dist}/client/convert/vFile.d.ts +0 -0
- package/{lib → dist}/client/convert/vFile.js +2 -2
- package/{lib → dist}/client/helpers.d.ts +1 -1
- package/{lib → dist}/client/helpers.js +1 -3
- package/dist/client/index.d.ts +172 -0
- package/dist/client/index.js +6215 -0
- package/{lib → dist}/client/storage.d.ts +0 -0
- package/{lib → dist}/client/storage.js +0 -0
- package/{lib → dist}/client/types/File.d.ts +0 -0
- package/{lib → dist}/client/types/File.js +1 -0
- package/{lib → dist}/client/types/FilesOnUsersOnApplications.d.ts +0 -0
- package/{lib → dist}/client/types/FilesOnUsersOnApplications.js +1 -0
- package/{lib → dist}/client/types/Folder.d.ts +0 -0
- package/{lib → dist}/client/types/Folder.js +0 -0
- package/{lib → dist}/client/types/Inputs.d.ts +0 -0
- package/{lib → dist}/client/types/Inputs.js +1 -0
- package/dist/client/types/UserAppNotifications.d.ts +6 -0
- package/dist/client/types/UserAppNotifications.js +3 -0
- package/{lib → dist}/client/types/UserAppSettings.d.ts +0 -1
- package/{lib → dist}/client/types/UserAppSettings.js +1 -0
- package/{lib → dist}/client/types/VFile.d.ts +0 -0
- package/{lib → dist}/client/types/VFile.js +0 -0
- package/{lib → dist}/client/types/index.d.ts +1 -0
- package/dist/client/types/index.js +10 -0
- package/{lib → dist}/client/types/queries.d.ts +0 -0
- package/{lib → dist}/client/types/queries.js +2 -2
- package/{lib → dist}/crypto/file.d.ts +0 -0
- package/{lib → dist}/crypto/file.js +0 -0
- package/{lib → dist}/crypto/index.d.ts +0 -0
- package/dist/crypto/index.js +45 -0
- package/dist/error.d.ts +30 -0
- package/dist/error.js +3 -0
- package/{lib → dist}/index.d.ts +4 -2
- package/dist/index.js +42 -0
- package/{lib → dist}/minify/index.d.ts +0 -0
- package/{lib → dist}/minify/index.js +0 -0
- package/{lib → dist}/minify/lz4.d.ts +0 -0
- package/{lib → dist}/minify/lz4.js +0 -0
- package/{lib → dist}/sodium.d.ts +0 -0
- package/{lib → dist}/sodium.js +0 -0
- package/{lib → dist}/utils/store-buddy.d.ts +0 -0
- package/{lib → dist}/utils/store-buddy.js +0 -0
- package/{lib → dist}/utils/time.d.ts +0 -0
- package/{lib → dist}/utils/time.js +0 -0
- package/{lib → dist}/utils.d.ts +0 -0
- package/{lib → dist}/utils.js +0 -0
- package/{lib → dist}/worker/__mock__/sodium.worker.d.ts +0 -0
- package/dist/worker/__mock__/sodium.worker.js +46 -0
- package/{lib → dist}/worker/md5.d.ts +0 -0
- package/{lib → dist}/worker/md5.js +0 -0
- package/dist/worker/sodium.d.ts +3 -0
- package/dist/worker/sodium.js +155 -0
- package/{lib → dist}/worker/workerCodes.d.ts +0 -0
- package/{lib → dist}/worker/workerCodes.js +0 -0
- package/{lib → dist}/zeus/const.d.ts +0 -0
- package/dist/zeus/const.js +2287 -0
- package/dist/zeus/index.d.ts +3961 -0
- package/dist/zeus/index.js +549 -0
- package/package.json +45 -42
- package/lib/BaseClient.js +0 -1332
- package/lib/ZeusThunder.js +0 -112
- package/lib/client/convert/folder.js +0 -301
- package/lib/client/index.d.ts +0 -167
- package/lib/client/index.js +0 -3699
- package/lib/client/types/index.js +0 -8
- package/lib/crypto/index.js +0 -37
- package/lib/index.js +0 -40
- package/lib/worker/__mock__/sodium.worker.js +0 -57
- package/lib/worker/sodium.d.ts +0 -3
- package/lib/worker/sodium.js +0 -141
- package/lib/zeus/const.js +0 -1609
- package/lib/zeus/index.d.ts +0 -26109
- package/lib/zeus/index.js +0 -548
package/lib/ZeusThunder.js
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
|
-
|
|
9
|
-
import { GraphQLError, Thunder } from "./zeus/index.js";
|
|
10
|
-
|
|
11
|
-
var handleFetchResponse = function handleFetchResponse(response) {
|
|
12
|
-
if (!response.ok) {
|
|
13
|
-
return new Promise(function (_, reject) {
|
|
14
|
-
response.text().then(function (text) {
|
|
15
|
-
try {
|
|
16
|
-
reject(JSON.parse(text));
|
|
17
|
-
} catch (err) {
|
|
18
|
-
reject(text);
|
|
19
|
-
}
|
|
20
|
-
}).catch(reject);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
return response.json();
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
var apiFetch = function apiFetch(options, session) {
|
|
28
|
-
return /*#__PURE__*/function () {
|
|
29
|
-
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(query, variables) {
|
|
30
|
-
var fetchFunction, queryString, fetchOptions, headers, controller, id, res;
|
|
31
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
32
|
-
while (1) {
|
|
33
|
-
switch (_context.prev = _context.next) {
|
|
34
|
-
case 0:
|
|
35
|
-
if (variables === void 0) {
|
|
36
|
-
variables = {};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
fetchFunction = fetch;
|
|
40
|
-
queryString = query;
|
|
41
|
-
fetchOptions = options[1] || {};
|
|
42
|
-
|
|
43
|
-
if (!(fetchOptions.method && fetchOptions.method === "GET")) {
|
|
44
|
-
_context.next = 7;
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
queryString = encodeURIComponent(query);
|
|
49
|
-
return _context.abrupt("return", fetchFunction(options[0] + "?query=" + queryString, fetchOptions).then(handleFetchResponse).then(function (response) {
|
|
50
|
-
if (response.errors) {
|
|
51
|
-
throw new GraphQLError(response);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
return response.data;
|
|
55
|
-
}));
|
|
56
|
-
|
|
57
|
-
case 7:
|
|
58
|
-
headers = {
|
|
59
|
-
"content-type": "application/json"
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
if (session) {
|
|
63
|
-
headers["secrecy-session"] = session;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
controller = new AbortController();
|
|
67
|
-
id = setTimeout(function () {
|
|
68
|
-
return controller.abort();
|
|
69
|
-
}, 20000);
|
|
70
|
-
_context.next = 13;
|
|
71
|
-
return fetchFunction("" + options[0], _objectSpread({
|
|
72
|
-
body: JSON.stringify({
|
|
73
|
-
query: queryString,
|
|
74
|
-
variables: variables
|
|
75
|
-
}),
|
|
76
|
-
method: "POST",
|
|
77
|
-
headers: headers,
|
|
78
|
-
signal: controller.signal
|
|
79
|
-
}, fetchOptions)).then(handleFetchResponse).then(function (response) {
|
|
80
|
-
if (response.errors) {
|
|
81
|
-
throw new GraphQLError(response);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return response.data;
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
case 13:
|
|
88
|
-
res = _context.sent;
|
|
89
|
-
clearTimeout(id);
|
|
90
|
-
return _context.abrupt("return", res);
|
|
91
|
-
|
|
92
|
-
case 16:
|
|
93
|
-
case "end":
|
|
94
|
-
return _context.stop();
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}, _callee);
|
|
98
|
-
}));
|
|
99
|
-
|
|
100
|
-
return function (_x, _x2) {
|
|
101
|
-
return _ref.apply(this, arguments);
|
|
102
|
-
};
|
|
103
|
-
}();
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
export var createThunder = function createThunder(url, session) {
|
|
107
|
-
return Thunder(apiFetch([url, {
|
|
108
|
-
mode: "cors",
|
|
109
|
-
credentials: "same-origin"
|
|
110
|
-
}], session));
|
|
111
|
-
};
|
|
112
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9aZXVzVGh1bmRlci50cyJdLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJpZCIsInNldFRpbWVvdXQiLCJhYm9ydCIsImJvZHkiLCJzdHJpbmdpZnkiLCJzaWduYWwiLCJyZXMiLCJjbGVhclRpbWVvdXQiLCJjcmVhdGVUaHVuZGVyIiwidXJsIiwibW9kZSIsImNyZWRlbnRpYWxzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLFNBQVNBLFlBQVQsRUFBdUJDLE9BQXZCLFFBQXNDLGlCQUF0Qzs7QUFFQSxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLENBQzFCQyxRQUQwQixFQUtHO0FBQzdCLE1BQUksQ0FBQ0EsUUFBUSxDQUFDQyxFQUFkLEVBQWtCO0FBQ2hCLFdBQU8sSUFBSUMsT0FBSixDQUFZLFVBQUNDLENBQUQsRUFBSUMsTUFBSixFQUFlO0FBQ2hDSixNQUFBQSxRQUFRLENBQ0xLLElBREgsR0FFR0MsSUFGSCxDQUVRLFVBQUFELElBQUksRUFBSTtBQUNaLFlBQUk7QUFDRkQsVUFBQUEsTUFBTSxDQUFDRyxJQUFJLENBQUNDLEtBQUwsQ0FBV0gsSUFBWCxDQUFELENBQU47QUFDRCxTQUZELENBRUUsT0FBT0ksR0FBUCxFQUFZO0FBQ1pMLFVBQUFBLE1BQU0sQ0FBQ0Ms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eUIsR0FERixFQUVFO0FBQ0VDLElBQUFBLElBQUksRUFBRSxNQURSO0FBRUVDLElBQUFBLFdBQVcsRUFBRTtBQUZmLEdBRkYsQ0FETSxFQVFOekIsT0FSTSxDQURILENBSm9CO0FBQUEsQ0FBdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IGZldGNoT3B0aW9ucywgR3JhcGhRTFJlc3BvbnNlIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgR3JhcGhRTEVycm9yLCBUaHVuZGVyIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuXG5jb25zdCBoYW5kbGVGZXRjaFJlc3BvbnNlID0gKFxuICByZXNwb25zZTogUGFyYW1ldGVyczxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10eXBlc1xuICAgIEV4dHJhY3Q8UGFyYW1ldGVyczxSZXR1cm5UeXBlPHR5cGVvZiBmZXRjaD5bXCJ0aGVuXCJdPlswXSwgRnVuY3Rpb24+XG4gID5bMF1cbik6IFByb21pc2U8R3JhcGhRTFJlc3BvbnNlPiA9PiB7XG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKF8sIHJlamVjdCkgPT4ge1xuICAgICAgcmVzcG9uc2VcbiAgICAgICAgLnRleHQoKVxuICAgICAgICAudGhlbih0ZXh0ID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVqZWN0KEpTT04ucGFyc2UodGV4dCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgcmVqZWN0KHRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKSBhcyBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT47XG59O1xuXG5jb25zdCBhcGlGZXRjaCA9XG4gIChvcHRpb25zOiBmZXRjaE9wdGlvbnMsIHNlc3Npb24/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICBhc3luYyAoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQ+ID0+IHtcbiAgICBjb25zdCBmZXRjaEZ1bmN0aW9uID0gZmV0Y2g7XG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gcXVlcnk7XG4gICAgY29uc3QgZmV0Y2hPcHRpb25zID0gb3B0aW9uc1sxXSB8fCB7fTtcbiAgICBpZiAoZmV0Y2hPcHRpb25zLm1ldGhvZCAmJiBmZXRjaE9wdGlvbnMubWV0aG9kID09PSBcIkdFVFwiKSB7XG4gICAgICBxdWVyeVN0cmluZyA9IGVuY29kZVVSSUNvbXBvbmVudChxdWVyeSk7XG4gICAgICByZXR1cm4gZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfT9xdWVyeT0ke3F1ZXJ5U3RyaW5nfWAsIGZldGNoT3B0aW9ucylcbiAgICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlOiBHcmFwaFFMUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBpZiAocmVzcG9uc2UuZXJyb3JzKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJjb250ZW50LXR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICB9O1xuXG4gICAgaWYgKHNlc3Npb24pIHtcbiAgICAgIGhlYWRlcnNbXCJzZWNyZWN5LXNlc3Npb25cIl0gPSBzZXNzaW9uO1xuICAgIH1cbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IGlkID0gc2V0VGltZW91dCgoKSA9PiBjb250cm9sbGVyLmFib3J0KCksIDIwMDAwKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaEZ1bmN0aW9uKGAke29wdGlvbnNbMF19YCwge1xuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxdWVyeTogcXVlcnlTdHJpbmcsIHZhcmlhYmxlcyB9KSxcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBoZWFkZXJzLFxuICAgICAgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC4uLmZldGNoT3B0aW9uc1xuICAgIH0pXG4gICAgICAudGhlbihoYW5kbGVGZXRjaFJlc3BvbnNlKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlOiBHcmFwaFFMUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgIHRocm93IG5ldyBHcmFwaFFMRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgfSk7XG4gICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICByZXR1cm4gcmVzO1xuICB9O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlVGh1bmRlciA9IChcbiAgdXJsOiBzdHJpbmcsXG4gIHNlc3Npb24/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4pOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPiA9PlxuICBUaHVuZGVyKFxuICAgIGFwaUZldGNoKFxuICAgICAgW1xuICAgICAgICB1cmwsXG4gICAgICAgIHtcbiAgICAgICAgICBtb2RlOiBcImNvcnNcIixcbiAgICAgICAgICBjcmVkZW50aWFsczogXCJzYW1lLW9yaWdpblwiXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBzZXNzaW9uXG4gICAgKVxuICApO1xuIl19
|
|
@@ -1,301 +0,0 @@
|
|
|
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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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;
|
|
27
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
28
|
-
while (1) {
|
|
29
|
-
switch (_context.prev = _context.next) {
|
|
30
|
-
case 0:
|
|
31
|
-
if (gql.userApp) {
|
|
32
|
-
_context.next = 2;
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
throw "Can't access folder " + gql.id;
|
|
37
|
-
|
|
38
|
-
case 2:
|
|
39
|
-
internal = {
|
|
40
|
-
id: gql.id,
|
|
41
|
-
userApp: gql.userApp,
|
|
42
|
-
name: gql.name,
|
|
43
|
-
isFavorite: gql.isFavorite,
|
|
44
|
-
breadcrumb: gql.breadcrumb,
|
|
45
|
-
createdBy: gql.createdBy.user,
|
|
46
|
-
createdAt: new Date(gql.createdAt),
|
|
47
|
-
updatedAt: new Date(gql.updatedAt),
|
|
48
|
-
deletedAt: gql.deletedAt ? new Date(gql.deletedAt) : null,
|
|
49
|
-
users: gql.userApps.map(function (u) {
|
|
50
|
-
return [u.userApp.user, u.rights];
|
|
51
|
-
})
|
|
52
|
-
};
|
|
53
|
-
internal.userApp = _objectSpread({}, gql.userApp);
|
|
54
|
-
|
|
55
|
-
if (!gql.userApp.nameKey) {
|
|
56
|
-
_context.next = 12;
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
key = decryptCryptoBox(sodium.from_hex(gql.userApp.nameKey), gql.createdBy.user.publicKey, keyPair.privateKey);
|
|
61
|
-
_context.t0 = sodium;
|
|
62
|
-
_context.next = 9;
|
|
63
|
-
return decryptSecretstream(key, sodium.from_hex(internal.name));
|
|
64
|
-
|
|
65
|
-
case 9:
|
|
66
|
-
_context.t1 = _context.sent;
|
|
67
|
-
internal.name = _context.t0.to_string.call(_context.t0, _context.t1);
|
|
68
|
-
internal.userApp.nameKey = sodium.to_hex(key);
|
|
69
|
-
|
|
70
|
-
case 12:
|
|
71
|
-
// for (const b of internal.breadcrumb) {
|
|
72
|
-
// if (!b.nameKey) {
|
|
73
|
-
// continue;
|
|
74
|
-
// }
|
|
75
|
-
// const key = decryptCryptoBox(
|
|
76
|
-
// sodium.from_hex(b.nameKey),
|
|
77
|
-
// b.pubKey,
|
|
78
|
-
// keyPair.privateKey
|
|
79
|
-
// );
|
|
80
|
-
// b.nameKey = sodium.to_hex(key);
|
|
81
|
-
// b.name = sodium.to_string(
|
|
82
|
-
// await decryptSecretstream(key, sodium.from_hex(b.name))
|
|
83
|
-
// );
|
|
84
|
-
// }
|
|
85
|
-
foldersCache.set(internal.id, internal);
|
|
86
|
-
return _context.abrupt("return", internal);
|
|
87
|
-
|
|
88
|
-
case 14:
|
|
89
|
-
case "end":
|
|
90
|
-
return _context.stop();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}, _callee);
|
|
94
|
-
}));
|
|
95
|
-
return _gqlFolderToInternal.apply(this, arguments);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export function gqlFolderFullToInternalFull(_x3, _x4) {
|
|
99
|
-
return _gqlFolderFullToInternalFull.apply(this, arguments);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
function _gqlFolderFullToInternalFull() {
|
|
103
|
-
_gqlFolderFullToInternalFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(gql, keyPair) {
|
|
104
|
-
var f;
|
|
105
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
106
|
-
while (1) {
|
|
107
|
-
switch (_context2.prev = _context2.next) {
|
|
108
|
-
case 0:
|
|
109
|
-
_context2.next = 2;
|
|
110
|
-
return gqlFolderToInternal(gql, keyPair);
|
|
111
|
-
|
|
112
|
-
case 2:
|
|
113
|
-
f = _context2.sent;
|
|
114
|
-
_context2.t0 = _objectSpread;
|
|
115
|
-
_context2.t1 = _objectSpread({}, f);
|
|
116
|
-
_context2.t2 = {};
|
|
117
|
-
_context2.next = 8;
|
|
118
|
-
return Promise.all(gql.vFiles.filter(function (f) {
|
|
119
|
-
return f.userApp;
|
|
120
|
-
}).map(function (vFile) {
|
|
121
|
-
return gqlVFileToInternal(vFile, keyPair);
|
|
122
|
-
}));
|
|
123
|
-
|
|
124
|
-
case 8:
|
|
125
|
-
_context2.t3 = _context2.sent;
|
|
126
|
-
|
|
127
|
-
if (!gql.parentFolder) {
|
|
128
|
-
_context2.next = 15;
|
|
129
|
-
break;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
_context2.next = 12;
|
|
133
|
-
return gqlFolderToInternal(gql.parentFolder, keyPair);
|
|
134
|
-
|
|
135
|
-
case 12:
|
|
136
|
-
_context2.t4 = _context2.sent;
|
|
137
|
-
_context2.next = 16;
|
|
138
|
-
break;
|
|
139
|
-
|
|
140
|
-
case 15:
|
|
141
|
-
_context2.t4 = null;
|
|
142
|
-
|
|
143
|
-
case 16:
|
|
144
|
-
_context2.t5 = _context2.t4;
|
|
145
|
-
_context2.next = 19;
|
|
146
|
-
return Promise.all(gql.subfolders.map(function (s) {
|
|
147
|
-
return gqlFolderToInternal(s, keyPair);
|
|
148
|
-
}));
|
|
149
|
-
|
|
150
|
-
case 19:
|
|
151
|
-
_context2.t6 = _context2.sent;
|
|
152
|
-
_context2.t7 = {
|
|
153
|
-
vFiles: _context2.t3,
|
|
154
|
-
parentFolder: _context2.t5,
|
|
155
|
-
subfolders: _context2.t6
|
|
156
|
-
};
|
|
157
|
-
return _context2.abrupt("return", (0, _context2.t0)(_context2.t1, _context2.t2, _context2.t7));
|
|
158
|
-
|
|
159
|
-
case 22:
|
|
160
|
-
case "end":
|
|
161
|
-
return _context2.stop();
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
}, _callee2);
|
|
165
|
-
}));
|
|
166
|
-
return _gqlFolderFullToInternalFull.apply(this, arguments);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export function gqlFolderFullToInternalFolderFull(_x5, _x6) {
|
|
170
|
-
return _gqlFolderFullToInternalFolderFull.apply(this, arguments);
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
function _gqlFolderFullToInternalFolderFull() {
|
|
174
|
-
_gqlFolderFullToInternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(gql, keyPair) {
|
|
175
|
-
var f, subfolders, parentFolder;
|
|
176
|
-
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
177
|
-
while (1) {
|
|
178
|
-
switch (_context3.prev = _context3.next) {
|
|
179
|
-
case 0:
|
|
180
|
-
_context3.next = 2;
|
|
181
|
-
return gqlFolderFullToInternalFull(gql, keyPair);
|
|
182
|
-
|
|
183
|
-
case 2:
|
|
184
|
-
f = _context3.sent;
|
|
185
|
-
_context3.next = 5;
|
|
186
|
-
return Promise.all(gql.subfolders.map(function (f) {
|
|
187
|
-
return gqlFolderToInternal(f, keyPair);
|
|
188
|
-
}));
|
|
189
|
-
|
|
190
|
-
case 5:
|
|
191
|
-
subfolders = _context3.sent;
|
|
192
|
-
|
|
193
|
-
if (!gql.parentFolder) {
|
|
194
|
-
_context3.next = 12;
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
_context3.next = 9;
|
|
199
|
-
return gqlFolderToInternal(gql.parentFolder, keyPair);
|
|
200
|
-
|
|
201
|
-
case 9:
|
|
202
|
-
_context3.t0 = _context3.sent;
|
|
203
|
-
_context3.next = 13;
|
|
204
|
-
break;
|
|
205
|
-
|
|
206
|
-
case 12:
|
|
207
|
-
_context3.t0 = null;
|
|
208
|
-
|
|
209
|
-
case 13:
|
|
210
|
-
parentFolder = _context3.t0;
|
|
211
|
-
return _context3.abrupt("return", _objectSpread(_objectSpread({}, f), {}, {
|
|
212
|
-
parentFolder: parentFolder,
|
|
213
|
-
subfolders: subfolders
|
|
214
|
-
}));
|
|
215
|
-
|
|
216
|
-
case 15:
|
|
217
|
-
case "end":
|
|
218
|
-
return _context3.stop();
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}, _callee3);
|
|
222
|
-
}));
|
|
223
|
-
return _gqlFolderFullToInternalFolderFull.apply(this, arguments);
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
export function internalFolderToFolder(internal) {
|
|
227
|
-
var folder = _objectSpread({}, internal);
|
|
228
|
-
|
|
229
|
-
for (var _iterator = _createForOfIteratorHelperLoose(folder.breadcrumb), _step; !(_step = _iterator()).done;) {
|
|
230
|
-
var b = _step.value;
|
|
231
|
-
// @ts-ignore
|
|
232
|
-
delete b.nameKey;
|
|
233
|
-
} // @ts-ignore
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
delete folder.nameKey;
|
|
237
|
-
return folder;
|
|
238
|
-
}
|
|
239
|
-
export function internalFolderFullToFolderFull(internal) {
|
|
240
|
-
return _objectSpread(_objectSpread({}, internalFolderToFolder(internal)), {}, {
|
|
241
|
-
vFiles: internal.vFiles.map(internalVFileToVFile),
|
|
242
|
-
parentFolder: internal.parentFolder ? internalFolderToFolder(internal.parentFolder) : null,
|
|
243
|
-
subfolders: internal.subfolders.map(internalFolderToFolder)
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
export function gqlFolderToExternalFolderFull(_x7, _x8) {
|
|
247
|
-
return _gqlFolderToExternalFolderFull.apply(this, arguments);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
function _gqlFolderToExternalFolderFull() {
|
|
251
|
-
_gqlFolderToExternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(gql, keyPair) {
|
|
252
|
-
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
253
|
-
while (1) {
|
|
254
|
-
switch (_context4.prev = _context4.next) {
|
|
255
|
-
case 0:
|
|
256
|
-
_context4.t0 = internalFolderFullToFolderFull;
|
|
257
|
-
_context4.next = 3;
|
|
258
|
-
return gqlFolderFullToInternalFolderFull(gql, keyPair);
|
|
259
|
-
|
|
260
|
-
case 3:
|
|
261
|
-
_context4.t1 = _context4.sent;
|
|
262
|
-
return _context4.abrupt("return", (0, _context4.t0)(_context4.t1));
|
|
263
|
-
|
|
264
|
-
case 5:
|
|
265
|
-
case "end":
|
|
266
|
-
return _context4.stop();
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}, _callee4);
|
|
270
|
-
}));
|
|
271
|
-
return _gqlFolderToExternalFolderFull.apply(this, arguments);
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
export function gqlFolderToExternal(_x9, _x10) {
|
|
275
|
-
return _gqlFolderToExternal.apply(this, arguments);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
function _gqlFolderToExternal() {
|
|
279
|
-
_gqlFolderToExternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(gql, keyPair) {
|
|
280
|
-
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
281
|
-
while (1) {
|
|
282
|
-
switch (_context5.prev = _context5.next) {
|
|
283
|
-
case 0:
|
|
284
|
-
_context5.t0 = internalFolderToFolder;
|
|
285
|
-
_context5.next = 3;
|
|
286
|
-
return gqlFolderToInternal(gql, keyPair);
|
|
287
|
-
|
|
288
|
-
case 3:
|
|
289
|
-
_context5.t1 = _context5.sent;
|
|
290
|
-
return _context5.abrupt("return", (0, _context5.t0)(_context5.t1));
|
|
291
|
-
|
|
292
|
-
case 5:
|
|
293
|
-
case "end":
|
|
294
|
-
return _context5.stop();
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}, _callee5);
|
|
298
|
-
}));
|
|
299
|
-
return _gqlFolderToExternal.apply(this, arguments);
|
|
300
|
-
}
|
|
301
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9mb2xkZXIudHMiXSwibmFtZXMiOlsic29kaXVtIiwiZGVjcnlwdENyeXB0b0JveCIsImdxbFZGaWxlVG9JbnRlcm5hbCIsImludGVybmFsVkZpbGVUb1ZGaWxlIiwiZm9sZGVyc0NhY2hlIiwiZGVjcnlwdFNlY3JldHN0cmVhbSIsImdxbEZvbGRlclRvSW50ZXJuYWwiLCJncWwiLCJrZXlQYWlyIiwidXNlckFwcCIsImlkIiwiaW50ZXJuYWwiLCJuYW1lIiwiaXNGYXZvcml0ZSIsImJyZWFkY3J1bWIiLCJjcmVhdGVkQnkiLCJ1c2VyIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInVwZGF0ZWRBdCIsImRlbGV0ZWRBdCIsInVzZXJzIiwidXNlckFwcHMiLCJtYXAiLCJ1IiwicmlnaHRzIiwibmFtZUtleSIsImtleSIsImZyb21faGV4IiwicHVibGljS2V5IiwicHJpdmF0ZUtleSIsInRvX3N0cmluZyIsInRvX2hleCIsInNldCIsImdxbEZvbGRlckZ1bGxUb0ludGVybmFsRnVsbCIsImYiLCJQcm9taXNlIiwiYWxsIiwidkZpbGVzIiwiZmlsdGVyIiwidkZpbGUiLCJwYXJlbnRGb2xkZXIiLCJzdWJmb2xkZXJzIiwicyIsImdxbEZvbGRlckZ1bGxUb0ludGVybmFsRm9sZGVyRnVsbCIsImludGVybmFsRm9sZGVyVG9Gb2xkZXIiLCJmb2xkZXIiLCJiIiwiaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsIiwiZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwiLCJncWxGb2xkZXJUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQVQsUUFBdUIsaUJBQXZCO0FBRUEsU0FBU0MsZ0JBQVQsUUFBaUMsdUJBQWpDO0FBU0EsU0FBU0Msa0JBQVQsRUFBNkJDLG9CQUE3QixRQUF5RCxZQUF6RDtBQUNBLFNBQVNDLFlBQVQsUUFBNkIsZ0JBQTdCO0FBQ0EsU0FBU0MsbUJB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VixDQURaLEdBRVYsSUFMTjtBQU1FQyxJQUFBQSxVQUFVLEVBQUUvQixRQUFRLENBQUMrQixVQUFULENBQW9CbkIsR0FBcEIsQ0FBd0JzQixzQkFBeEI7QUFOZDtBQVFEO0FBRUQsZ0JBQXNCSSw2QkFBdEI7QUFBQTtBQUFBOzs7NEZBQU8sa0JBQ0wxQyxHQURLLEVBRUxDLE9BRks7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJCQUlFd0MsOEJBSkY7QUFBQTtBQUFBLG1CQUtHSixpQ0FBaUMsQ0FBQ3JDLEdBQUQsRUFBTUMsT0FBTixDQUxwQzs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQVNQLGdCQUFzQjBDLG1CQUF0QjtBQUFBO0FBQUE7OztrRkFBTyxrQkFDTDNDLEdBREssRUFFTEMsT0FGSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBSUVxQyxzQkFKRjtBQUFBO0FBQUEsbUJBSStCdkMsbUJBQW1CLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUpsRDs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNvZGl1bSB9IGZyb20gXCIuLi8uLi9zb2RpdW0uanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5UGFpciB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB7IGRlY3J5cHRDcnlwdG9Cb3ggfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdRTEZvbGRlcixcbiAgSW50ZXJuYWxGb2xkZXIsXG4gIEZvbGRlcixcbiAgR1FMRm9sZGVyRnVsbCxcbiAgSW50ZXJuYWxGb2xkZXJGdWxsLFxuICBGb2xkZXJGdWxsXG59IGZyb20gXCIuLi90eXBlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZ3FsVkZpbGVUb0ludGVybmFsLCBpbnRlcm5hbFZGaWxlVG9WRmlsZSB9IGZyb20gXCIuL3ZGaWxlLmpzXCI7XG5pbXBvcnQgeyBmb2xkZXJzQ2FjaGUgfSBmcm9tIFwiLi4vLi4vY2FjaGUuanNcIjtcbmltcG9ydCB7IGRlY3J5cHRTZWNyZXRzdHJlYW0gfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2ZpbGUuanNcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbEZvbGRlclRvSW50ZXJuYWwoXG4gIGdxbDogR1FMRm9sZGVyLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBQcm9taXNlPEludGVybmFsRm9sZGVyPiB7XG4gIGlmICghZ3FsLnVzZXJBcHApIHtcbiAgICB0aHJvdyBgQ2FuJ3QgYWNjZXNzIGZvbGRlciAke2dxbC5pZH1gO1xuICB9XG4gIGNvbnN0IGludGVybmFsOiBJbnRlcm5hbEZvbGRlciA9IHtcbiAgICBpZDogZ3FsLmlkLFxuICAgIHVzZXJBcHA6IGdxbC51c2VyQXBwLFxuICAgIG5hbWU6IGdxbC5uYW1lLFxuICAgIGlzRmF2b3JpdGU6IGdxbC5pc0Zhdm9yaXRlLFxuICAgIGJyZWFkY3J1bWI6IGdxbC5icmVhZGNydW1iLFxuICAgIGNyZWF0ZWRCeTogZ3FsLmNyZWF0ZWRCeS51c2VyLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoZ3FsLmNyZWF0ZWRBdCksXG4gICAgdXBkYXRlZEF0OiBuZXcgRGF0ZShncWwudXBkYXRlZEF0KSxcbiAgICBkZWxldGVkQXQ6IGdxbC5kZWxldGVkQXQgPyBuZXcgRGF0ZShncWwuZGVsZXRlZEF0KSA6IG51bGwsXG4gICAgdXNlcnM6IGdxbC51c2VyQXBwcy5tYXAodSA9PiBbdS51c2VyQXBwLnVzZXIsIHUucmlnaHRzXSlcbiAgfTtcblxuICBpbnRlcm5hbC51c2VyQXBwID0geyAuLi5ncWwudXNlckFwcCB9O1xuXG4gIGlmIChncWwudXNlckFwcC5uYW1lS2V5KSB7XG4gICAgY29uc3Qga2V5ID0gZGVjcnlwdENyeXB0b0JveChcbiAgICAgIHNvZGl1bS5mcm9tX2hleChncWwudXNlckFwcC5uYW1lS2V5KSxcbiAgICAgIGdxbC5jcmVhdGVkQnkudXNlci5wdWJsaWNLZXksXG4gICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgICApO1xuICAgIGludGVybmFsLm5hbWUgPSBzb2RpdW0udG9fc3RyaW5nKFxuICAgICAgYXdhaXQgZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIHNvZGl1bS5mcm9tX2hleChpbnRlcm5hbC5uYW1lKSlcbiAgICApO1xuXG4gICAgaW50ZXJuYWwudXNlckFwcC5uYW1lS2V5ID0gc29kaXVtLnRvX2hleChrZXkpO1xuICB9XG5cbiAgLy8gZm9yIChjb25zdCBiIG9mIGludGVybmFsLmJyZWFkY3J1bWIpIHtcbiAgLy8gICBpZiAoIWIubmFtZUtleSkge1xuICAvLyAgICAgY29udGludWU7XG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3Qga2V5ID0gZGVjcnlwdENyeXB0b0JveChcbiAgLy8gICAgIHNvZGl1bS5mcm9tX2hleChiLm5hbWVLZXkpLFxuICAvLyAgICAgYi5wdWJLZXksXG4gIC8vICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgLy8gICApO1xuICAvLyAgIGIubmFtZUtleSA9IHNvZGl1bS50b19oZXgoa2V5KTtcblxuICAvLyAgIGIubmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gIC8vICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgc29kaXVtLmZyb21faGV4KGIubmFtZSkpXG4gIC8vICAgKTtcbiAgLy8gfVxuXG4gIGZvbGRlcnNDYWNoZS5zZXQoaW50ZXJuYWwuaWQsIGludGVybmFsKTtcbiAgcmV0dXJuIGludGVybmFsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyRnVsbFRvSW50ZXJuYWxGdWxsKFxuICBncWw6IEdRTEZvbGRlckZ1bGwsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXJGdWxsPiB7XG4gIGNvbnN0IGYgPSBhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbCwga2V5UGFpcik7XG4gIHJldHVybiB7XG4gICAgLi4uZixcbiAgICB2RmlsZXM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnZGaWxlc1xuICAgICAgICAuZmlsdGVyKGYgPT4gZi51c2VyQXBwKVxuICAgICAgICAubWFwKHZGaWxlID0+IGdxbFZGaWxlVG9JbnRlcm5hbCh2RmlsZSwga2V5UGFpcikpXG4gICAgKSxcbiAgICBwYXJlbnRGb2xkZXI6IGdxbC5wYXJlbnRGb2xkZXJcbiAgICAgID8gYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwucGFyZW50Rm9sZGVyLCBrZXlQYWlyKVxuICAgICAgOiBudWxsLFxuICAgIHN1YmZvbGRlcnM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnN1YmZvbGRlcnMubWFwKHMgPT4gZ3FsRm9sZGVyVG9JbnRlcm5hbChzLCBrZXlQYWlyKSlcbiAgICApXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBncWxGb2xkZXJGdWxsVG9JbnRlcm5hbEZvbGRlckZ1bGwoXG4gIGdxbDogR1FMRm9sZGVyRnVsbCxcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxJbnRlcm5hbEZvbGRlckZ1bGw+IHtcbiAgY29uc3QgZiA9IGF3YWl0IGdxbEZvbGRlckZ1bGxUb0ludGVybmFsRnVsbChncWwsIGtleVBhaXIpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgZ3FsLnN1YmZvbGRlcnMubWFwKGYgPT4gZ3FsRm9sZGVyVG9JbnRlcm5hbChmLCBrZXlQYWlyKSlcbiAgKTtcbiAgY29uc3QgcGFyZW50Rm9sZGVyID0gZ3FsLnBhcmVudEZvbGRlclxuICAgID8gYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwucGFyZW50Rm9sZGVyLCBrZXlQYWlyKVxuICAgIDogbnVsbDtcblxuICByZXR1cm4ge1xuICAgIC4uLmYsXG4gICAgcGFyZW50Rm9sZGVyLFxuICAgIHN1YmZvbGRlcnNcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsRm9sZGVyVG9Gb2xkZXIoaW50ZXJuYWw6IEludGVybmFsRm9sZGVyKTogRm9sZGVyIHtcbiAgY29uc3QgZm9sZGVyOiBGb2xkZXIgPSB7XG4gICAgLi4uaW50ZXJuYWxcbiAgfTtcblxuICBmb3IgKGNvbnN0IGIgb2YgZm9sZGVyLmJyZWFkY3J1bWIpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZGVsZXRlIGIubmFtZUtleTtcbiAgfVxuICAvLyBAdHMtaWdub3JlXG4gIGRlbGV0ZSBmb2xkZXIubmFtZUtleTtcbiAgcmV0dXJuIGZvbGRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsRm9sZGVyRnVsbFRvRm9sZGVyRnVsbChcbiAgaW50ZXJuYWw6IEludGVybmFsRm9sZGVyRnVsbFxuKTogRm9sZGVyRnVsbCB7XG4gIHJldHVybiB7XG4gICAgLi4uaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihpbnRlcm5hbCksXG4gICAgdkZpbGVzOiBpbnRlcm5hbC52RmlsZXMubWFwKGludGVybmFsVkZpbGVUb1ZGaWxlKSxcbiAgICBwYXJlbnRGb2xkZXI6IGludGVybmFsLnBhcmVudEZvbGRlclxuICAgICAgPyBpbnRlcm5hbEZvbGRlclRvRm9sZGVyKGludGVybmFsLnBhcmVudEZvbGRlcilcbiAgICAgIDogbnVsbCxcbiAgICBzdWJmb2xkZXJzOiBpbnRlcm5hbC5zdWJmb2xkZXJzLm1hcChpbnRlcm5hbEZvbGRlclRvRm9sZGVyKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwoXG4gIGdxbDogR1FMRm9sZGVyRnVsbCxcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxGb2xkZXJGdWxsPiB7XG4gIHJldHVybiBpbnRlcm5hbEZvbGRlckZ1bGxUb0ZvbGRlckZ1bGwoXG4gICAgYXdhaXQgZ3FsRm9sZGVyRnVsbFRvSW50ZXJuYWxGb2xkZXJGdWxsKGdxbCwga2V5UGFpcilcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbEZvbGRlclRvRXh0ZXJuYWwoXG4gIGdxbDogR1FMRm9sZGVyLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBQcm9taXNlPEZvbGRlcj4ge1xuICByZXR1cm4gaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbCwga2V5UGFpcikpO1xufVxuIl19
|
package/lib/client/index.d.ts
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import type { MailType } from "./../zeus/index";
|
|
2
|
-
import type { DownloadProgress } from "ky";
|
|
3
|
-
import type { CancelToken } from "axios";
|
|
4
|
-
import { BaseClient } from "../BaseClient.js";
|
|
5
|
-
import type { Progress } from "../crypto/file.js";
|
|
6
|
-
import type { ReceivedMail, SentMail, Folder, VFileWithFolder, FolderFull, UserAppSettings, 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
|
-
export declare type NewMail = {
|
|
11
|
-
body: string;
|
|
12
|
-
subject: string;
|
|
13
|
-
files: {
|
|
14
|
-
id: string;
|
|
15
|
-
name: string;
|
|
16
|
-
}[];
|
|
17
|
-
recipientsIds: string[];
|
|
18
|
-
replyTo?: string | null | undefined;
|
|
19
|
-
};
|
|
20
|
-
export declare type ProgressCallback = (progress: Progress) => Promise<void>;
|
|
21
|
-
export declare class SecrecyClient extends BaseClient {
|
|
22
|
-
#private;
|
|
23
|
-
jwt: string;
|
|
24
|
-
constructor(uaSession: string, uaKeys: KeyPair, uaJwt: string, env: SecrecyEnv);
|
|
25
|
-
addFileToHistory({ fileId, vFileId }: {
|
|
26
|
-
fileId: string;
|
|
27
|
-
vFileId: string;
|
|
28
|
-
}): Promise<VFile>;
|
|
29
|
-
uploadFile({ file, encryptProgress, uploadProgress, cancelToken }: {
|
|
30
|
-
file: globalThis.File | Uint8Array;
|
|
31
|
-
cancelToken?: CancelToken;
|
|
32
|
-
encryptProgress?: ProgressCallback;
|
|
33
|
-
uploadProgress?: ProgressCallback;
|
|
34
|
-
}): Promise<string | null>;
|
|
35
|
-
uploadFileInCloud({ file, name, folderId, cancelToken, encryptProgress, uploadProgress }: {
|
|
36
|
-
file: globalThis.File | Uint8Array;
|
|
37
|
-
name: string;
|
|
38
|
-
cancelToken?: CancelToken;
|
|
39
|
-
folderId?: string;
|
|
40
|
-
encryptProgress?: ProgressCallback;
|
|
41
|
-
uploadProgress?: ProgressCallback;
|
|
42
|
-
}): Promise<VFileWithFolder>;
|
|
43
|
-
logout(sessionId?: string | null | undefined): Promise<void>;
|
|
44
|
-
createFolder({ name, parentFolderId }: {
|
|
45
|
-
name: string;
|
|
46
|
-
parentFolderId?: string | null;
|
|
47
|
-
}): Promise<FolderFull>;
|
|
48
|
-
folder({ id, deleted }?: {
|
|
49
|
-
id?: string | null | undefined;
|
|
50
|
-
deleted?: boolean | null | undefined;
|
|
51
|
-
}): Promise<FolderFull | null>;
|
|
52
|
-
file({ id }: {
|
|
53
|
-
id: string;
|
|
54
|
-
}): Promise<SecrecyFile | null>;
|
|
55
|
-
vFile({ id }: {
|
|
56
|
-
id: string;
|
|
57
|
-
}): Promise<VFileWithFolder | null>;
|
|
58
|
-
mail({ id }: {
|
|
59
|
-
id: string;
|
|
60
|
-
}): Promise<Mail | null>;
|
|
61
|
-
shareVFile({ vFileId, userId, rights }: {
|
|
62
|
-
vFileId: string;
|
|
63
|
-
userId: string;
|
|
64
|
-
rights: Rights;
|
|
65
|
-
}): Promise<boolean>;
|
|
66
|
-
sharedVFiles(): Promise<VFileWithFolder[]>;
|
|
67
|
-
vFilesSharedWithMe(): Promise<VFileWithFolder[]>;
|
|
68
|
-
deletedVFiles(): Promise<VFile[]>;
|
|
69
|
-
sharedFolders(): Promise<Folder[]>;
|
|
70
|
-
foldersSharedWithMe(): Promise<Folder[]>;
|
|
71
|
-
deletedFolders(): Promise<Folder[]>;
|
|
72
|
-
deletedMails({ mailType }: {
|
|
73
|
-
mailType: MailType;
|
|
74
|
-
}): Promise<Mail[]>;
|
|
75
|
-
shareFolder({ folderId, userId, rights }: {
|
|
76
|
-
folderId: string;
|
|
77
|
-
userId: string;
|
|
78
|
-
rights: Rights;
|
|
79
|
-
}): Promise<boolean>;
|
|
80
|
-
updateFolder({ folderId, name, isFavorite, deletedAt }: {
|
|
81
|
-
folderId: string;
|
|
82
|
-
name?: string | null | undefined;
|
|
83
|
-
isFavorite?: boolean | null | undefined;
|
|
84
|
-
deletedAt?: Date | null | undefined;
|
|
85
|
-
}): Promise<FolderFull>;
|
|
86
|
-
createMail(data: NewMail, customMessage?: string | null | undefined): Promise<boolean>;
|
|
87
|
-
waitingReceivedMails(): Promise<WaitingReceivedMail[]>;
|
|
88
|
-
updateDraftMail(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<DraftMail | null>;
|
|
89
|
-
deleteDraftMail(draftId: string): Promise<boolean>;
|
|
90
|
-
deleteVFileSharing({ vFileId, userId }: {
|
|
91
|
-
vFileId: string;
|
|
92
|
-
userId: string;
|
|
93
|
-
}): Promise<boolean>;
|
|
94
|
-
deleteFolderSharing({ folderId, userId }: {
|
|
95
|
-
folderId: string;
|
|
96
|
-
userId: string;
|
|
97
|
-
}): Promise<boolean>;
|
|
98
|
-
duplicateVFile({ fileId, folderId, customName }: {
|
|
99
|
-
fileId: string;
|
|
100
|
-
folderId?: string | null | undefined;
|
|
101
|
-
customName?: string | null | undefined;
|
|
102
|
-
}): Promise<boolean>;
|
|
103
|
-
deleteFolderCloudTrash({ ids }: {
|
|
104
|
-
ids: Array<string>;
|
|
105
|
-
}): Promise<boolean>;
|
|
106
|
-
deleteVFileCloudTrash({ ids }: {
|
|
107
|
-
ids: Array<string>;
|
|
108
|
-
}): Promise<boolean>;
|
|
109
|
-
deleteMailTrash({ ids }: {
|
|
110
|
-
ids: Array<string>;
|
|
111
|
-
}): Promise<boolean>;
|
|
112
|
-
emptyMailTrash(): Promise<boolean>;
|
|
113
|
-
emptyCloudTrash(): Promise<boolean>;
|
|
114
|
-
recoverFile({ fileId }: {
|
|
115
|
-
fileId: string;
|
|
116
|
-
}): Promise<boolean>;
|
|
117
|
-
recoverFolder({ id }: {
|
|
118
|
-
id: string;
|
|
119
|
-
}): Promise<boolean>;
|
|
120
|
-
recoverMail({ mailId }: {
|
|
121
|
-
mailId: string;
|
|
122
|
-
}): Promise<boolean>;
|
|
123
|
-
deleteFile({ fileId, vFileId }: {
|
|
124
|
-
fileId: string;
|
|
125
|
-
vFileId: string;
|
|
126
|
-
}): Promise<boolean>;
|
|
127
|
-
deleteVFile({ fileId }: {
|
|
128
|
-
fileId: string;
|
|
129
|
-
}): Promise<boolean>;
|
|
130
|
-
deleteMail({ mailId }: {
|
|
131
|
-
mailId: string;
|
|
132
|
-
}): Promise<boolean>;
|
|
133
|
-
saveInCloud({ fileId, name, folderId }: {
|
|
134
|
-
fileId: string;
|
|
135
|
-
name: string;
|
|
136
|
-
folderId?: string;
|
|
137
|
-
}): Promise<VFileWithFolder>;
|
|
138
|
-
sendDraftMail(draftId: string, customMessage?: string | null | undefined): Promise<boolean>;
|
|
139
|
-
sendWaitingEmails(): Promise<boolean>;
|
|
140
|
-
createDraftMail({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<DraftMail | null>;
|
|
141
|
-
fileContent({ fileId, onDownloadProgress, progressDecrypt, abort }: {
|
|
142
|
-
fileId: string;
|
|
143
|
-
onDownloadProgress?: (progress: DownloadProgress) => void;
|
|
144
|
-
progressDecrypt?: ProgressCallback;
|
|
145
|
-
abort?: AbortController;
|
|
146
|
-
}): Promise<Uint8Array>;
|
|
147
|
-
updateFile({ fileId, filename, isFavorite, deletedAt }: {
|
|
148
|
-
fileId: string;
|
|
149
|
-
filename?: string | null | undefined;
|
|
150
|
-
isFavorite?: boolean | null | undefined;
|
|
151
|
-
deletedAt?: Date | null | undefined;
|
|
152
|
-
}): Promise<VFile>;
|
|
153
|
-
readMail({ mailId }: {
|
|
154
|
-
mailId: string;
|
|
155
|
-
}): Promise<boolean>;
|
|
156
|
-
unreadMail({ mailId }: {
|
|
157
|
-
mailId: string;
|
|
158
|
-
}): Promise<boolean>;
|
|
159
|
-
appSettings(): Promise<UserAppSettings | null>;
|
|
160
|
-
updateAppSettings(settings: Partial<UserAppSettings>): Promise<UserAppSettings>;
|
|
161
|
-
receivedMails(): Promise<ReceivedMail[]>;
|
|
162
|
-
sentMails(): Promise<SentMail[]>;
|
|
163
|
-
draftMails(): Promise<DraftMail[]>;
|
|
164
|
-
private perFolder;
|
|
165
|
-
private perVFile;
|
|
166
|
-
private _eachUser;
|
|
167
|
-
}
|