@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.
- package/dist/BaseClient.d.ts +274 -0
- package/dist/BaseClient.js +2227 -0
- package/dist/PopupTools.d.ts +17 -0
- package/dist/PopupTools.js +213 -0
- package/dist/ZeusThunder.d.ts +2 -0
- package/dist/ZeusThunder.js +113 -0
- package/dist/cache.d.ts +7 -0
- package/dist/cache.js +5 -0
- package/dist/client/admin/index.d.ts +11 -0
- package/dist/client/admin/index.js +198 -0
- package/dist/client/convert/file.d.ts +5 -0
- package/dist/client/convert/file.js +39 -0
- package/dist/client/convert/folder.d.ts +8 -0
- package/dist/client/convert/folder.js +264 -0
- package/dist/client/convert/mail.d.ts +3 -0
- package/dist/client/convert/mail.js +46 -0
- package/dist/client/convert/vFile.d.ts +5 -0
- package/dist/client/convert/vFile.js +164 -0
- package/dist/client/helpers.d.ts +23 -0
- package/dist/client/helpers.js +114 -0
- package/dist/client/index.d.ts +172 -0
- package/dist/client/index.js +6169 -0
- package/dist/client/storage.d.ts +7 -0
- package/dist/client/storage.js +12 -0
- package/dist/client/types/File.d.ts +21 -0
- package/dist/client/types/File.js +3 -0
- package/dist/client/types/FilesOnUsersOnApplications.d.ts +9 -0
- package/dist/client/types/FilesOnUsersOnApplications.js +3 -0
- package/dist/client/types/Folder.d.ts +68 -0
- package/dist/client/types/Folder.js +7 -0
- package/dist/client/types/Inputs.d.ts +21 -0
- package/dist/client/types/Inputs.js +3 -0
- package/dist/client/types/UserAppNotifications.d.ts +6 -0
- package/dist/client/types/UserAppNotifications.js +3 -0
- package/dist/client/types/UserAppSettings.d.ts +7 -0
- package/dist/client/types/UserAppSettings.js +3 -0
- package/dist/client/types/VFile.d.ts +62 -0
- package/dist/client/types/VFile.js +4 -0
- package/dist/client/types/index.d.ts +154 -0
- package/dist/client/types/index.js +10 -0
- package/dist/client/types/queries.d.ts +535 -0
- package/dist/client/types/queries.js +192 -0
- package/dist/crypto/file.d.ts +14 -0
- package/dist/crypto/file.js +291 -0
- package/dist/crypto/index.d.ts +12 -0
- package/dist/crypto/index.js +45 -0
- package/dist/error.d.ts +30 -0
- package/dist/error.js +3 -0
- package/dist/index.d.ts +13 -3857
- package/dist/index.js +42 -255
- package/dist/minify/index.d.ts +2 -0
- package/dist/minify/index.js +28 -0
- package/dist/minify/lz4.d.ts +5 -0
- package/dist/minify/lz4.js +633 -0
- package/dist/sodium.d.ts +3 -0
- package/dist/sodium.js +28 -0
- package/dist/utils/store-buddy.d.ts +14 -0
- package/dist/utils/store-buddy.js +69 -0
- package/dist/utils/time.d.ts +10 -0
- package/dist/utils/time.js +22 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.js +188 -0
- package/dist/worker/__mock__/sodium.worker.d.ts +19 -0
- package/dist/worker/__mock__/sodium.worker.js +46 -0
- package/dist/worker/md5.d.ts +1 -0
- package/dist/worker/md5.js +43 -0
- package/dist/worker/sodium.d.ts +3 -0
- package/dist/worker/sodium.js +155 -0
- package/dist/worker/workerCodes.d.ts +2 -0
- package/dist/worker/workerCodes.js +3 -0
- package/dist/zeus/const.d.ts +2 -0
- package/dist/zeus/const.js +2267 -0
- package/dist/zeus/index.d.ts +4043 -0
- package/dist/zeus/index.js +549 -0
- package/package.json +23 -14
- package/__tests__/client/client.test.ts +0 -81
- package/__tests__/client/folder.test.ts +0 -302
- package/__tests__/client/mail.test.ts +0 -476
- package/__tests__/client/timing.test.ts +0 -35
- package/__tests__/client/utils.ts +0 -41
- package/__tests__/client/vFile.test.ts +0 -207
- package/__tests__/index.test.ts +0 -171
- package/commitlint.config.cjs +0 -3
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -255
- package/dist/index.mjs.map +0 -1
- package/docs/assets/css/main.css +0 -2660
- package/docs/assets/images/icons.png +0 -0
- package/docs/assets/images/icons@2x.png +0 -0
- package/docs/assets/images/widgets.png +0 -0
- package/docs/assets/images/widgets@2x.png +0 -0
- package/docs/assets/js/main.js +0 -248
- package/docs/assets/js/search.js +0 -1
- package/docs/classes/baseclient.baseclient-1.html +0 -1165
- package/docs/classes/client.secrecyclient.html +0 -2527
- package/docs/enums/index.sodium.base64_variants.html +0 -205
- package/docs/index.html +0 -198
- package/docs/interfaces/client_types.draftmail.html +0 -335
- package/docs/interfaces/client_types.filecontentbase.html +0 -231
- package/docs/interfaces/client_types.filecontentcloud.html +0 -244
- package/docs/interfaces/client_types.filecontentreceivedmail.html +0 -244
- package/docs/interfaces/client_types.filecontentsentmail.html +0 -230
- package/docs/interfaces/client_types.receivedmail.html +0 -363
- package/docs/interfaces/client_types.sentmail.html +0 -335
- package/docs/interfaces/crypto.keypair.html +0 -202
- package/docs/interfaces/index.sodium.cryptobox.html +0 -185
- package/docs/interfaces/index.sodium.cryptokx.html +0 -185
- package/docs/interfaces/index.sodium.keypair.html +0 -199
- package/docs/interfaces/index.sodium.messagetag.html +0 -185
- package/docs/interfaces/index.sodium.secretbox.html +0 -185
- package/docs/interfaces/index.sodium.stateaddress.html +0 -171
- package/docs/interfaces/index.sodium.stringcryptobox.html +0 -185
- package/docs/interfaces/index.sodium.stringcryptokx.html +0 -185
- package/docs/interfaces/index.sodium.stringkeypair.html +0 -199
- package/docs/interfaces/index.sodium.stringmessagetag.html +0 -185
- package/docs/interfaces/index.sodium.stringsecretbox.html +0 -185
- package/docs/interfaces/utils_store_buddy.storebuddy.html +0 -333
- package/docs/modules/baseclient.html +0 -929
- package/docs/modules/cache.html +0 -185
- package/docs/modules/client.html +0 -207
- package/docs/modules/client_convert_file.html +0 -216
- package/docs/modules/client_convert_folder.html +0 -303
- package/docs/modules/client_convert_vfile.html +0 -216
- package/docs/modules/client_helpers.html +0 -311
- package/docs/modules/client_storage.html +0 -167
- package/docs/modules/client_types.html +0 -1227
- package/docs/modules/client_types_file.html +0 -233
- package/docs/modules/client_types_filesonusersonapplications.html +0 -168
- package/docs/modules/client_types_folder.html +0 -383
- package/docs/modules/client_types_inputs.html +0 -263
- package/docs/modules/client_types_mail.html +0 -181
- package/docs/modules/client_types_queries.html +0 -199
- package/docs/modules/client_types_userappsettings.html +0 -163
- package/docs/modules/client_types_vfile.html +0 -364
- package/docs/modules/crypto.html +0 -366
- package/docs/modules/crypto_file.html +0 -344
- package/docs/modules/index.html +0 -779
- package/docs/modules/index.sodium.html +0 -6039
- package/docs/modules/minify.html +0 -183
- package/docs/modules/minify_lz4.html +0 -279
- package/docs/modules/popuptools.html +0 -259
- package/docs/modules/sodium.html +0 -167
- package/docs/modules/utils.html +0 -219
- package/docs/modules/utils_store_buddy.html +0 -208
- package/docs/modules/utils_time.html +0 -330
- package/docs/modules/worker_md5.html +0 -156
- package/docs/modules/worker_sodium.html +0 -231
- package/docs/modules/worker_workercodes.html +0 -157
- package/docs/modules.html +0 -235
- package/index.html +0 -21
- package/jest.config.ts +0 -27
- package/jest.setup.ts +0 -6
- package/release.config.cjs +0 -15
- 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
|
+
}
|