@intuitionrobotics/thunderstorm 0.41.69 → 0.41.70
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/app-backend/api/v1/utils/version/_assert.js +1 -1
- package/app-backend/api/v1/utils/version/_assert.js.map +1 -1
- package/app-backend/api/v1/utils/version/assert.js +13 -58
- package/app-backend/api/v1/utils/version/assert.js.map +1 -1
- package/app-backend/core/BaseStorm.js +34 -87
- package/app-backend/core/BaseStorm.js.map +1 -1
- package/app-backend/core/Storm.js +42 -112
- package/app-backend/core/Storm.js.map +1 -1
- package/app-backend/exceptions.js +11 -27
- package/app-backend/exceptions.js.map +1 -1
- package/app-backend/modules/CleanupScheduler.js +24 -92
- package/app-backend/modules/CleanupScheduler.js.map +1 -1
- package/app-backend/modules/FirestoreBackupScheduler.js +47 -138
- package/app-backend/modules/FirestoreBackupScheduler.js.map +1 -1
- package/app-backend/modules/ForceUpgrade.js +31 -82
- package/app-backend/modules/ForceUpgrade.js.map +1 -1
- package/app-backend/modules/http/AxiosHttpModule.js +116 -184
- package/app-backend/modules/http/AxiosHttpModule.js.map +1 -1
- package/app-backend/modules/proxy/RemoteProxy.js +40 -90
- package/app-backend/modules/proxy/RemoteProxy.js.map +1 -1
- package/app-backend/modules/proxy/RemoteProxyCaller.js +49 -122
- package/app-backend/modules/proxy/RemoteProxyCaller.js.map +1 -1
- package/app-backend/modules/server/HttpServer.js +153 -216
- package/app-backend/modules/server/HttpServer.js.map +1 -1
- package/app-backend/modules/server/server-api.js +236 -361
- package/app-backend/modules/server/server-api.js.map +1 -1
- package/app-backend/modules/server/server-errors.js +51 -91
- package/app-backend/modules/server/server-errors.js.map +1 -1
- package/app-backend/utils/LogClient_File.js +23 -42
- package/app-backend/utils/LogClient_File.js.map +1 -1
- package/app-backend/utils/file.js +7 -50
- package/app-backend/utils/file.js.map +1 -1
- package/app-backend/utils/promisify-request.js +13 -43
- package/app-backend/utils/promisify-request.js.map +1 -1
- package/app-backend/utils/to-be-removed.js +7 -8
- package/app-backend/utils/to-be-removed.js.map +1 -1
- package/app-backend/utils/types.js +1 -1
- package/app-backend/utils/types.js.map +1 -1
- package/app-frontend/components/ActionButton.js +5 -5
- package/app-frontend/components/ActionButton.js.map +1 -1
- package/app-frontend/components/DropDown.js +91 -119
- package/app-frontend/components/DropDown.js.map +1 -1
- package/app-frontend/components/FilterInput.js +31 -48
- package/app-frontend/components/FilterInput.js.map +1 -1
- package/app-frontend/components/GenericSelect.js +30 -59
- package/app-frontend/components/GenericSelect.js.map +1 -1
- package/app-frontend/components/GenericTabs.js +5 -23
- package/app-frontend/components/GenericTabs.js.map +1 -1
- package/app-frontend/components/Overlay.js +15 -34
- package/app-frontend/components/Overlay.js.map +1 -1
- package/app-frontend/components/TS_Input.js +43 -60
- package/app-frontend/components/TS_Input.js.map +1 -1
- package/app-frontend/components/TS_Table.js +31 -48
- package/app-frontend/components/TS_Table.js.map +1 -1
- package/app-frontend/components/TS_TextArea.js +21 -48
- package/app-frontend/components/TS_TextArea.js.map +1 -1
- package/app-frontend/components/Tabs.js +16 -33
- package/app-frontend/components/Tabs.js.map +1 -1
- package/app-frontend/components/adapter/Adapter.js +103 -154
- package/app-frontend/components/adapter/Adapter.js.map +1 -1
- package/app-frontend/components/adapter/BaseRenderer.js +9 -32
- package/app-frontend/components/adapter/BaseRenderer.js.map +1 -1
- package/app-frontend/components/checkbox/TS_Checkbox.js +12 -29
- package/app-frontend/components/checkbox/TS_Checkbox.js.map +1 -1
- package/app-frontend/components/checkbox/TS_CheckboxField.js +16 -34
- package/app-frontend/components/checkbox/TS_CheckboxField.js.map +1 -1
- package/app-frontend/components/form/Form.js +21 -39
- package/app-frontend/components/form/Form.js.map +1 -1
- package/app-frontend/components/playground/Example_NewProps.js +25 -53
- package/app-frontend/components/playground/Example_NewProps.js.map +1 -1
- package/app-frontend/components/playground/Playground.js +21 -49
- package/app-frontend/components/playground/Playground.js.map +1 -1
- package/app-frontend/components/tree/MenuComponent.js +11 -27
- package/app-frontend/components/tree/MenuComponent.js.map +1 -1
- package/app-frontend/components/tree/MultiTypeAdaptor.js +16 -32
- package/app-frontend/components/tree/MultiTypeAdaptor.js.map +1 -1
- package/app-frontend/components/tree/SimpleTreeNodeRenderer.js +18 -52
- package/app-frontend/components/tree/SimpleTreeNodeRenderer.js.map +1 -1
- package/app-frontend/components/tree/Tree.js +142 -178
- package/app-frontend/components/tree/Tree.js.map +1 -1
- package/app-frontend/components/treeicons.js +5 -5
- package/app-frontend/components/treeicons.js.map +1 -1
- package/app-frontend/core/AbstractThunder.js +27 -43
- package/app-frontend/core/AbstractThunder.js.map +1 -1
- package/app-frontend/core/AppPage.js +16 -32
- package/app-frontend/core/AppPage.js.map +1 -1
- package/app-frontend/core/AppWrapper.js +9 -10
- package/app-frontend/core/AppWrapper.js.map +1 -1
- package/app-frontend/core/BaseComponent.js +62 -106
- package/app-frontend/core/BaseComponent.js.map +1 -1
- package/app-frontend/core/SimpleScriptInjector.js +12 -31
- package/app-frontend/core/SimpleScriptInjector.js.map +1 -1
- package/app-frontend/core/Thunder.js +32 -48
- package/app-frontend/core/Thunder.js.map +1 -1
- package/app-frontend/core/thunder-dispatcher.js +18 -67
- package/app-frontend/core/thunder-dispatcher.js.map +1 -1
- package/app-frontend/modules/ConnectivityModule.js +16 -32
- package/app-frontend/modules/ConnectivityModule.js.map +1 -1
- package/app-frontend/modules/ForceUpgrade.js +17 -33
- package/app-frontend/modules/ForceUpgrade.js.map +1 -1
- package/app-frontend/modules/HistoryModule.js +51 -79
- package/app-frontend/modules/HistoryModule.js.map +1 -1
- package/app-frontend/modules/ResourcesModule.js +12 -28
- package/app-frontend/modules/ResourcesModule.js.map +1 -1
- package/app-frontend/modules/StorageModule.js +47 -68
- package/app-frontend/modules/StorageModule.js.map +1 -1
- package/app-frontend/modules/ThunderstormModule.js +15 -31
- package/app-frontend/modules/ThunderstormModule.js.map +1 -1
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.js +24 -41
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.js.map +1 -1
- package/app-frontend/modules/component-loader/entry-component-loading-module.js +19 -36
- package/app-frontend/modules/component-loader/entry-component-loading-module.js.map +1 -1
- package/app-frontend/modules/dialog/Dialog.js +55 -96
- package/app-frontend/modules/dialog/Dialog.js.map +1 -1
- package/app-frontend/modules/dialog/DialogModule.js +48 -84
- package/app-frontend/modules/dialog/DialogModule.js.map +1 -1
- package/app-frontend/modules/http/HttpClient.js +46 -93
- package/app-frontend/modules/http/HttpClient.js.map +1 -1
- package/app-frontend/modules/http/XhrHttpModule.js +66 -88
- package/app-frontend/modules/http/XhrHttpModule.js.map +1 -1
- package/app-frontend/modules/locale/LocaleModule.js +23 -50
- package/app-frontend/modules/locale/LocaleModule.js.map +1 -1
- package/app-frontend/modules/menu/MenuAndButton.js +23 -40
- package/app-frontend/modules/menu/MenuAndButton.js.map +1 -1
- package/app-frontend/modules/menu/MenuModule.js +25 -42
- package/app-frontend/modules/menu/MenuModule.js.map +1 -1
- package/app-frontend/modules/menu/PopupMenu.js +37 -64
- package/app-frontend/modules/menu/PopupMenu.js.map +1 -1
- package/app-frontend/modules/routing/RoutingModule.js +47 -66
- package/app-frontend/modules/routing/RoutingModule.js.map +1 -1
- package/app-frontend/modules/routing/route.js +31 -33
- package/app-frontend/modules/routing/route.js.map +1 -1
- package/app-frontend/modules/toaster/BaseToaster.js +18 -36
- package/app-frontend/modules/toaster/BaseToaster.js.map +1 -1
- package/app-frontend/modules/toaster/Toaster.js +12 -38
- package/app-frontend/modules/toaster/Toaster.js.map +1 -1
- package/app-frontend/modules/toaster/ToasterModule.js +61 -88
- package/app-frontend/modules/toaster/ToasterModule.js.map +1 -1
- package/app-frontend/modules/tooltip/Tooltip.js +25 -52
- package/app-frontend/modules/tooltip/Tooltip.js.map +1 -1
- package/app-frontend/modules/tooltip/TooltipModule.js +32 -51
- package/app-frontend/modules/tooltip/TooltipModule.js.map +1 -1
- package/app-frontend/tools/KeyboardListener.js +24 -41
- package/app-frontend/tools/KeyboardListener.js.map +1 -1
- package/app-frontend/tools/Stylable.js +14 -28
- package/app-frontend/tools/Stylable.js.map +1 -1
- package/app-frontend/utils/tools.js +8 -8
- package/app-frontend/utils/tools.js.map +1 -1
- package/app-frontend/widgets/FieldEditor.js +16 -32
- package/app-frontend/widgets/FieldEditor.js.map +1 -1
- package/app-frontend/widgets/FieldEditorClick.js +32 -49
- package/app-frontend/widgets/FieldEditorClick.js.map +1 -1
- package/app-frontend/widgets/FieldEditorWithButtons.js +33 -49
- package/app-frontend/widgets/FieldEditorWithButtons.js.map +1 -1
- package/app-frontend/widgets/click-to-drag/ClickToDrag.js +25 -41
- package/app-frontend/widgets/click-to-drag/ClickToDrag.js.map +1 -1
- package/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js +22 -38
- package/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js.map +1 -1
- package/package.json +4 -4
- package/shared/BaseHttpModule.js +44 -64
- package/shared/BaseHttpModule.js.map +1 -1
- package/shared/BaseHttpRequest.js +122 -176
- package/shared/BaseHttpRequest.js.map +1 -1
- package/shared/request-types.js +4 -19
- package/shared/request-types.js.map +1 -1
- package/test-backend/StormTester.js +37 -90
- package/test-backend/StormTester.js.map +1 -1
|
@@ -1,28 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
extendStatics(d, b);
|
|
11
|
-
function __() { this.constructor = d; }
|
|
12
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
13
|
-
};
|
|
14
|
-
})();
|
|
15
|
-
var __assign = (this && this.__assign) || function () {
|
|
16
|
-
__assign = Object.assign || function(t) {
|
|
17
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
18
|
-
s = arguments[i];
|
|
19
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
20
|
-
t[p] = s[p];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
return __assign.apply(this, arguments);
|
|
25
|
-
};
|
|
26
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
27
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
28
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -32,33 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
32
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
33
9
|
});
|
|
34
10
|
};
|
|
35
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
36
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
37
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
38
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
39
|
-
function step(op) {
|
|
40
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
41
|
-
while (_) try {
|
|
42
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
43
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
44
|
-
switch (op[0]) {
|
|
45
|
-
case 0: case 1: t = op; break;
|
|
46
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
47
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
48
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
49
|
-
default:
|
|
50
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
51
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
52
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
53
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
54
|
-
if (t[2]) _.ops.pop();
|
|
55
|
-
_.trys.pop(); continue;
|
|
56
|
-
}
|
|
57
|
-
op = body.call(thisArg, _);
|
|
58
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
59
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
63
12
|
exports.RemoteProxyCaller = void 0;
|
|
64
13
|
/*
|
|
@@ -81,76 +30,55 @@ exports.RemoteProxyCaller = void 0;
|
|
|
81
30
|
* See the License for the specific language governing permissions and
|
|
82
31
|
* limitations under the License.
|
|
83
32
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
var _a;
|
|
94
|
-
return __generator(this, function (_b) {
|
|
95
|
-
switch (_b.label) {
|
|
96
|
-
case 0:
|
|
97
|
-
params = _params && Object.keys(_params).map(function (key) {
|
|
98
|
-
return key + "=" + _params[key];
|
|
99
|
-
});
|
|
100
|
-
urlParams = "";
|
|
101
|
-
if (params && params.length > 0)
|
|
102
|
-
urlParams = "?" + params.join("&");
|
|
103
|
-
proxyRequest = {
|
|
104
|
-
headers: __assign(__assign({}, _headers), (_a = {}, _a[this.config.secretHeaderName] = this.config.secret, _a[this.config.proxyHeaderName] = this.config.proxyId, _a)),
|
|
105
|
-
uri: "" + this.config.url + url + urlParams,
|
|
106
|
-
method: 'GET',
|
|
107
|
-
json: true
|
|
108
|
-
};
|
|
109
|
-
return [4 /*yield*/, this.executeRequest(proxyRequest)];
|
|
110
|
-
case 1: return [2 /*return*/, _b.sent()];
|
|
111
|
-
}
|
|
33
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
34
|
+
const promisify_request_1 = require("../../utils/promisify-request");
|
|
35
|
+
const exceptions_1 = require("../../exceptions");
|
|
36
|
+
class RemoteProxyCaller extends ts_common_1.Module {
|
|
37
|
+
constructor() {
|
|
38
|
+
super(...arguments);
|
|
39
|
+
this.executeGetRequest = (url, _params, _headers) => __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const params = _params && Object.keys(_params).map((key) => {
|
|
41
|
+
return `${key}=${_params[key]}`;
|
|
112
42
|
});
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}); };
|
|
151
|
-
return _this;
|
|
43
|
+
let urlParams = "";
|
|
44
|
+
if (params && params.length > 0)
|
|
45
|
+
urlParams = `?${params.join("&")}`;
|
|
46
|
+
const proxyRequest = {
|
|
47
|
+
headers: Object.assign(Object.assign({}, _headers), { [this.config.secretHeaderName]: this.config.secret, [this.config.proxyHeaderName]: this.config.proxyId }),
|
|
48
|
+
uri: `${this.config.url}${url}${urlParams}`,
|
|
49
|
+
method: 'GET',
|
|
50
|
+
json: true
|
|
51
|
+
};
|
|
52
|
+
return yield this.executeRequest(proxyRequest);
|
|
53
|
+
});
|
|
54
|
+
this.executePostRequest = (url, body, _headers) => __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
const proxyRequest = {
|
|
56
|
+
headers: Object.assign(Object.assign({}, _headers), { 'Content-Type': 'application/json', [this.config.secretHeaderName]: this.config.secret, [this.config.proxyHeaderName]: this.config.proxyId }),
|
|
57
|
+
json: true,
|
|
58
|
+
uri: `${this.config.url}${url}`,
|
|
59
|
+
body: body,
|
|
60
|
+
method: 'POST'
|
|
61
|
+
};
|
|
62
|
+
return this.executeRequest(proxyRequest);
|
|
63
|
+
});
|
|
64
|
+
this.executeRequest = (proxyRequest) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const response = yield promisify_request_1.promisifyRequest(proxyRequest, false);
|
|
66
|
+
if (proxyRequest.headers)
|
|
67
|
+
delete proxyRequest.headers[this.config.secretHeaderName];
|
|
68
|
+
if (response.statusCode !== 200) {
|
|
69
|
+
let errorResponse;
|
|
70
|
+
errorResponse = response.body;
|
|
71
|
+
if (!errorResponse)
|
|
72
|
+
throw new exceptions_1.ApiException(500, `Extraneous error ${ts_common_1.__stringify(response)}, Proxy Request: ${ts_common_1.__stringify(proxyRequest, true)}`);
|
|
73
|
+
const e = new exceptions_1.ApiException(response.statusCode, `Redirect proxy error: ${errorResponse.debugMessage} \n Proxy Request: ${ts_common_1.__stringify(proxyRequest, true)}`);
|
|
74
|
+
if (errorResponse.error)
|
|
75
|
+
e.setErrorBody(errorResponse.error);
|
|
76
|
+
throw e;
|
|
77
|
+
}
|
|
78
|
+
return response.toJSON().body;
|
|
79
|
+
});
|
|
152
80
|
}
|
|
153
|
-
|
|
81
|
+
init() {
|
|
154
82
|
if (!this.config)
|
|
155
83
|
throw new ts_common_1.ImplementationMissingException("MUST specify config for this module!!");
|
|
156
84
|
if (!this.config.proxyId)
|
|
@@ -163,8 +91,7 @@ var RemoteProxyCaller = /** @class */ (function (_super) {
|
|
|
163
91
|
this.config.secretHeaderName = 'x-secret';
|
|
164
92
|
if (!this.config.proxyHeaderName)
|
|
165
93
|
this.config.proxyHeaderName = 'x-proxy';
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
}(ts_common_1.Module));
|
|
94
|
+
}
|
|
95
|
+
}
|
|
169
96
|
exports.RemoteProxyCaller = RemoteProxyCaller;
|
|
170
97
|
//# sourceMappingURL=RemoteProxyCaller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"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"}
|