@secrecy/lib 1.0.0-dev.9 → 1.0.0
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/README.md +1 -1
- package/{lib → dist}/BaseClient.d.ts +62 -69
- package/dist/BaseClient.js +1124 -0
- package/{lib → dist}/PopupTools.d.ts +1 -1
- package/dist/PopupTools.js +212 -0
- package/{lib → dist}/ZeusThunder.d.ts +0 -0
- package/dist/ZeusThunder.js +79 -0
- package/dist/cache.d.ts +6 -0
- package/dist/cache.js +4 -0
- package/dist/client/admin/index.d.ts +11 -0
- package/dist/client/admin/index.js +110 -0
- package/{lib → dist}/client/convert/file.d.ts +3 -3
- package/dist/client/convert/file.js +34 -0
- package/{lib → dist}/client/convert/mail.d.ts +0 -0
- package/dist/client/convert/mail.js +46 -0
- package/dist/client/convert/node.d.ts +9 -0
- package/dist/client/convert/node.js +101 -0
- package/{lib → dist}/client/helpers.d.ts +1 -1
- package/dist/client/helpers.js +114 -0
- package/dist/client/index.d.ts +164 -0
- package/dist/client/index.js +3206 -0
- package/{lib → dist}/client/storage.d.ts +0 -0
- package/dist/client/storage.js +12 -0
- package/dist/client/types/File.d.ts +14 -0
- package/dist/client/types/File.js +3 -0
- package/{lib → dist}/client/types/Inputs.d.ts +2 -7
- package/dist/client/types/Inputs.js +3 -0
- package/dist/client/types/Node.d.ts +49 -0
- package/dist/client/types/Node.js +3 -0
- package/{lib → dist}/client/types/UserAppNotifications.d.ts +1 -1
- package/dist/client/types/UserAppNotifications.js +3 -0
- package/{lib → dist}/client/types/UserAppSettings.d.ts +0 -1
- package/dist/client/types/UserAppSettings.js +3 -0
- package/{lib → dist}/client/types/index.d.ts +7 -13
- package/dist/client/types/index.js +8 -0
- package/dist/client/types/selectors.d.ts +476 -0
- package/dist/client/types/selectors.js +125 -0
- package/{lib → dist}/crypto/file.d.ts +0 -0
- package/dist/crypto/file.js +210 -0
- package/{lib → dist}/crypto/index.d.ts +0 -0
- package/dist/crypto/index.js +47 -0
- package/dist/error.d.ts +30 -0
- package/dist/error.js +3 -0
- package/{lib → dist}/index.d.ts +3 -3
- package/dist/index.js +10 -0
- package/{lib → dist}/minify/index.d.ts +0 -0
- package/dist/minify/index.js +28 -0
- package/{lib → dist}/minify/lz4.d.ts +0 -0
- package/dist/minify/lz4.js +627 -0
- package/{lib → dist}/sodium.d.ts +0 -0
- package/dist/sodium.js +6 -0
- package/{lib → dist}/utils/store-buddy.d.ts +0 -0
- package/dist/utils/store-buddy.js +65 -0
- package/{lib → dist}/utils/time.d.ts +0 -0
- package/dist/utils/time.js +14 -0
- package/{lib → dist/utils}/utils.d.ts +0 -0
- package/dist/utils/utils.js +57 -0
- package/{lib → dist}/worker/__mock__/sodium.worker.d.ts +0 -0
- package/dist/worker/__mock__/sodium.worker.js +49 -0
- package/{lib → dist}/worker/md5.d.ts +0 -0
- package/dist/worker/md5.js +25 -0
- package/{lib → dist}/worker/sodium.d.ts +0 -0
- package/dist/worker/sodium.js +120 -0
- package/{lib → dist}/worker/workerCodes.d.ts +0 -0
- package/dist/worker/workerCodes.js +3 -0
- package/{lib → dist}/zeus/const.d.ts +5 -0
- package/dist/zeus/const.js +1230 -0
- package/dist/zeus/index.d.ts +4069 -0
- package/dist/zeus/index.js +657 -0
- package/package.json +64 -57
- package/lib/BaseClient.js +0 -1332
- package/lib/PopupTools.js +0 -213
- package/lib/ZeusThunder.js +0 -115
- package/lib/cache.d.ts +0 -7
- package/lib/cache.js +0 -5
- package/lib/client/admin/index.d.ts +0 -10
- package/lib/client/admin/index.js +0 -145
- package/lib/client/convert/file.js +0 -39
- package/lib/client/convert/folder.d.ts +0 -8
- package/lib/client/convert/folder.js +0 -264
- package/lib/client/convert/mail.js +0 -46
- package/lib/client/convert/vFile.d.ts +0 -5
- package/lib/client/convert/vFile.js +0 -164
- package/lib/client/helpers.js +0 -116
- package/lib/client/index.d.ts +0 -169
- package/lib/client/index.js +0 -3803
- package/lib/client/storage.js +0 -12
- package/lib/client/types/File.d.ts +0 -21
- package/lib/client/types/File.js +0 -2
- package/lib/client/types/FilesOnUsersOnApplications.d.ts +0 -9
- package/lib/client/types/FilesOnUsersOnApplications.js +0 -2
- package/lib/client/types/Folder.d.ts +0 -68
- package/lib/client/types/Folder.js +0 -7
- package/lib/client/types/Inputs.js +0 -2
- package/lib/client/types/UserAppNotifications.js +0 -2
- package/lib/client/types/UserAppSettings.js +0 -2
- package/lib/client/types/VFile.d.ts +0 -62
- package/lib/client/types/VFile.js +0 -4
- package/lib/client/types/index.js +0 -9
- package/lib/client/types/queries.d.ts +0 -535
- package/lib/client/types/queries.js +0 -192
- package/lib/crypto/file.js +0 -291
- package/lib/crypto/index.js +0 -37
- package/lib/index.js +0 -41
- package/lib/minify/index.js +0 -28
- package/lib/minify/lz4.js +0 -633
- package/lib/sodium.js +0 -28
- package/lib/utils/store-buddy.js +0 -69
- package/lib/utils/time.js +0 -22
- package/lib/utils.js +0 -188
- package/lib/worker/__mock__/sodium.worker.js +0 -57
- package/lib/worker/md5.js +0 -43
- package/lib/worker/sodium.js +0 -155
- package/lib/worker/workerCodes.js +0 -3
- package/lib/zeus/const.js +0 -1671
- package/lib/zeus/index.d.ts +0 -33302
- package/lib/zeus/index.js +0 -558
|
@@ -13,5 +13,5 @@ declare type Options = {
|
|
|
13
13
|
declare type Callback = (err?: Error, data?: unknown) => void;
|
|
14
14
|
export declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
|
|
15
15
|
export declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
|
|
16
|
-
export declare function popupResponse<T
|
|
16
|
+
export declare function popupResponse<T>(data: T): string;
|
|
17
17
|
export {};
|
|
@@ -0,0 +1,212 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* TS Rewrite of https://github.com/enhancv/popup-tools
|
|
9
|
+
*/
|
|
10
|
+
const defaultOptions = {
|
|
11
|
+
width: 700,
|
|
12
|
+
height: 520,
|
|
13
|
+
menubar: "no",
|
|
14
|
+
resizable: "yes",
|
|
15
|
+
location: "yes",
|
|
16
|
+
scrollbars: "no",
|
|
17
|
+
centered: true
|
|
18
|
+
};
|
|
19
|
+
let popupCount = 1;
|
|
20
|
+
/**
|
|
21
|
+
* Return options converted to a string
|
|
22
|
+
*
|
|
23
|
+
* @param {Object} options
|
|
24
|
+
* @return {String}
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
function optionsToString(options) {
|
|
28
|
+
return Object.entries(options).map(_ref => {
|
|
29
|
+
let [k, v] = _ref;
|
|
30
|
+
return k + "=" + v;
|
|
31
|
+
}).join(",");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Get a unique name on each call
|
|
35
|
+
* @return {String}
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
function defaultPopupName() {
|
|
40
|
+
popupCount += 1;
|
|
41
|
+
return "Popup " + popupCount;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Convert "centered: true" key into concrete left and top arguments
|
|
45
|
+
* Both can be overwritten
|
|
46
|
+
*
|
|
47
|
+
* @param {Object} options
|
|
48
|
+
* @return {Object}
|
|
49
|
+
*/
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
function optionsResolveCentered(options) {
|
|
53
|
+
if (!options.width || !options.height) {
|
|
54
|
+
throw new Error("Should have width and height");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const result = _objectSpread({}, options);
|
|
58
|
+
|
|
59
|
+
const width = window.outerWidth - options.width;
|
|
60
|
+
const height = window.outerHeight - options.height;
|
|
61
|
+
|
|
62
|
+
if (options.centered) {
|
|
63
|
+
result.left = options.left || Math.round(window.screenX + width / 2);
|
|
64
|
+
result.top = options.top || Math.round(window.screenY + height / 2.5);
|
|
65
|
+
delete result.centered;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Create a form element, add hidden inputs for all the post data
|
|
72
|
+
* and post it into a newly opened popup
|
|
73
|
+
*
|
|
74
|
+
* @param {String} url
|
|
75
|
+
* @param {Object} postData
|
|
76
|
+
* @param {String} name
|
|
77
|
+
* @param {Object} options
|
|
78
|
+
* @return {Object}
|
|
79
|
+
*/
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
function openPopupWithPost(url, postData, name, options) {
|
|
83
|
+
var _win;
|
|
84
|
+
|
|
85
|
+
const form = document.createElement("form");
|
|
86
|
+
let win = null;
|
|
87
|
+
form.setAttribute("method", "post");
|
|
88
|
+
form.setAttribute("action", url);
|
|
89
|
+
form.setAttribute("target", name);
|
|
90
|
+
Object.keys(postData).forEach(function addFormItem(key) {
|
|
91
|
+
const input = document.createElement("input");
|
|
92
|
+
input.type = "hidden";
|
|
93
|
+
input.name = key;
|
|
94
|
+
input.value = postData[key];
|
|
95
|
+
form.appendChild(input);
|
|
96
|
+
});
|
|
97
|
+
document.body.appendChild(form);
|
|
98
|
+
win = window.open("/", name, options);
|
|
99
|
+
(_win = win) == null ? void 0 : _win.document.write("Loading...");
|
|
100
|
+
form.submit();
|
|
101
|
+
document.body.removeChild(form);
|
|
102
|
+
return win;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Open a popup using the first argument. Wait for it to close.
|
|
106
|
+
* Returns the window object
|
|
107
|
+
*
|
|
108
|
+
* @param {Function}
|
|
109
|
+
* @param {String}
|
|
110
|
+
* @param {String}
|
|
111
|
+
* @param {Object}
|
|
112
|
+
* @param {Function}
|
|
113
|
+
* @return {Object}
|
|
114
|
+
*/
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
function popupExecute(execute, url, name, options, callback) {
|
|
118
|
+
const popupName = name || defaultPopupName();
|
|
119
|
+
const popupOptions = optionsResolveCentered(Object.assign({}, defaultOptions, options));
|
|
120
|
+
|
|
121
|
+
const popupCallback = callback || function noop() {//
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
const optionsString = optionsToString(popupOptions);
|
|
125
|
+
const win = execute(url, popupName, optionsString);
|
|
126
|
+
let isMessageSent = false;
|
|
127
|
+
let interval;
|
|
128
|
+
|
|
129
|
+
function popupCallbackOnce(err, data) {
|
|
130
|
+
if (!isMessageSent) {
|
|
131
|
+
isMessageSent = true;
|
|
132
|
+
popupCallback(err, data);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function onMessage(message) {
|
|
137
|
+
const data = message ? message.data : undefined;
|
|
138
|
+
|
|
139
|
+
if (data) {
|
|
140
|
+
popupCallbackOnce(undefined, data);
|
|
141
|
+
window.removeEventListener("message", onMessage);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
window.addEventListener("message", onMessage, false);
|
|
146
|
+
|
|
147
|
+
if (win) {
|
|
148
|
+
interval = window.setInterval(function closePopupCallback() {
|
|
149
|
+
if (win === null || win.closed) {
|
|
150
|
+
setTimeout(function delayWindowClosing() {
|
|
151
|
+
clearInterval(interval);
|
|
152
|
+
popupCallbackOnce(new Error("Popup closed"));
|
|
153
|
+
}, 500);
|
|
154
|
+
}
|
|
155
|
+
}, 100);
|
|
156
|
+
} else {
|
|
157
|
+
popupCallbackOnce(new Error("Popup blocked"));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return win;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Open a popup using the first argument.
|
|
164
|
+
* Wait for it to close and call the callback.
|
|
165
|
+
* Set the options string using the options object
|
|
166
|
+
* Returns the window object
|
|
167
|
+
*
|
|
168
|
+
* @param {String} url
|
|
169
|
+
* @param {String} name
|
|
170
|
+
* @param {Object} options
|
|
171
|
+
* @param {Function} callback
|
|
172
|
+
* @return {Object}
|
|
173
|
+
*/
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
export function popup(url, name, options, callback) {
|
|
177
|
+
return popupExecute(window.open, url, name, options, callback);
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Open a popup using the first argument.
|
|
181
|
+
* Post the data into the open popup.
|
|
182
|
+
* Wait for it to close and call the callback.
|
|
183
|
+
* Set the options string using the options object
|
|
184
|
+
* Returns the window object
|
|
185
|
+
*
|
|
186
|
+
* @param {String} url
|
|
187
|
+
* @param {Object} postData
|
|
188
|
+
* @param {String} name
|
|
189
|
+
* @param {Object} options
|
|
190
|
+
* @param {Function} callback
|
|
191
|
+
* @return {Object}
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
export function popupWithPost(url, postData, name, options, callback) {
|
|
195
|
+
function openWithPostData(popupUrl, popupName, optionsString) {
|
|
196
|
+
return openPopupWithPost(popupUrl, postData, popupName, optionsString);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
return popupExecute(openWithPostData, url, name, options, callback);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Return html that when executed, will trigger the popup to callback with a response
|
|
203
|
+
*
|
|
204
|
+
* @param {Object}
|
|
205
|
+
* @return {String}
|
|
206
|
+
*/
|
|
207
|
+
|
|
208
|
+
export function popupResponse(data) {
|
|
209
|
+
const jsonData = JSON.stringify(data);
|
|
210
|
+
return "<script>window.opener.postMessage(" + jsonData + ", \"*\");setTimeout(function() { window.close(); }, 50);</script>";
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0T3B0aW9ucyIsIndpZHRoIiwiaGVpZ2h0IiwibWVudWJhciIsInJlc2l6YWJsZSIsImxvY2F0aW9uIiwic2Nyb2xsYmFycyIsImNlbnRlcmVkIiwicG9wdXBDb3VudCIsIm9wdGlvbnNUb1N0cmluZyIsIm9wdGlvbnMiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiayIsInYiLCJqb2luIiwiZGVmYXVsdFBvcHVwTmFtZSIsIm9wdGlvbnNSZXNvbHZlQ2VudGVyZWQiLCJFcnJvciIsInJlc3VsdCIsIndpbmRvdyIsIm91dGVyV2lkdGgiLCJvdXRlckhlaWdodCIsImxlZnQiLCJNYXRoIiwicm91bmQiLCJzY3JlZW5YIiwidG9wIiwic2NyZWVuWSIsIm9wZW5Qb3B1cFdpdGhQb3N0IiwidXJsIiwicG9zdERhdGEiLCJuYW1lIiwiZm9ybSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbiIsInNldEF0dHJpYnV0ZSIsImtleXMiLCJmb3JFYWNoIiwiYWRkRm9ybUl0ZW0iLCJrZXkiLCJpbnB1dCIsInR5cGUiLCJ2YWx1ZSIsImFwcGVuZENoaWxkIiwiYm9keSIsIm9wZW4iLCJ3cml0ZSIsInN1Ym1pdCIsInJlbW92ZUNoaWxkIiwicG9wdXBFeGVjdXRlIiwiZXhlY3V0ZSIsImNhbGxiYWNrIiwicG9wdXBOYW1lIiwicG9wdXBPcHRpb25zIiwiYXNzaWduIiwicG9wdXBDYWxsYmFjayIsIm5vb3AiLCJvcHRpb25zU3RyaW5nIiwiaXNNZXNzYWdlU2VudCIsImludGVydmFsIiwicG9wdXBDYWxsYmFja09uY2UiLCJlcnIiLCJkYXRhIiwib25NZXNzYWdlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0SW50ZXJ2YWwiLCJjbG9zZVBvcHVwQ2FsbGJhY2siLCJjbG9zZWQiLCJzZXRUaW1lb3V0IiwiZGVsYXlXaW5kb3dDbG9zaW5nIiwiY2xlYXJJbnRlcnZhbCIsInBvcHVwIiwicG9wdXBXaXRoUG9zdCIsIm9wZW5XaXRoUG9zdERhdGEiLCJwb3B1cFVybCIsInBvcHVwUmVzcG9uc2UiLCJqc29uRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiXSwic291cmNlcyI6WyIuLi9zcmMvUG9wdXBUb29scy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQ+KGRhdGE6IFQpOiBzdHJpbmcge1xuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFlQSxNQUFNQSxjQUF1QixHQUFHO0VBQzlCQyxLQUFLLEVBQUUsR0FEdUI7RUFFOUJDLE1BQU0sRUFBRSxHQUZzQjtFQUc5QkMsT0FBTyxFQUFFLElBSHFCO0VBSTlCQyxTQUFTLEVBQUUsS0FKbUI7RUFLOUJDLFFBQVEsRUFBRSxLQUxvQjtFQU05QkMsVUFBVSxFQUFFLElBTmtCO0VBTzlCQyxRQUFRLEVBQUU7QUFQb0IsQ0FBaEM7QUFrQkEsSUFBSUMsVUFBVSxHQUFHLENBQWpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLFNBQVNDLGVBQVQsQ0FBNENDLE9BQTVDLEVBQWdFO0VBQzlELE9BQU9DLE1BQU0sQ0FBQ0MsT0FBUCxDQUFlRixPQUFmLEVBQ0pHLEdBREksQ0FDQTtJQUFBLElBQUMsQ0FBQ0MsQ0FBRCxFQUFJQyxDQUFKLENBQUQ7SUFBQSxPQUFlRCxDQUFmLFNBQW9CQyxDQUFwQjtFQUFBLENBREEsRUFFSkMsSUFGSSxDQUVDLEdBRkQsQ0FBUDtBQUdEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNDLGdCQUFULEdBQW9DO0VBQ2xDVCxVQUFVLElBQUksQ0FBZDtFQUNBLGtCQUFnQkEsVUFBaEI7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTVSxzQkFBVCxDQUFnQ1IsT0FBaEMsRUFBMkQ7RUFDekQsSUFBSSxDQUFDQSxPQUFPLENBQUNULEtBQVQsSUFBa0IsQ0FBQ1MsT0FBTyxDQUFDUixNQUEvQixFQUF1QztJQUNyQyxNQUFNLElBQUlpQixLQUFKLENBQVUsOEJBQVYsQ0FBTjtFQUNEOztFQUNELE1BQU1DLE1BQU0scUJB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
|
|
File without changes
|
|
@@ -0,0 +1,79 @@
|
|
|
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 { GraphQLError, Thunder } from "./zeus/index.js";
|
|
8
|
+
|
|
9
|
+
const handleFetchResponse = response => {
|
|
10
|
+
if (!response.ok) {
|
|
11
|
+
return new Promise((_, reject) => {
|
|
12
|
+
response.text().then(text => {
|
|
13
|
+
try {
|
|
14
|
+
reject(JSON.parse(text));
|
|
15
|
+
} catch (err) {
|
|
16
|
+
reject(text);
|
|
17
|
+
}
|
|
18
|
+
}).catch(reject);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return response.json();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const apiFetch = (options, session) => async function (query, variables) {
|
|
26
|
+
if (variables === void 0) {
|
|
27
|
+
variables = {};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const fetchFunction = fetch;
|
|
31
|
+
let queryString = query;
|
|
32
|
+
const fetchOptions = options[1] || {};
|
|
33
|
+
|
|
34
|
+
if (fetchOptions.method && fetchOptions.method === "GET") {
|
|
35
|
+
queryString = encodeURIComponent(query);
|
|
36
|
+
return fetchFunction(options[0] + "?query=" + queryString, fetchOptions).then(handleFetchResponse).then(response => {
|
|
37
|
+
if (response.errors) {
|
|
38
|
+
throw new GraphQLError(response);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return response.data;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const headers = {
|
|
46
|
+
"content-type": "application/json",
|
|
47
|
+
"accept-language": navigator.language
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
if (session) {
|
|
51
|
+
headers["secrecy-session"] = session;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const controller = new AbortController();
|
|
55
|
+
const id = setTimeout(() => controller.abort(), 20000);
|
|
56
|
+
const res = await fetchFunction("" + options[0], _objectSpread({
|
|
57
|
+
body: JSON.stringify({
|
|
58
|
+
query: queryString,
|
|
59
|
+
variables
|
|
60
|
+
}),
|
|
61
|
+
method: "POST",
|
|
62
|
+
headers,
|
|
63
|
+
signal: controller.signal
|
|
64
|
+
}, fetchOptions)).then(handleFetchResponse).then(response => {
|
|
65
|
+
if (response.errors) {
|
|
66
|
+
throw new GraphQLError(response);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return response.data;
|
|
70
|
+
});
|
|
71
|
+
clearTimeout(id);
|
|
72
|
+
return res;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const createThunder = (url, session) => Thunder(apiFetch([url, {
|
|
76
|
+
mode: "cors",
|
|
77
|
+
credentials: "same-origin"
|
|
78
|
+
}], session));
|
|
79
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHcmFwaFFMRXJyb3IiLCJUaHVuZGVyIiwiaGFuZGxlRmV0Y2hSZXNwb25zZSIsInJlc3BvbnNlIiwib2siLCJQcm9taXNlIiwiXyIsInJlamVjdCIsInRleHQiLCJ0aGVuIiwiSlNPTiIsInBhcnNlIiwiZXJyIiwiY2F0Y2giLCJqc29uIiwiYXBpRmV0Y2giLCJvcHRpb25zIiwic2Vzc2lvbiIsInF1ZXJ5IiwidmFyaWFibGVzIiwiZmV0Y2hGdW5jdGlvbiIsImZldGNoIiwicXVlcnlTdHJpbmciLCJmZXRjaE9wdGlvbnMiLCJtZXRob2QiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlcnJvcnMiLCJkYXRhIiwiaGVhZGVycyIsIm5hdmlnYXRvciIsImxhbmd1YWdlIiwiY29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsImlkIiwic2V0VGltZW91dCIsImFib3J0IiwicmVzIiwiYm9keSIsInN0cmluZ2lmeSIsInNpZ25hbCIsImNsZWFyVGltZW91dCIsImNyZWF0ZVRodW5kZXIiLCJ1cmwiLCJtb2RlIiwiY3JlZGVudGlhbHMiXSwic291cmNlcyI6WyIuLi9zcmMvWmV1c1RodW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBmZXRjaE9wdGlvbnMsIEdyYXBoUUxSZXNwb25zZSB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB7IEdyYXBoUUxFcnJvciwgVGh1bmRlciB9IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcblxuY29uc3QgaGFuZGxlRmV0Y2hSZXNwb25zZSA9IChcbiAgcmVzcG9uc2U6IFBhcmFtZXRlcnM8XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgICBFeHRyYWN0PFBhcmFtZXRlcnM8UmV0dXJuVHlwZTx0eXBlb2YgZmV0Y2g+W1widGhlblwiXT5bMF0sIEZ1bmN0aW9uPlxuICA+WzBdXG4pOiBQcm9taXNlPEdyYXBoUUxSZXNwb25zZT4gPT4ge1xuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChfLCByZWplY3QpID0+IHtcbiAgICAgIHJlc3BvbnNlXG4gICAgICAgIC50ZXh0KClcbiAgICAgICAgLnRoZW4odGV4dCA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlamVjdChKU09OLnBhcnNlKHRleHQpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIHJlamVjdCh0ZXh0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXNwb25zZS5qc29uKCkgYXMgUHJvbWlzZTxHcmFwaFFMUmVzcG9uc2U+O1xufTtcblxuY29uc3QgYXBpRmV0Y2ggPVxuICAob3B0aW9uczogZmV0Y2hPcHRpb25zLCBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT5cbiAgYXN5bmMgKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgZmV0Y2hGdW5jdGlvbiA9IGZldGNoO1xuICAgIGxldCBxdWVyeVN0cmluZyA9IHF1ZXJ5O1xuICAgIGNvbnN0IGZldGNoT3B0aW9ucyA9IG9wdGlvbnNbMV0gfHwge307XG4gICAgaWYgKGZldGNoT3B0aW9ucy5tZXRob2QgJiYgZmV0Y2hPcHRpb25zLm1ldGhvZCA9PT0gXCJHRVRcIikge1xuICAgICAgcXVlcnlTdHJpbmcgPSBlbmNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgcmV0dXJuIGZldGNoRnVuY3Rpb24oYCR7b3B0aW9uc1swXX0/cXVlcnk9JHtxdWVyeVN0cmluZ31gLCBmZXRjaE9wdGlvbnMpXG4gICAgICAgIC50aGVuKGhhbmRsZUZldGNoUmVzcG9uc2UpXG4gICAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9ycykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdyYXBoUUxFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgXCJhY2NlcHQtbGFuZ3VhZ2VcIjogbmF2aWdhdG9yLmxhbmd1YWdlXG4gICAgfTtcblxuICAgIGlmIChzZXNzaW9uKSB7XG4gICAgICBoZWFkZXJzW1wic2VjcmVjeS1zZXNzaW9uXCJdID0gc2Vzc2lvbjtcbiAgICB9XG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICBjb25zdCBpZCA9IHNldFRpbWVvdXQoKCkgPT4gY29udHJvbGxlci5hYm9ydCgpLCAyMDAwMCk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2hGdW5jdGlvbihgJHtvcHRpb25zWzBdfWAsIHtcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgcXVlcnk6IHF1ZXJ5U3RyaW5nLCB2YXJpYWJsZXMgfSksXG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIHNpZ25hbDogY29udHJvbGxlci5zaWduYWwsXG4gICAgICAuLi5mZXRjaE9wdGlvbnNcbiAgICB9KVxuICAgICAgLnRoZW4oaGFuZGxlRmV0Y2hSZXNwb25zZSlcbiAgICAgIC50aGVuKChyZXNwb25zZTogR3JhcGhRTFJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgR3JhcGhRTEVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgIH0pO1xuICAgIGNsZWFyVGltZW91dChpZCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVRodW5kZXIgPSAoXG4gIHVybDogc3RyaW5nLFxuICBzZXNzaW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj4gPT5cbiAgVGh1bmRlcihcbiAgICBhcGlGZXRjaChcbiAgICAgIFtcbiAgICAgICAgdXJsLFxuICAgICAgICB7XG4gICAgICAgICAgbW9kZTogXCJjb3JzXCIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IFwic2FtZS1vcmlnaW5cIlxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgc2Vzc2lvblxuICAgIClcbiAgKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsU0FBU0EsWUFBVCxFQUF1QkMsT0FBdkIsUUFBc0MsaUJBQXRDOztBQUVBLE1BQU1DLG1CQUFtQixHQUN2QkMsUUFEMEIsSUFLRztFQUM3QixJQUFJLENBQUNBLFFBQVEsQ0FBQ0MsRUFBZCxFQUFrQjtJQUNoQixPQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxDQUFELEVBQUlDLE1BQUosS0FBZTtNQUNoQ0osUUFBUSxDQUNMSyxJQURILEdBRUdDLElBRkgsQ0FFUUQsSUFBSSxJQUFJO1FBQ1osSUFBSTtVQUNGRCxNQUFNLENBQUNHLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxJQUFYLENBQUQsQ0FBTjtRQUNELENBRkQsQ0FFRSxPQUFPSSxHQUFQLEVBQVk7VUFDWkwsTUFBTSxDQUFDQyxJQUFELENBQU47UUFDRDtNQUNGLENBUkgsRUFTR0ssS0FUSCxDQVNTTixNQVRUO0lBVUQsQ0FYTSxDQUFQO0VBWUQ7O0VBQ0QsT0FBT0osUUFBUSxDQUFDVyxJQUFULEVBQVA7QUFDRCxDQXJCRDs7QUF1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
|
package/dist/cache.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { InternalNode, InternalFile, InternalNodeFull } from "./client/types/index.js";
|
|
2
|
+
export declare const filesCache: Map<string, InternalFile>;
|
|
3
|
+
export declare const nodesCache: Map<string, InternalNode | InternalNodeFull>;
|
|
4
|
+
export declare const usersCache: Map<string, import("./BaseClient.js").UserBase | (import("./BaseClient.js").UserBase & {
|
|
5
|
+
publicKey: string;
|
|
6
|
+
})>;
|
package/dist/cache.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export const filesCache = new Map();
|
|
2
|
+
export const nodesCache = new Map();
|
|
3
|
+
export const usersCache = new Map();
|
|
4
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiTWFwIiwibm9kZXNDYWNoZSIsInVzZXJzQ2FjaGUiXSwic291cmNlcyI6WyIuLi9zcmMvY2FjaGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSBcIi4vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgSW50ZXJuYWxOb2RlLFxuICBJbnRlcm5hbEZpbGUsXG4gIEludGVybmFsTm9kZUZ1bGxcbn0gZnJvbSBcIi4vY2xpZW50L3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEludGVybmFsRmlsZT4oKTtcblxuZXhwb3J0IGNvbnN0IG5vZGVzQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgSW50ZXJuYWxOb2RlIHwgSW50ZXJuYWxOb2RlRnVsbD4oKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJzQ2FjaGUgPSBuZXcgTWFwPFxuICBzdHJpbmcsXG4gIFVzZXIgfCBVc2VyPHsgd2l0aFB1YmxpY0tleTogdHJ1ZSB9PlxuPigpO1xuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLE1BQU1BLFVBQVUsR0FBRyxJQUFJQyxHQUFKLEVBQW5CO0FBRVAsT0FBTyxNQUFNQyxVQUFVLEdBQUcsSUFBSUQsR0FBSixFQUFuQjtBQUVQLE9BQU8sTUFBTUUsVUFBVSxHQUFHLElBQUlGLEdBQUosRUFBbkIifQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PlanKind, SecrecyEnv, SuccessResponse, User } from "../../index.js";
|
|
2
|
+
import { BaseClient } from "../../BaseClient.js";
|
|
3
|
+
import type { ErrorAccessDenied } from "../../error.js";
|
|
4
|
+
export declare type UserAdminPanel = User<{
|
|
5
|
+
withPublicKey: false;
|
|
6
|
+
}>;
|
|
7
|
+
export declare class AdminSecrecyClient extends BaseClient {
|
|
8
|
+
userList(search?: string | null | undefined): Promise<SuccessResponse<UserAdminPanel[]> | ErrorAccessDenied | null>;
|
|
9
|
+
changeUserPlan(userId: string, plan: PlanKind): Promise<SuccessResponse<UserAdminPanel> | ErrorAccessDenied | null>;
|
|
10
|
+
}
|
|
11
|
+
export declare function getSecrecyAdminClient(env: SecrecyEnv, session?: boolean | undefined): AdminSecrecyClient | null;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
+
import { storeBuddy } from "../../utils/store-buddy.js";
|
|
3
|
+
import { BaseClient } from "../../BaseClient.js";
|
|
4
|
+
const userSelector = {
|
|
5
|
+
id: true,
|
|
6
|
+
firstname: true,
|
|
7
|
+
lastname: true,
|
|
8
|
+
lang: true,
|
|
9
|
+
email: true,
|
|
10
|
+
phone: true,
|
|
11
|
+
role: true,
|
|
12
|
+
deletedAt: true,
|
|
13
|
+
lastLogin: true
|
|
14
|
+
};
|
|
15
|
+
export class AdminSecrecyClient extends BaseClient {
|
|
16
|
+
async userList(search) {
|
|
17
|
+
const {
|
|
18
|
+
userList
|
|
19
|
+
} = await this.client("query", {
|
|
20
|
+
scalars: {
|
|
21
|
+
DateTime: {
|
|
22
|
+
decode: e => new Date(e),
|
|
23
|
+
encode: e => e.toISOString()
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
})({
|
|
27
|
+
userList: [{
|
|
28
|
+
search
|
|
29
|
+
}, {
|
|
30
|
+
"...on ErrorAccessDenied": {
|
|
31
|
+
__typename: true,
|
|
32
|
+
message: true
|
|
33
|
+
},
|
|
34
|
+
"...on UserListResponse": {
|
|
35
|
+
__typename: true,
|
|
36
|
+
userList: userSelector
|
|
37
|
+
}
|
|
38
|
+
}]
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
if (!userList) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (userList.__typename === "ErrorAccessDenied") {
|
|
46
|
+
return userList;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
__typename: "SuccessResponse",
|
|
51
|
+
data: userList.userList
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
async changeUserPlan(userId, plan) {
|
|
56
|
+
const {
|
|
57
|
+
changeUserPlan
|
|
58
|
+
} = await this.client("mutation", {
|
|
59
|
+
scalars: {
|
|
60
|
+
DateTime: {
|
|
61
|
+
decode: e => new Date(e),
|
|
62
|
+
encode: e => e.toISOString()
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
})({
|
|
66
|
+
changeUserPlan: [{
|
|
67
|
+
userId,
|
|
68
|
+
plan
|
|
69
|
+
}, {
|
|
70
|
+
"...on ErrorAccessDenied": {
|
|
71
|
+
__typename: true,
|
|
72
|
+
message: true
|
|
73
|
+
},
|
|
74
|
+
"...on ChangeUserPlanResponse": {
|
|
75
|
+
__typename: true,
|
|
76
|
+
changeUserPlan: userSelector
|
|
77
|
+
}
|
|
78
|
+
}]
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
if (!changeUserPlan) {
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (changeUserPlan.__typename === "ErrorAccessDenied") {
|
|
86
|
+
return changeUserPlan;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (!changeUserPlan.changeUserPlan) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return {
|
|
94
|
+
__typename: "SuccessResponse",
|
|
95
|
+
data: changeUserPlan.changeUserPlan
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
}
|
|
100
|
+
export function getSecrecyAdminClient(env, session) {
|
|
101
|
+
const userSession = storeBuddy("secrecy.user_session", session).init("");
|
|
102
|
+
const uaSession = userSession.load();
|
|
103
|
+
|
|
104
|
+
if (uaSession === "") {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return new AdminSecrecyClient(uaSession, env);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdG9yZUJ1ZGR5IiwiQmFzZUNsaWVudCIsInVzZXJTZWxlY3RvciIsImlkIiwiZmlyc3RuYW1lIiwibGFzdG5hbWUiLCJsYW5nIiwiZW1haWwiLCJwaG9uZSIsInJvbGUiLCJkZWxldGVkQXQiLCJsYXN0TG9naW4iLCJBZG1pblNlY3JlY3lDbGllbnQiLCJ1c2VyTGlzdCIsInNlYXJjaCIsImNsaWVudCIsInNjYWxhcnMiLCJEYXRlVGltZSIsImRlY29kZSIsImUiLCJEYXRlIiwiZW5jb2RlIiwidG9JU09TdHJpbmciLCJfX3R5cGVuYW1lIiwibWVzc2FnZSIsImRhdGEiLCJjaGFuZ2VVc2VyUGxhbiIsInVzZXJJZCIsInBsYW4iLCJnZXRTZWNyZWN5QWRtaW5DbGllbnQiLCJlbnYiLCJzZXNzaW9uIiwidXNlclNlc3Npb24iLCJpbml0IiwidWFTZXNzaW9uIiwibG9hZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvYWRtaW4vaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQgdHlwZSB7XG4gIFBsYW5LaW5kLFxuICBTZWNyZWN5RW52LFxuICBTdWNjZXNzUmVzcG9uc2UsXG4gIFVzZXJcbn0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBzdG9yZUJ1ZGR5IH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0b3JlLWJ1ZGR5LmpzXCI7XG5pbXBvcnQgeyBCYXNlQ2xpZW50IH0gZnJvbSBcIi4uLy4uL0Jhc2VDbGllbnQuanNcIjtcbmltcG9ydCB0eXBlIHsgRXJyb3JBY2Nlc3NEZW5pZWQgfSBmcm9tIFwiLi4vLi4vZXJyb3IuanNcIjtcblxuLyogVE9ET1xuLSBxdWVyeSBwb3VyIGxpc3RlciBsZXMgdXNlcnMgYXZlYyBwYWdpbmF0aW9uIGV0IGlucHV0IG9wdGlvbm5lbCBcInNlYXJjaFwiIGV0IGJvb2xlYW4gcG91ciBmaWx0cmVyIGxlcyBiYW5zXG4tIG11dGF0aW9uIGNoYW5nZXIgbGUgcGxhbiBkJ3VuIHVzZXIgKHNhbnMgcGF5ZXIgZHUgY291cClcbi0gcXVlcnkgcG91ciByZW52b3llciBsZXMgYXBwcyBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBkb25uZXIgbGVzIGxpbWl0ZXMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZG9ubmVyIGxlcyByZXBvcnRzIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGJhbiB1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZ2V0IGxlcyBiYW5zIGQndW4gdXNlclxuLSBtdXRhdGlvbiBwb3VyIGRlbGV0ZSB1biB1c2VyIChkw6lqw6AgZXhpc3RhbnQ/KVxuLSBtdXRhdGlvbiBjaGFuZ2VyIGxlIHJvbGUgZHUgdXNlciAodXNlci9hZG1pbilcbi0gbXV0YXRpb24gcG91ciBkw6ljbyB1bmUgb3UgZGVzIHNlc3Npb25zIG1ldGEgb3UgYXBwIGQndW4gdXNlclxuLSBxdWVyeSBhZmZpY2hlciBsZXMgc2Vzc2lvbnMgbWV0YSBvdSBhcHAgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgZGVzIGluZm9zIHN1ciBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZSBjbG91ZCBkJ3VuIHVzZXJcbi0gcXVlcnkgcG91ciBhZmZpY2hlciBsZXMgaW5mb3Mgc3VyIGxlcyBtYWlscyBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUsIHJlc3RvcmUsIGRlbGV0ZSB0cmFzaCwgZGFucyBsZXMgbWFpbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgbGVzIGxpbWl0ZXMgbWF4IGV0IGFjdHVlbHMgZCd1biB1c2VyXG4tIHF1ZXJ5IGRlIHN0YXRzP1xuKi9cblxuZXhwb3J0IHR5cGUgVXNlckFkbWluUGFuZWwgPSBVc2VyPHsgd2l0aFB1YmxpY0tleTogZmFsc2UgfT47XG5jb25zdCB1c2VyU2VsZWN0b3IgPSB7XG4gIGlkOiB0cnVlLFxuICBmaXJzdG5hbWU6IHRydWUsXG4gIGxhc3RuYW1lOiB0cnVlLFxuICBsYW5nOiB0cnVlLFxuICBlbWFpbDogdHJ1ZSxcbiAgcGhvbmU6IHRydWUsXG4gIHJvbGU6IHRydWUsXG4gIGRlbGV0ZWRBdDogdHJ1ZSxcbiAgbGFzdExvZ2luOiB0cnVlXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY2xhc3MgQWRtaW5TZWNyZWN5Q2xpZW50IGV4dGVuZHMgQmFzZUNsaWVudCB7XG4gIGFzeW5jIHVzZXJMaXN0KFxuICAgIHNlYXJjaD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgKTogUHJvbWlzZTxTdWNjZXNzUmVzcG9uc2U8VXNlckFkbWluUGFuZWxbXT4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IHVzZXJMaXN0IH0gPSBhd2FpdCB0aGlzLmNsaWVudChcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgdXNlckxpc3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHNlYXJjaFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBVc2VyTGlzdFJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VyTGlzdDogdXNlclNlbGVjdG9yXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXJMaXN0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodXNlckxpc3QuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICByZXR1cm4gdXNlckxpc3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIF9fdHlwZW5hbWU6IFwiU3VjY2Vzc1Jlc3BvbnNlXCIsXG4gICAgICBkYXRhOiB1c2VyTGlzdC51c2VyTGlzdFxuICAgIH07XG4gIH1cblxuICBhc3luYyBjaGFuZ2VVc2VyUGxhbihcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBwbGFuOiBQbGFuS2luZFxuICApOiBQcm9taXNlPFN1Y2Nlc3NSZXNwb25zZTxVc2VyQWRtaW5QYW5lbD4gfCBFcnJvckFjY2Vzc0RlbmllZCB8IG51bGw+IHtcbiAgICBjb25zdCB7IGNoYW5nZVVzZXJQbGFuIH0gPSBhd2FpdCB0aGlzLmNsaWVudChcIm11dGF0aW9uXCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgY2hhbmdlVXNlclBsYW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICBwbGFuXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIENoYW5nZVVzZXJQbGFuUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIGNoYW5nZVVzZXJQbGFuOiB1c2VyU2VsZWN0b3JcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGlmICghY2hhbmdlVXNlclBsYW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VVc2VyUGxhbi5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VVc2VyUGxhbjtcbiAgICB9XG5cbiAgICBpZiAoIWNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGNoYW5nZVVzZXJQbGFuLmNoYW5nZVVzZXJQbGFuXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VjcmVjeUFkbWluQ2xpZW50KFxuICBlbnY6IFNlY3JlY3lFbnYsXG4gIHNlc3Npb24/OiBib29sZWFuIHwgdW5kZWZpbmVkXG4pOiBBZG1pblNlY3JlY3lDbGllbnQgfCBudWxsIHtcbiAgY29uc3QgdXNlclNlc3Npb24gPSBzdG9yZUJ1ZGR5PHN0cmluZz4oYHNlY3JlY3kudXNlcl9zZXNzaW9uYCwgc2Vzc2lvbikuaW5pdChcbiAgICBcIlwiXG4gICk7XG4gIGNvbnN0IHVhU2Vzc2lvbiA9IHVzZXJTZXNzaW9uLmxvYWQoKTtcbiAgaWYgKHVhU2Vzc2lvbiA9PT0gXCJcIikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBBZG1pblNlY3JlY3lDbGllbnQodWFTZXNzaW9uLCBlbnYpO1xufVxuIl0sIm1hcHBp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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { KeyPair } from "../../crypto/index.js";
|
|
2
|
-
import type { GQLFile, InternalFile,
|
|
2
|
+
import type { GQLFile, InternalFile, FileMetadata } from "../types/index.js";
|
|
3
3
|
export declare function gqlFileToInternal(gql: GQLFile, keyPair: KeyPair): InternalFile;
|
|
4
|
-
export declare function internalFileToFile(internal: InternalFile):
|
|
5
|
-
export declare function gqlFileToExternal(gql: GQLFile, keyPair: KeyPair):
|
|
4
|
+
export declare function internalFileToFile(internal: InternalFile): FileMetadata;
|
|
5
|
+
export declare function gqlFileToExternal(gql: GQLFile, keyPair: KeyPair): FileMetadata;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { filesCache } from "../../cache.js";
|
|
2
|
+
import { decryptCryptoBox } from "../../crypto/index.js";
|
|
3
|
+
import { sodium } from "../../sodium.js";
|
|
4
|
+
export function gqlFileToInternal(gql, keyPair) {
|
|
5
|
+
if (!gql.access || !gql.access.sharedBy.keyPair) {
|
|
6
|
+
throw "File " + gql.id + " doesn't have access";
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const file = {
|
|
10
|
+
id: gql.id,
|
|
11
|
+
md5: gql.md5,
|
|
12
|
+
md5Encrypted: gql.md5Encrypted,
|
|
13
|
+
createdAt: new Date(gql.createdAt),
|
|
14
|
+
size: BigInt(gql.size),
|
|
15
|
+
sizeBefore: BigInt(gql.sizeBefore),
|
|
16
|
+
key: sodium.to_hex(decryptCryptoBox(sodium.from_hex(gql.access.key), gql.access.sharedBy.keyPair.pub, keyPair.privateKey))
|
|
17
|
+
};
|
|
18
|
+
filesCache.set(file.id, file);
|
|
19
|
+
return file;
|
|
20
|
+
}
|
|
21
|
+
export function internalFileToFile(internal) {
|
|
22
|
+
return {
|
|
23
|
+
id: internal.id,
|
|
24
|
+
md5: internal.md5,
|
|
25
|
+
md5Encrypted: internal.md5Encrypted,
|
|
26
|
+
createdAt: internal.createdAt,
|
|
27
|
+
size: internal.size,
|
|
28
|
+
sizeBefore: internal.sizeBefore
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function gqlFileToExternal(gql, keyPair) {
|
|
32
|
+
return internalFileToFile(gqlFileToInternal(gql, keyPair));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaWxlc0NhY2hlIiwiZGVjcnlwdENyeXB0b0JveCIsInNvZGl1bSIsImdxbEZpbGVUb0ludGVybmFsIiwiZ3FsIiwia2V5UGFpciIsImFjY2VzcyIsInNoYXJlZEJ5IiwiaWQiLCJmaWxlIiwibWQ1IiwibWQ1RW5jcnlwdGVkIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInNpemUiLCJCaWdJbnQiLCJzaXplQmVmb3JlIiwia2V5IiwidG9faGV4IiwiZnJvbV9oZXgiLCJwdWIiLCJwcml2YXRlS2V5Iiwic2V0IiwiaW50ZXJuYWxGaWxlVG9GaWxlIiwiaW50ZXJuYWwiLCJncWxGaWxlVG9FeHRlcm5hbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9maWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpbGVzQ2FjaGUgfSBmcm9tIFwiLi4vLi4vY2FjaGUuanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5UGFpciB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB7IGRlY3J5cHRDcnlwdG9Cb3ggfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBzb2RpdW0gfSBmcm9tIFwiLi4vLi4vc29kaXVtLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEdRTEZpbGUsIEludGVybmFsRmlsZSwgRmlsZU1ldGFkYXRhIH0gZnJvbSBcIi4uL3R5cGVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBncWxGaWxlVG9JbnRlcm5hbChcbiAgZ3FsOiBHUUxGaWxlLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBJbnRlcm5hbEZpbGUge1xuICBpZiAoIWdxbC5hY2Nlc3MgfHwgIWdxbC5hY2Nlc3Muc2hhcmVkQnkua2V5UGFpcikge1xuICAgIHRocm93IGBGaWxlICR7Z3FsLmlkfSBkb2Vzbid0IGhhdmUgYWNjZXNzYDtcbiAgfVxuXG4gIGNvbnN0IGZpbGU6IEludGVybmFsRmlsZSA9IHtcbiAgICBpZDogZ3FsLmlkLFxuICAgIG1kNTogZ3FsLm1kNSxcbiAgICBtZDVFbmNyeXB0ZWQ6IGdxbC5tZDVFbmNyeXB0ZWQsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShncWwuY3JlYXRlZEF0IGFzIHN0cmluZyksXG4gICAgc2l6ZTogQmlnSW50KGdxbC5zaXplIGFzIHN0cmluZyksXG4gICAgc2l6ZUJlZm9yZTogQmlnSW50KGdxbC5zaXplQmVmb3JlIGFzIHN0cmluZyksXG4gICAga2V5OiBzb2RpdW0udG9faGV4KFxuICAgICAgZGVjcnlwdENyeXB0b0JveChcbiAgICAgICAgc29kaXVtLmZyb21faGV4KGdxbC5hY2Nlc3Mua2V5KSxcbiAgICAgICAgZ3FsLmFjY2Vzcy5zaGFyZWRCeS5rZXlQYWlyLnB1YixcbiAgICAgICAga2V5UGFpci5wcml2YXRlS2V5XG4gICAgICApXG4gICAgKVxuICB9O1xuXG4gIGZpbGVzQ2FjaGUuc2V0KGZpbGUuaWQsIGZpbGUpO1xuICByZXR1cm4gZmlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsRmlsZVRvRmlsZShpbnRlcm5hbDogSW50ZXJuYWxGaWxlKTogRmlsZU1ldGFkYXRhIHtcbiAgcmV0dXJuIHtcbiAgICBpZDogaW50ZXJuYWwuaWQsXG4gICAgbWQ1OiBpbnRlcm5hbC5tZDUsXG4gICAgbWQ1RW5jcnlwdGVkOiBpbnRlcm5hbC5tZDVFbmNyeXB0ZWQsXG4gICAgY3JlYXRlZEF0OiBpbnRlcm5hbC5jcmVhdGVkQXQsXG4gICAgc2l6ZTogaW50ZXJuYWwuc2l6ZSxcbiAgICBzaXplQmVmb3JlOiBpbnRlcm5hbC5zaXplQmVmb3JlXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBncWxGaWxlVG9FeHRlcm5hbChcbiAgZ3FsOiBHUUxGaWxlLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBGaWxlTWV0YWRhdGEge1xuICByZXR1cm4gaW50ZXJuYWxGaWxlVG9GaWxlKGdxbEZpbGVUb0ludGVybmFsKGdxbCwga2V5UGFpcikpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFULFFBQTJCLGdCQUEzQjtBQUVBLFNBQVNDLGdCQUFULFFBQWlDLHVCQUFqQztBQUNBLFNBQVNDLE1BQVQsUUFBdUIsaUJBQXZCO0FBR0EsT0FBTyxTQUFTQyxpQkFBVCxDQUNMQyxHQURLLEVBRUxDLE9BRkssRUFHUztFQUNkLElBQUksQ0FBQ0QsR0FBRyxDQUFDRSxNQUFMLElBQWUsQ0FBQ0YsR0FBRyxDQUFDRSxNQUFKLENBQVdDLFFBQVgsQ0FBb0JGLE9BQXhDLEVBQWlEO0lBQy9DLGdCQUFjRCxHQUFHLENBQUNJLEVBQWxCO0VBQ0Q7O0VBRUQsTUFBTUMsSUFBa0IsR0FBRztJQUN6QkQsRUFBRSxFQUFFSixHQUFHLENBQUNJLEVBRGlCO0lBRXpCRSxHQUFHLEVBQUVOLEdBQUcsQ0FBQ00sR0FGZ0I7SUFHekJDLFlBQVksRUFBRVAsR0FBRyxDQUFDTyxZQUhPO0lBSXpCQyxTQUFTLEVBQUUsSUFBSUMsSUFBSixDQUFTVCxHQUFHLENBQUNRLFNBQWIsQ0FKYztJQUt6QkUsSUFBSSxFQUFFQyxNQUFNLENBQUNYLEdBQUcsQ0FBQ1UsSUFBTCxDQUxhO0lBTXpCRSxVQUFVLEVBQUVELE1BQU0sQ0FBQ1gsR0FBRyxDQUFDWSxVQUFMLENBTk87SUFPekJDLEdBQUcsRUFBRWYsTUFBTSxDQUFDZ0IsTUFBUCxDQUNIakIsZ0JBQWdCLENBQ2RDLE1BQU0sQ0FBQ2lCLFFBQVAsQ0FBZ0JmLEdBQUcsQ0FBQ0UsTUFBSixDQUFXVyxHQUEzQixDQURjLEVBRWRiLEdBQUcsQ0FBQ0UsTUFBSixDQUFXQyxRQUFYLENBQW9CRixPQUFwQixDQUE0QmUsR0FGZCxFQUdkZixPQUFPLENBQUNnQixVQUhNLENBRGI7RUFQb0IsQ0FBM0I7RUFnQkFyQixVQUFVLENBQUNzQixHQUFYLENBQWViLElBQUksQ0FBQ0QsRUFBcEIsRUFBd0JDLElBQXhCO0VBQ0EsT0FBT0EsSUFBUDtBQUNEO0FBRUQsT0FBTyxTQUFTYyxrQkFBVCxDQUE0QkMsUUFBNUIsRUFBa0U7RUFDdkUsT0FBTztJQUNMaEIsRUFBRSxFQUFFZ0IsUUFBUSxDQUFDaEIsRUFEUjtJQUVMRSxHQUFHLEVBQUVjLFFBQVEsQ0FBQ2QsR0FGVDtJQUdMQyxZQUFZLEVBQUVhLFFBQVEsQ0FBQ2IsWUFIbEI7SUFJTEMsU0FBUyxFQUFFWSxRQUFRLENBQUNaLFNBSmY7SUFLTEUsSUFBSSxFQUFFVSxRQUFRLENBQUNWLElBTFY7SUFNTEUsVUFBVSxFQUFFUSxRQUFRLENBQUNSO0VBTmhCLENBQVA7QUFRRDtBQUVELE9BQU8sU0FBU1MsaUJBQVQsQ0FDTHJCLEdBREssRUFFTEMsT0FGSyxFQUdTO0VBQ2QsT0FBT2tCLGtCQUFrQixDQUFDcEIsaUJBQWlCLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUFsQixDQUF6QjtBQUNEIn0=
|
|
File without changes
|
|
@@ -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
|
+
const mI = data.type === "draft" ? data.mailIntegrityDraft : data.mailIntegrity;
|
|
10
|
+
|
|
11
|
+
if (!mI) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const pubKey = data.type === "received" ? data.sender.publicKey : keys.publicKey;
|
|
16
|
+
const body = sodium.to_string(decryptCryptoBox(sodium.from_hex(data.body), pubKey, keys.privateKey));
|
|
17
|
+
const subject = sodium.to_string(decryptCryptoBox(sodium.from_hex(data.subject), pubKey, keys.privateKey));
|
|
18
|
+
const hash = sodium.crypto_generichash(sodium.crypto_generichash_BYTES, JSON.stringify({
|
|
19
|
+
body,
|
|
20
|
+
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,
|
|
28
|
+
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(f => {
|
|
37
|
+
const name = sodium.to_string(decryptCryptoBox(sodium.from_hex(f.filename), pubKey, keys.privateKey));
|
|
38
|
+
return {
|
|
39
|
+
id: f.file.id,
|
|
40
|
+
name,
|
|
41
|
+
key: f.fileKey
|
|
42
|
+
};
|
|
43
|
+
})
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzb2RpdW0iLCJkZWNyeXB0Q3J5cHRvQm94IiwiY29udmVydEludGVybmFsTWFpbFRvRXh0ZXJuYWwiLCJkYXRhIiwia2V5cyIsIm1haWxJbnRlZ3JpdHlEcmFmdCIsInR5cGUiLCJtSSIsIm1haWxJbnRlZ3JpdHkiLCJwdWJLZXkiLCJzZW5kZXIiLCJwdWJsaWNLZXkiLCJib2R5IiwidG9fc3RyaW5nIiwiZnJvbV9oZXgiLCJwcml2YXRlS2V5Iiwic3ViamVjdCIsImhhc2giLCJjcnlwdG9fZ2VuZXJpY2hhc2giLCJjcnlwdG9fZ2VuZXJpY2hhc2hfQllURVMiLCJKU09OIiwic3RyaW5naWZ5IiwiaGFzaEtleSIsImlkIiwibWFpbEludGVncml0eUlkIiwicmVwbHlUbyIsImNyZWF0ZWRBdCIsIkRhdGUiLCJkZWxldGVkQXQiLCJvcGVuZWRBdCIsImlzQWx0ZXJlZCIsInRlbXBvcmFyeVJlY2lwaWVudHMiLCJyZWNpcGllbnRzIiwiZmlsZXMiLCJtYXAiLCJmIiwibmFtZSIsImZpbGVuYW1lIiwiZmlsZSIsImtleSIsImZpbGVLZXkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L2NvbnZlcnQvbWFpbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsTWFpbCwgTWFpbCB9IGZyb20gXCIuLi90eXBlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgc29kaXVtLCBkZWNyeXB0Q3J5cHRvQm94IH0gZnJvbSBcIi4uLy4uL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0SW50ZXJuYWxNYWlsVG9FeHRlcm5hbChcbiAgZGF0YTogSW50ZXJuYWxNYWlsLFxuICBrZXlzOiBLZXlQYWlyXG4pOiBNYWlsIHwgbnVsbCB7XG4gIGlmIChkYXRhLm1haWxJbnRlZ3JpdHlEcmFmdCkge1xuICAgIGRhdGEudHlwZSA9IFwiZHJhZnRcIjtcbiAgfVxuXG4gIGNvbnN0IG1JID1cbiAgICBkYXRhLnR5cGUgPT09IFwiZHJhZnRcIiA/IGRhdGEubWFpbEludGVncml0eURyYWZ0IDogZGF0YS5tYWlsSW50ZWdyaXR5O1xuXG4gIGlmICghbUkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHB1YktleSA9XG4gICAgZGF0YS50eXBlID09PSBcInJlY2VpdmVkXCIgPyBkYXRhLnNlbmRlci5wdWJsaWNLZXkgOiBrZXlzLnB1YmxpY0tleTtcblxuICBjb25zdCBib2R5ID0gc29kaXVtLnRvX3N0cmluZyhcbiAgICBkZWNyeXB0Q3J5cHRvQm94KHNvZGl1bS5mcm9tX2hleChkYXRhLmJvZHkpLCBwdWJLZXksIGtleXMucHJpdmF0ZUtleSlcbiAgKTtcblxuICBjb25zdCBzdWJqZWN0ID0gc29kaXVtLnRvX3N0cmluZyhcbiAgICBkZWNyeXB0Q3J5cHRvQm94KHNvZGl1bS5mcm9tX2hleChkYXRhLnN1YmplY3QpLCBwdWJLZXksIGtleXMucHJpdmF0ZUtleSlcbiAgKTtcblxuICBjb25zdCBoYXNoID0gc29kaXVtLmNyeXB0b19nZW5lcmljaGFzaChcbiAgICBzb2RpdW0uY3J5cHRvX2dlbmVyaWNoYXNoX0JZVEVTLFxuICAgIEpTT04uc3RyaW5naWZ5KHsgYm9keSwgc3ViamVjdCB9KSxcbiAgICBtSS5oYXNoS2V5LFxuICAgIFwiaGV4XCJcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6IGRhdGEudHlwZSxcbiAgICBpZDogZGF0YS5pZCxcbiAgICBtYWlsSW50ZWdyaXR5SWQ6IG1JLmlkLFxuICAgIHJlcGx5VG86IG1JLnJlcGx5VG8/LmlkLFxuICAgIGJvZHksXG4gICAgc3ViamVjdCxcbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKGRhdGEuY3JlYXRlZEF0KSxcbiAgICBkZWxldGVkQXQ6IGRhdGEuZGVsZXRlZEF0ID8gbmV3IERhdGUoZGF0YS5kZWxldGVkQXQpIDogbnVsbCxcbiAgICBvcGVuZWRBdDogZGF0YS5vcGVuZWRBdCA/IG5ldyBEYXRlKGRhdGEub3BlbmVkQXQpIDogbnVsbCxcbiAgICBpc0FsdGVyZWQ6IGhhc2ggIT09IG1JLmhhc2gsXG4gICAgdGVtcG9yYXJ5UmVjaXBpZW50czogbUkudGVtcG9yYXJ5UmVjaXBpZW50cyxcbiAgICByZWNpcGllbnRzOiBkYXRhLnR5cGUgPT09IFwiZHJhZnRcIiA/IG1JLnJlY2lwaWVudHMgOiBkYXRhLnJlY2lwaWVudHMsXG4gICAgc2VuZGVyOiBkYXRhLnNlbmRlcixcbiAgICBmaWxlczogZGF0YS5maWxlcy5tYXAoZiA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gc29kaXVtLnRvX3N0cmluZyhcbiAgICAgICAgZGVjcnlwdENyeXB0b0JveChzb2RpdW0uZnJvbV9oZXgoZi5maWxlbmFtZSksIHB1YktleSwga2V5cy5wcml2YXRlS2V5KVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGYuZmlsZS5pZCxcbiAgICAgICAgbmFtZSxcbiAgICAgICAga2V5OiBmLmZpbGVLZXlcbiAgICAgIH07XG4gICAgfSlcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBRUEsU0FBU0EsTUFBVCxFQUFpQkMsZ0JBQWpCLFFBQXlDLGdCQUF6QztBQUVBLE9BQU8sU0FBU0MsNkJBQVQsQ0FDTEMsSUFESyxFQUVMQyxJQUZLLEVBR1E7RUFBQTs7RUFDYixJQUFJRCxJQUFJLENBQUNFLGtCQUFULEVBQTZCO0lBQzNCRixJQUFJLENBQUNHLElBQUwsR0FBWSxPQUFaO0VBQ0Q7O0VBRUQsTUFBTUMsRUFBRSxHQUNOSixJQUFJLENBQUNHLElBQUwsS0FBYyxPQUFkLEdBQXdCSCxJQUFJLENBQUNFLGtCQUE3QixHQUFrREYsSUFBSSxDQUFDSyxhQUR6RDs7RUFHQSxJQUFJLENBQUNELEVBQUwsRUFBUztJQUNQLE9BQU8sSUFBUDtFQUNEOztFQUVELE1BQU1FLE1BQU0sR0FDVk4sSUFBSSxDQUFDRyxJQUFMLEtBQWMsVUFBZCxHQUEyQkgsSUFB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
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { KeyPair } from "../../crypto/index.js";
|
|
2
|
+
import type { Node } from "../types/index.js";
|
|
3
|
+
import type { GQLNode, InternalNode, GQLNodeFull, InternalNodeFull, NodeFull } from "../types/index.js";
|
|
4
|
+
export declare function gqlNodeToInternal(gql: GQLNode, keyPair: KeyPair): Promise<InternalNode>;
|
|
5
|
+
export declare function gqlNodeFullToInternalFull(gql: GQLNodeFull, keyPair: KeyPair): Promise<InternalNodeFull>;
|
|
6
|
+
export declare function internalNodeToNode(internal: InternalNode): Node;
|
|
7
|
+
export declare function internalNodeFullToNodeFull(internal: InternalNodeFull): NodeFull;
|
|
8
|
+
export declare function gqlNodeToExternalNodeFull(gql: GQLNodeFull, keyPair: KeyPair): Promise<NodeFull>;
|
|
9
|
+
export declare function gqlNodeToExternal(gql: GQLNode, keyPair: KeyPair): Promise<Node>;
|