@intuitionrobotics/thunderstorm 0.45.0 → 0.45.1
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 +20 -0
- package/app-backend/api/v1/utils/version/_assert.js.map +1 -1
- package/app-backend/api/v1/utils/version/assert.js +20 -0
- package/app-backend/api/v1/utils/version/assert.js.map +1 -1
- package/app-backend/core/BaseStorm.d.ts +1 -1
- package/app-backend/core/BaseStorm.js +22 -2
- package/app-backend/core/BaseStorm.js.map +1 -1
- package/app-backend/core/Storm.js +27 -9
- package/app-backend/core/Storm.js.map +1 -1
- package/app-backend/exceptions.d.ts +2 -2
- package/app-backend/exceptions.js +22 -2
- package/app-backend/exceptions.js.map +1 -1
- package/app-backend/modules/CleanupScheduler.js +4 -5
- package/app-backend/modules/CleanupScheduler.js.map +1 -1
- package/app-backend/modules/FirestoreBackupScheduler.d.ts +1 -1
- package/app-backend/modules/FirestoreBackupScheduler.js +9 -23
- package/app-backend/modules/FirestoreBackupScheduler.js.map +1 -1
- package/app-backend/modules/ForceUpgrade.d.ts +1 -1
- package/app-backend/modules/ForceUpgrade.js +26 -8
- package/app-backend/modules/ForceUpgrade.js.map +1 -1
- package/app-backend/modules/SlackModule.d.ts +4 -2
- package/app-backend/modules/SlackModule.js +30 -9
- package/app-backend/modules/SlackModule.js.map +1 -1
- package/app-backend/modules/_imports.d.ts +10 -0
- package/app-backend/modules/_imports.js +43 -0
- package/app-backend/modules/_imports.js.map +1 -0
- package/app-backend/modules/http/AxiosHttpModule.js +23 -3
- package/app-backend/modules/http/AxiosHttpModule.js.map +1 -1
- package/app-backend/modules/proxy/RemoteProxy.d.ts +1 -2
- package/app-backend/modules/proxy/RemoteProxy.js +30 -11
- package/app-backend/modules/proxy/RemoteProxy.js.map +1 -1
- package/app-backend/modules/proxy/RemoteProxyCaller.d.ts +1 -1
- package/app-backend/modules/proxy/RemoteProxyCaller.js +29 -11
- package/app-backend/modules/proxy/RemoteProxyCaller.js.map +1 -1
- package/app-backend/modules/server/HttpServer.d.ts +2 -3
- package/app-backend/modules/server/HttpServer.js +31 -9
- package/app-backend/modules/server/HttpServer.js.map +1 -1
- package/app-backend/modules/server/server-api.d.ts +7 -3
- package/app-backend/modules/server/server-api.js +56 -30
- package/app-backend/modules/server/server-api.js.map +1 -1
- package/app-backend/modules/server/server-errors.d.ts +1 -1
- package/app-backend/modules/server/server-errors.js +26 -7
- package/app-backend/modules/server/server-errors.js.map +1 -1
- package/app-backend/utils/LogClient_File.d.ts +2 -2
- package/app-backend/utils/LogClient_File.js +30 -12
- package/app-backend/utils/LogClient_File.js.map +1 -1
- package/app-backend/utils/file.js +20 -0
- package/app-backend/utils/file.js.map +1 -1
- package/app-backend/utils/promisify-request.js +22 -2
- package/app-backend/utils/promisify-request.js.map +1 -1
- package/app-backend/utils/to-be-removed.js +20 -0
- package/app-backend/utils/to-be-removed.js.map +1 -1
- package/app-backend/utils/types.d.ts +1 -1
- package/app-backend/utils/types.js +22 -2
- package/app-backend/utils/types.js.map +1 -1
- package/app-frontend/components/ActionButton.js +20 -0
- package/app-frontend/components/ActionButton.js.map +1 -1
- package/app-frontend/components/DropDown.js +24 -5
- package/app-frontend/components/DropDown.js.map +1 -1
- package/app-frontend/components/FilterInput.js +23 -4
- package/app-frontend/components/FilterInput.js.map +1 -1
- package/app-frontend/components/GenericSelect.js +21 -1
- package/app-frontend/components/GenericSelect.js.map +1 -1
- package/app-frontend/components/GenericTabs.d.ts +4 -0
- package/app-frontend/components/GenericTabs.js +11 -0
- package/app-frontend/components/GenericTabs.js.map +1 -0
- package/app-frontend/components/Overlay.js +20 -0
- package/app-frontend/components/Overlay.js.map +1 -1
- package/app-frontend/components/TS_Input.js +23 -3
- package/app-frontend/components/TS_Input.js.map +1 -1
- package/app-frontend/components/TS_Table.d.ts +1 -1
- package/app-frontend/components/TS_Table.js +20 -0
- package/app-frontend/components/TS_Table.js.map +1 -1
- package/app-frontend/components/TS_TextArea.js +20 -0
- package/app-frontend/components/TS_TextArea.js.map +1 -1
- package/app-frontend/components/adapter/Adapter.js +26 -6
- package/app-frontend/components/adapter/Adapter.js.map +1 -1
- package/app-frontend/components/adapter/BaseRenderer.js +20 -0
- package/app-frontend/components/adapter/BaseRenderer.js.map +1 -1
- package/app-frontend/components/checkbox/TS_Checkbox.d.ts +2 -2
- package/app-frontend/components/checkbox/TS_Checkbox.js +1 -2
- package/app-frontend/components/checkbox/TS_Checkbox.js.map +1 -1
- package/app-frontend/components/checkbox/TS_CheckboxField.js +18 -0
- package/app-frontend/components/checkbox/TS_CheckboxField.js.map +1 -1
- package/app-frontend/components/form/Form.d.ts +1 -2
- package/app-frontend/components/form/Form.js +22 -2
- package/app-frontend/components/form/Form.js.map +1 -1
- package/app-frontend/components/form/types.d.ts +1 -2
- package/app-frontend/components/form/types.js +20 -0
- package/app-frontend/components/form/types.js.map +1 -1
- package/app-frontend/components/playground/Example_NewProps.js +20 -0
- package/app-frontend/components/playground/Example_NewProps.js.map +1 -1
- package/app-frontend/components/playground/Playground.js +21 -1
- package/app-frontend/components/playground/Playground.js.map +1 -1
- package/app-frontend/components/tree/MenuComponent.js +22 -2
- package/app-frontend/components/tree/MenuComponent.js.map +1 -1
- package/app-frontend/components/tree/MultiTypeAdaptor.js +22 -2
- package/app-frontend/components/tree/MultiTypeAdaptor.js.map +1 -1
- package/app-frontend/components/tree/SimpleTreeNodeRenderer.js +20 -0
- package/app-frontend/components/tree/SimpleTreeNodeRenderer.js.map +1 -1
- package/app-frontend/components/tree/Tree.js +23 -3
- package/app-frontend/components/tree/Tree.js.map +1 -1
- package/app-frontend/components/tree/types.js +20 -0
- package/app-frontend/components/tree/types.js.map +1 -1
- package/app-frontend/components/treeicons.js.map +1 -1
- package/app-frontend/components/types.js +20 -0
- package/app-frontend/components/types.js.map +1 -1
- package/app-frontend/core/AbstractThunder.d.ts +3 -0
- package/app-frontend/core/AbstractThunder.js +32 -0
- package/app-frontend/core/AbstractThunder.js.map +1 -1
- package/app-frontend/core/AppPage.js +20 -0
- package/app-frontend/core/AppPage.js.map +1 -1
- package/app-frontend/core/AppWrapper.js +23 -2
- package/app-frontend/core/AppWrapper.js.map +1 -1
- package/app-frontend/core/BaseComponent.d.ts +4 -2
- package/app-frontend/core/BaseComponent.js +41 -18
- package/app-frontend/core/BaseComponent.js.map +1 -1
- package/app-frontend/core/SimpleScriptInjector.js +22 -2
- package/app-frontend/core/SimpleScriptInjector.js.map +1 -1
- package/app-frontend/core/Thunder.js +22 -3
- package/app-frontend/core/Thunder.js.map +1 -1
- package/app-frontend/core/thunder-dispatcher.d.ts +1 -2
- package/app-frontend/core/thunder-dispatcher.js +23 -13
- package/app-frontend/core/thunder-dispatcher.js.map +1 -1
- package/app-frontend/modules/ConnectivityModule.d.ts +1 -1
- package/app-frontend/modules/ConnectivityModule.js +2 -2
- package/app-frontend/modules/ConnectivityModule.js.map +1 -1
- package/app-frontend/modules/ForceUpgrade.d.ts +1 -1
- package/app-frontend/modules/ForceUpgrade.js +23 -4
- package/app-frontend/modules/ForceUpgrade.js.map +1 -1
- package/app-frontend/modules/HistoryModule.d.ts +5 -3
- package/app-frontend/modules/HistoryModule.js +28 -9
- package/app-frontend/modules/HistoryModule.js.map +1 -1
- package/app-frontend/modules/ResourcesModule.d.ts +4 -1
- package/app-frontend/modules/ResourcesModule.js +25 -2
- package/app-frontend/modules/ResourcesModule.js.map +1 -1
- package/app-frontend/modules/StorageModule.d.ts +4 -1
- package/app-frontend/modules/StorageModule.js +26 -4
- package/app-frontend/modules/StorageModule.js.map +1 -1
- package/app-frontend/modules/ThunderstormModule.d.ts +1 -1
- package/app-frontend/modules/ThunderstormModule.js +3 -3
- package/app-frontend/modules/ThunderstormModule.js.map +1 -1
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.js +20 -0
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.js.map +1 -1
- package/app-frontend/modules/component-loader/entry-component-loading-module.d.ts +1 -1
- package/app-frontend/modules/component-loader/entry-component-loading-module.js +25 -4
- package/app-frontend/modules/component-loader/entry-component-loading-module.js.map +1 -1
- package/app-frontend/modules/dialog/Dialog.js +22 -0
- package/app-frontend/modules/dialog/Dialog.js.map +1 -1
- package/app-frontend/modules/dialog/DialogModule.d.ts +1 -1
- package/app-frontend/modules/dialog/DialogModule.js +22 -2
- package/app-frontend/modules/dialog/DialogModule.js.map +1 -1
- package/app-frontend/modules/http/HttpClient.js +20 -0
- package/app-frontend/modules/http/HttpClient.js.map +1 -1
- package/app-frontend/modules/http/XhrHttpModule.js +10 -9
- package/app-frontend/modules/http/XhrHttpModule.js.map +1 -1
- package/app-frontend/modules/locale/LocaleModule.d.ts +4 -1
- package/app-frontend/modules/locale/LocaleModule.js +24 -5
- package/app-frontend/modules/locale/LocaleModule.js.map +1 -1
- package/app-frontend/modules/locale/types.d.ts +3 -0
- package/app-frontend/modules/locale/types.js +20 -0
- package/app-frontend/modules/locale/types.js.map +1 -1
- package/app-frontend/modules/menu/MenuAndButton.js +2 -2
- package/app-frontend/modules/menu/MenuAndButton.js.map +1 -1
- package/app-frontend/modules/menu/MenuModule.d.ts +1 -1
- package/app-frontend/modules/menu/MenuModule.js +3 -4
- package/app-frontend/modules/menu/MenuModule.js.map +1 -1
- package/app-frontend/modules/menu/PopupMenu.js +2 -2
- package/app-frontend/modules/menu/PopupMenu.js.map +1 -1
- package/app-frontend/modules/routing/RoutingModule.d.ts +2 -2
- package/app-frontend/modules/routing/RoutingModule.js +25 -6
- package/app-frontend/modules/routing/RoutingModule.js.map +1 -1
- package/app-frontend/modules/routing/route.d.ts +2 -2
- package/app-frontend/modules/routing/route.js +20 -0
- package/app-frontend/modules/routing/route.js.map +1 -1
- package/app-frontend/modules/toaster/BaseToaster.js +22 -0
- package/app-frontend/modules/toaster/BaseToaster.js.map +1 -1
- package/app-frontend/modules/toaster/Toaster.js +20 -0
- package/app-frontend/modules/toaster/Toaster.js.map +1 -1
- package/app-frontend/modules/toaster/ToasterModule.d.ts +1 -1
- package/app-frontend/modules/toaster/ToasterModule.js +25 -5
- package/app-frontend/modules/toaster/ToasterModule.js.map +1 -1
- package/app-frontend/modules/tooltip/Tooltip.js +22 -2
- package/app-frontend/modules/tooltip/Tooltip.js.map +1 -1
- package/app-frontend/modules/tooltip/TooltipModule.d.ts +1 -1
- package/app-frontend/modules/tooltip/TooltipModule.js +23 -4
- package/app-frontend/modules/tooltip/TooltipModule.js.map +1 -1
- package/app-frontend/tools/KeyboardListener.js +17 -0
- package/app-frontend/tools/KeyboardListener.js.map +1 -1
- package/app-frontend/tools/Stylable.js +20 -0
- package/app-frontend/tools/Stylable.js.map +1 -1
- package/app-frontend/types/renderer-map.js +20 -0
- package/app-frontend/types/renderer-map.js.map +1 -1
- package/app-frontend/utils/tools.js +23 -3
- package/app-frontend/utils/tools.js.map +1 -1
- package/backend-test.d.ts +1 -0
- package/backend-test.js +34 -0
- package/backend-test.js.map +1 -0
- package/backend.d.ts +17 -0
- package/backend.js +50 -0
- package/backend.js.map +1 -0
- package/frontend.d.ts +55 -0
- package/frontend.js +88 -0
- package/frontend.js.map +1 -0
- package/index.d.ts +6 -0
- package/index.js +37 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/shared/BaseHttpModule.d.ts +1 -1
- package/shared/BaseHttpModule.js +5 -6
- package/shared/BaseHttpModule.js.map +1 -1
- package/shared/BaseHttpRequest.js +27 -9
- package/shared/BaseHttpRequest.js.map +1 -1
- package/shared/consts.js +20 -0
- package/shared/consts.js.map +1 -1
- package/shared/force-upgrade.js +20 -0
- package/shared/force-upgrade.js.map +1 -1
- package/shared/request-types.js +20 -0
- package/shared/request-types.js.map +1 -1
- package/shared/types.js +20 -0
- package/shared/types.js.map +1 -1
- package/test-backend/StormTester.js +26 -6
- package/test-backend/StormTester.js.map +1 -1
- package/test-frontend/ThunderTester.js +20 -0
- package/test-frontend/ThunderTester.js.map +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Thunderstorm is a full web app framework!
|
|
4
|
+
*
|
|
5
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
6
|
+
* Typescript & React frontend infrastructure
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
9
|
+
*
|
|
10
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
* you may not use this file except in compliance with the License.
|
|
12
|
+
* You may obtain a copy of the License at
|
|
13
|
+
*
|
|
14
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
* See the License for the specific language governing permissions and
|
|
20
|
+
* limitations under the License.
|
|
21
|
+
*/
|
|
22
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
25
|
+
}) : (function(o, m, k, k2) {
|
|
26
|
+
if (k2 === undefined) k2 = k;
|
|
27
|
+
o[k2] = m[k];
|
|
28
|
+
}));
|
|
29
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
30
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
__exportStar(require("./server/server-api"), exports);
|
|
34
|
+
__exportStar(require("./server/HttpServer"), exports);
|
|
35
|
+
__exportStar(require("./proxy/RemoteProxyCaller"), exports);
|
|
36
|
+
__exportStar(require("./proxy/RemoteProxy"), exports);
|
|
37
|
+
__exportStar(require("../exceptions"), exports);
|
|
38
|
+
__exportStar(require("../utils/promisify-request"), exports);
|
|
39
|
+
__exportStar(require("../utils/to-be-removed"), exports);
|
|
40
|
+
__exportStar(require("./CleanupScheduler"), exports);
|
|
41
|
+
__exportStar(require("./FirestoreBackupScheduler"), exports);
|
|
42
|
+
__exportStar(require("../../index"), exports);
|
|
43
|
+
//# sourceMappingURL=_imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;AAEH,sDAAoC;AACpC,sDAAoC;AAEpC,4DAA0C;AAC1C,sDAAoC;AAEpC,gDAA8B;AAC9B,6DAA2C;AAC3C,yDAAuC;AAEvC,qDAAmC;AACnC,6DAA2C;AAE3C,8CAA4B"}
|
|
@@ -10,10 +10,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.AxiosHttpModule = exports.AxiosHttpModule_Class = void 0;
|
|
13
|
+
/*
|
|
14
|
+
* Thunderstorm is a full web app framework!
|
|
15
|
+
*
|
|
16
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
17
|
+
* Typescript & React frontend infrastructure
|
|
18
|
+
*
|
|
19
|
+
* Copyright (C) 2020 Alan Ben
|
|
20
|
+
*
|
|
21
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
22
|
+
* you may not use this file except in compliance with the License.
|
|
23
|
+
* You may obtain a copy of the License at
|
|
24
|
+
*
|
|
25
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
26
|
+
*
|
|
27
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
28
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
29
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
30
|
+
* See the License for the specific language governing permissions and
|
|
31
|
+
* limitations under the License.
|
|
32
|
+
*/
|
|
13
33
|
// noinspection TypeScriptPreferShortImport
|
|
14
34
|
const axios_1 = require("axios");
|
|
15
35
|
const types_1 = require("../../../shared/types");
|
|
16
|
-
const
|
|
36
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
17
37
|
const BaseHttpRequest_1 = require("../../../shared/BaseHttpRequest");
|
|
18
38
|
const BaseHttpModule_1 = require("../../../shared/BaseHttpModule");
|
|
19
39
|
const fs = require("fs");
|
|
@@ -68,7 +88,7 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
68
88
|
}
|
|
69
89
|
getStatus() {
|
|
70
90
|
if (!this.status)
|
|
71
|
-
throw new
|
|
91
|
+
throw new ts_common_1.BadImplementationException('Missing status..');
|
|
72
92
|
return this.status;
|
|
73
93
|
}
|
|
74
94
|
getResponse() {
|
|
@@ -156,7 +176,7 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
156
176
|
}
|
|
157
177
|
getResponseHeader(headerKey) {
|
|
158
178
|
if (!this.response)
|
|
159
|
-
throw new
|
|
179
|
+
throw new ts_common_1.BadImplementationException(`axios didn't return yet`);
|
|
160
180
|
return this.response.headers[headerKey];
|
|
161
181
|
}
|
|
162
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxiosHttpModule.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2C;AAC3C,iCAA0B;AAC1B,iDAAoH;AACpH,
|
|
1
|
+
{"version":3,"file":"AxiosHttpModule.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Module } from "@intuitionrobotics/ts-common
|
|
2
|
-
import { ObjectTS } from "@intuitionrobotics/ts-common/utils/types";
|
|
1
|
+
import { Module, ObjectTS } from "@intuitionrobotics/ts-common";
|
|
3
2
|
import { ServerApi_Middleware } from "../server/HttpServer";
|
|
4
3
|
import { HttpRequestData } from "../server/server-api";
|
|
5
4
|
import { ExpressRequest, QueryRequestInfo } from "../../utils/types";
|
|
@@ -10,11 +10,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RemoteProxy = exports.RemoteProxy_Class = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
/*
|
|
14
|
+
* Thunderstorm is a full web app framework!
|
|
15
|
+
*
|
|
16
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
17
|
+
* Typescript & React frontend infrastructure
|
|
18
|
+
*
|
|
19
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
20
|
+
*
|
|
21
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
22
|
+
* you may not use this file except in compliance with the License.
|
|
23
|
+
* You may obtain a copy of the License at
|
|
24
|
+
*
|
|
25
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
26
|
+
*
|
|
27
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
28
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
29
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
30
|
+
* See the License for the specific language governing permissions and
|
|
31
|
+
* limitations under the License.
|
|
32
|
+
*/
|
|
33
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
15
34
|
const HttpServer_1 = require("../server/HttpServer");
|
|
16
|
-
const
|
|
17
|
-
class RemoteProxy_Class extends
|
|
35
|
+
const exceptions_1 = require("../../exceptions");
|
|
36
|
+
class RemoteProxy_Class extends ts_common_1.Module {
|
|
18
37
|
constructor() {
|
|
19
38
|
super("RemoteProxy");
|
|
20
39
|
this.Middleware = (request) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -44,7 +63,7 @@ class RemoteProxy_Class extends module_1.Module {
|
|
|
44
63
|
}
|
|
45
64
|
init() {
|
|
46
65
|
if (!this.config)
|
|
47
|
-
throw new
|
|
66
|
+
throw new ts_common_1.ImplementationMissingException("MUST specify config for this module!!");
|
|
48
67
|
if (!this.config.secretHeaderName)
|
|
49
68
|
this.config.secretHeaderName = 'x-secret';
|
|
50
69
|
if (!this.config.proxyHeaderName)
|
|
@@ -54,21 +73,21 @@ class RemoteProxy_Class extends module_1.Module {
|
|
|
54
73
|
}
|
|
55
74
|
assertSecret(request) {
|
|
56
75
|
if (!this.secretHeader || !this.proxyHeader)
|
|
57
|
-
throw new
|
|
76
|
+
throw new ts_common_1.ImplementationMissingException("MUST add RemoteProxy to your module list!!!");
|
|
58
77
|
const secret = this.getSecretHeader(request);
|
|
59
78
|
const proxyId = this.getProxyHeader(request);
|
|
60
79
|
const expectedSecret = this.config.remotes[proxyId];
|
|
61
80
|
if (!proxyId)
|
|
62
|
-
throw new
|
|
81
|
+
throw new exceptions_1.ApiException(403, `Missing proxy declaration in config for ${proxyId} !!`);
|
|
63
82
|
if (!secret)
|
|
64
|
-
throw new
|
|
83
|
+
throw new exceptions_1.ApiException(403, `Missing secret !!`);
|
|
65
84
|
if (!expectedSecret)
|
|
66
|
-
throw new
|
|
85
|
+
throw new exceptions_1.ApiException(403, `ProxyId '${proxyId}' is not registered for remote access !!`);
|
|
67
86
|
if (expectedSecret.secret !== secret)
|
|
68
|
-
throw new
|
|
87
|
+
throw new exceptions_1.ApiException(403, `Secret does not match for proxyId: ${proxyId}`);
|
|
69
88
|
const requestUrl = request.path;
|
|
70
89
|
if (!expectedSecret.urls || !expectedSecret.urls.includes(requestUrl))
|
|
71
|
-
throw new
|
|
90
|
+
throw new exceptions_1.ApiException(403, `Requested url '${requestUrl}' is not allowed from proxyId: ${proxyId}`);
|
|
72
91
|
return expectedSecret.extras;
|
|
73
92
|
}
|
|
74
93
|
processApi(request, requestData) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Module } from "@intuitionrobotics/ts-common
|
|
1
|
+
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
2
|
import { DeriveBodyType, DeriveQueryType, DeriveResponseType, DeriveUrlType, QueryParams } from "../../../shared/types";
|
|
3
3
|
import { AxiosResponse } from "axios";
|
|
4
4
|
export declare type RemoteServerConfig = {
|
|
@@ -10,12 +10,30 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RemoteProxyCaller = void 0;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
/*
|
|
14
|
+
* Thunderstorm is a full web app framework!
|
|
15
|
+
*
|
|
16
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
17
|
+
* Typescript & React frontend infrastructure
|
|
18
|
+
*
|
|
19
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
20
|
+
*
|
|
21
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
22
|
+
* you may not use this file except in compliance with the License.
|
|
23
|
+
* You may obtain a copy of the License at
|
|
24
|
+
*
|
|
25
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
26
|
+
*
|
|
27
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
28
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
29
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
30
|
+
* See the License for the specific language governing permissions and
|
|
31
|
+
* limitations under the License.
|
|
32
|
+
*/
|
|
33
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
16
34
|
const promisify_request_1 = require("../../utils/promisify-request");
|
|
17
|
-
const
|
|
18
|
-
class RemoteProxyCaller extends
|
|
35
|
+
const exceptions_1 = require("../../exceptions");
|
|
36
|
+
class RemoteProxyCaller extends ts_common_1.Module {
|
|
19
37
|
// noinspection TypeScriptAbstractClassConstructorCanBeMadeProtected
|
|
20
38
|
constructor(name) {
|
|
21
39
|
super(name);
|
|
@@ -63,9 +81,9 @@ class RemoteProxyCaller extends module_1.Module {
|
|
|
63
81
|
if (statusCode < 200 || statusCode >= 300) {
|
|
64
82
|
const errorResponse = response.data;
|
|
65
83
|
if (!errorResponse)
|
|
66
|
-
throw new
|
|
84
|
+
throw new exceptions_1.ApiException(500, `Extraneous error ${ts_common_1.__stringify(response)}, Proxy Request: ${ts_common_1.__stringify(proxyRequest, true)}`);
|
|
67
85
|
const debugMessage = typeof errorResponse === 'object' ? errorResponse['debugMessage'] : errorResponse;
|
|
68
|
-
const e = new
|
|
86
|
+
const e = new exceptions_1.ApiException(response.status, `Redirect proxy error: ${debugMessage} \n Proxy Request: ${ts_common_1.__stringify(proxyRequest, true)}`);
|
|
69
87
|
if (errorResponse.error)
|
|
70
88
|
e.setErrorBody(errorResponse.error);
|
|
71
89
|
throw e;
|
|
@@ -75,13 +93,13 @@ class RemoteProxyCaller extends module_1.Module {
|
|
|
75
93
|
}
|
|
76
94
|
init() {
|
|
77
95
|
if (!this.config)
|
|
78
|
-
throw new
|
|
96
|
+
throw new ts_common_1.ImplementationMissingException("MUST specify config for this module!!");
|
|
79
97
|
if (!this.config.proxyId)
|
|
80
|
-
throw new
|
|
98
|
+
throw new ts_common_1.ImplementationMissingException("MUST specify the proxyId for the proxy caller!!");
|
|
81
99
|
if (!this.config.url)
|
|
82
|
-
throw new
|
|
100
|
+
throw new ts_common_1.ImplementationMissingException("MUST specify the url for the remote server!!");
|
|
83
101
|
if (!this.config.secret)
|
|
84
|
-
throw new
|
|
102
|
+
throw new ts_common_1.ImplementationMissingException("MUST specify the secret for the remote server!!");
|
|
85
103
|
if (!this.config.secretHeaderName)
|
|
86
104
|
this.config.secretHeaderName = 'x-secret';
|
|
87
105
|
if (!this.config.proxyHeaderName)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { Module, ObjectTS } from "@intuitionrobotics/ts-common";
|
|
2
3
|
import { ApiResponse, HttpRequestData, ServerApi } from "./server-api";
|
|
3
4
|
import { ApiException } from "../../exceptions";
|
|
4
5
|
import { Express, ExpressRequest, ExpressRequestHandler } from "../../utils/types";
|
|
5
|
-
import { ObjectTS } from '@intuitionrobotics/ts-common/utils/types';
|
|
6
|
-
import { Module } from '@intuitionrobotics/ts-common/core/module';
|
|
7
6
|
declare type ConfigType = {
|
|
8
7
|
port: number;
|
|
9
8
|
baseUrl: string;
|
|
@@ -20,7 +19,7 @@ declare type ConfigType = {
|
|
|
20
19
|
bodyParserLimit: number | string;
|
|
21
20
|
};
|
|
22
21
|
export declare type HttpErrorHandler = (requestData: HttpRequestData, error: ApiException) => Promise<string>;
|
|
23
|
-
export declare type ServerApi_Middleware = (request: ExpressRequest, data: HttpRequestData, response: ApiResponse) => Promise<ObjectTS | void>;
|
|
22
|
+
export declare type ServerApi_Middleware = (request: ExpressRequest, data: HttpRequestData, response: ApiResponse, scopes: string[]) => Promise<ObjectTS | void>;
|
|
24
23
|
declare type HttpRoute = {
|
|
25
24
|
methods: string[];
|
|
26
25
|
path: string;
|
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Thunderstorm is a full web app framework!
|
|
4
|
+
*
|
|
5
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
6
|
+
* Typescript & React frontend infrastructure
|
|
7
|
+
*
|
|
8
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
9
|
+
*
|
|
10
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
+
* you may not use this file except in compliance with the License.
|
|
12
|
+
* You may obtain a copy of the License at
|
|
13
|
+
*
|
|
14
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
+
*
|
|
16
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
+
* See the License for the specific language governing permissions and
|
|
20
|
+
* limitations under the License.
|
|
21
|
+
*/
|
|
2
22
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
23
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
24
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -10,15 +30,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
30
|
};
|
|
11
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
32
|
exports.HeaderKey = exports.RouteResolver = exports.HttpServer_Class = void 0;
|
|
33
|
+
/**
|
|
34
|
+
* Module dependencies.
|
|
35
|
+
*/
|
|
13
36
|
const compression = require("compression");
|
|
14
37
|
const fs = require("fs");
|
|
38
|
+
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
15
39
|
const server_api_1 = require("./server-api");
|
|
16
40
|
const exceptions_1 = require("../../exceptions");
|
|
17
41
|
const express = require("express");
|
|
18
42
|
const server_errors_1 = require("./server-errors");
|
|
19
|
-
const
|
|
20
|
-
const types_1 = require("@intuitionrobotics/ts-common/core/logger/types");
|
|
21
|
-
const consts_1 = require("../../../shared/consts");
|
|
43
|
+
const _imports_1 = require("../_imports");
|
|
22
44
|
const ALL_Methods = [
|
|
23
45
|
'GET',
|
|
24
46
|
'PUT',
|
|
@@ -34,10 +56,10 @@ const DefaultHeaders = [
|
|
|
34
56
|
'authorization'
|
|
35
57
|
];
|
|
36
58
|
const ExposedHeaders = [
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
_imports_1.HeaderKey_FunctionExecutionId,
|
|
60
|
+
_imports_1.HeaderKey_JWT
|
|
39
61
|
];
|
|
40
|
-
class HttpServer_Class extends
|
|
62
|
+
class HttpServer_Class extends ts_common_1.Module {
|
|
41
63
|
constructor(_express) {
|
|
42
64
|
super("HttpServer");
|
|
43
65
|
this.errorMessageComposer = server_errors_1.DefaultApiErrorMessageComposer();
|
|
@@ -58,7 +80,7 @@ class HttpServer_Class extends module_1.Module {
|
|
|
58
80
|
}
|
|
59
81
|
init() {
|
|
60
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
this.setMinLevel(server_api_1.ServerApi.isDebug ?
|
|
83
|
+
this.setMinLevel(server_api_1.ServerApi.isDebug ? ts_common_1.LogLevel.Verbose : ts_common_1.LogLevel.Info);
|
|
62
84
|
const baseUrl = this.config.baseUrl;
|
|
63
85
|
if (baseUrl) {
|
|
64
86
|
if (baseUrl.endsWith("/"))
|
|
@@ -82,7 +104,7 @@ class HttpServer_Class extends module_1.Module {
|
|
|
82
104
|
cors.exposedHeaders = ExposedHeaders;
|
|
83
105
|
cors.headers = DefaultHeaders.reduce((toRet, item) => {
|
|
84
106
|
if (!toRet.includes(item))
|
|
85
|
-
|
|
107
|
+
ts_common_1.addItemToArray(toRet, item);
|
|
86
108
|
return toRet;
|
|
87
109
|
}, cors.headers || []);
|
|
88
110
|
const resolveCorsOrigin = (origin) => {
|
|
@@ -147,7 +169,7 @@ class HttpServer_Class extends module_1.Module {
|
|
|
147
169
|
const routes = resolveRoutes(this.express._router.stack);
|
|
148
170
|
this.routes = routes.reduce((toRet, route) => {
|
|
149
171
|
const toAdd = Array.isArray(route) ? route : [route];
|
|
150
|
-
|
|
172
|
+
ts_common_1.addAllItemToArray(toRet, toAdd);
|
|
151
173
|
return toRet;
|
|
152
174
|
}, []);
|
|
153
175
|
console.timeEnd('Resolving Apis');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpServer.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/HttpServer.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"HttpServer.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/HttpServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
/**
|
|
3
|
+
* Created by tacb0ss on 11/07/2018.
|
|
4
|
+
*/
|
|
5
|
+
import { Logger, ObjectTS, ValidatorTypeResolver } from "@intuitionrobotics/ts-common";
|
|
2
6
|
import { Stream } from "stream";
|
|
3
7
|
import { ServerApi_Middleware } from "./HttpServer";
|
|
4
8
|
import { IncomingHttpHeaders } from "http";
|
|
5
9
|
import { ApiTypeBinder, ApiWithBody, ApiWithQuery, DeriveBodyType, DeriveQueryType, DeriveResponseType, DeriveUrlType, HttpMethod, QueryParams } from "../../../shared/types";
|
|
6
10
|
import { ApiException } from "../../exceptions";
|
|
7
11
|
import { ExpressRequest, ExpressResponse, ExpressRouter } from "../../utils/types";
|
|
8
|
-
import { Logger } from "@intuitionrobotics/ts-common/core/logger/Logger";
|
|
9
|
-
import { ValidatorTypeResolver } from "@intuitionrobotics/ts-common/validator/validator";
|
|
10
|
-
import { ObjectTS } from "@intuitionrobotics/ts-common/utils/types";
|
|
11
12
|
export declare type HttpRequestData = {
|
|
12
13
|
originalUrl: string;
|
|
13
14
|
headers: IncomingHttpHeaders;
|
|
@@ -28,11 +29,14 @@ export declare abstract class ServerApi<Binder extends ApiTypeBinder<string, R,
|
|
|
28
29
|
private queryValidator?;
|
|
29
30
|
private sideEffects;
|
|
30
31
|
protected baseUrl?: string;
|
|
32
|
+
private scopes;
|
|
31
33
|
protected constructor(method: HttpMethod, relativePath: string, tag?: string);
|
|
32
34
|
shouldPrintResponse(): boolean;
|
|
33
35
|
addSideEffect(sideEffect: () => Promise<any>): this;
|
|
34
36
|
setMiddlewares(...middlewares: ServerApi_Middleware[]): this;
|
|
35
37
|
addMiddlewares(...middlewares: ServerApi_Middleware[]): this;
|
|
38
|
+
setScopes(...scopes: string[]): this;
|
|
39
|
+
getScopes(): string[];
|
|
36
40
|
addHeaderToLog(...headersToLog: string[]): void;
|
|
37
41
|
setBodyValidator(bodyValidator: ValidatorTypeResolver<B>): void;
|
|
38
42
|
setQueryValidator(queryValidator: ValidatorTypeResolver<P>): void;
|