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