@intuitionrobotics/thunderstorm 0.45.9 → 0.47.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/app-backend/core/Storm.d.ts +2 -0
- package/app-backend/core/Storm.js +4 -0
- package/app-backend/core/Storm.js.map +1 -1
- package/app-backend/exceptions.d.ts +1 -1
- package/app-backend/exceptions.js +0 -20
- package/app-backend/exceptions.js.map +1 -1
- package/app-backend/modules/CleanupScheduler.d.ts +2 -2
- package/app-backend/modules/CleanupScheduler.js +3 -3
- package/app-backend/modules/CleanupScheduler.js.map +1 -1
- package/app-backend/modules/FirestoreBackupScheduler.d.ts +2 -2
- package/app-backend/modules/FirestoreBackupScheduler.js +7 -7
- package/app-backend/modules/FirestoreBackupScheduler.js.map +1 -1
- package/app-backend/modules/ForceUpgrade.d.ts +1 -1
- package/app-backend/modules/ForceUpgrade.js +6 -4
- package/app-backend/modules/ForceUpgrade.js.map +1 -1
- package/app-backend/modules/SlackModule.d.ts +4 -7
- package/app-backend/modules/SlackModule.js +2 -25
- package/app-backend/modules/SlackModule.js.map +1 -1
- package/app-backend/modules/_imports.js +5 -1
- package/app-backend/modules/_imports.js.map +1 -1
- package/app-backend/modules/http/AxiosHttpModule.d.ts +7 -17
- package/app-backend/modules/http/AxiosHttpModule.js +44 -37
- package/app-backend/modules/http/AxiosHttpModule.js.map +1 -1
- package/app-backend/modules/http/types.d.ts +5 -5
- package/app-backend/modules/proxy/RemoteProxy.d.ts +2 -2
- package/app-backend/modules/proxy/RemoteProxy.js.map +1 -1
- package/app-backend/modules/proxy/RemoteProxyCaller.d.ts +6 -6
- package/app-backend/modules/proxy/RemoteProxyCaller.js +3 -3
- package/app-backend/modules/proxy/RemoteProxyCaller.js.map +1 -1
- package/app-backend/modules/server/HttpServer.d.ts +4 -4
- package/app-backend/modules/server/HttpServer.js +3 -3
- package/app-backend/modules/server/HttpServer.js.map +1 -1
- package/app-backend/modules/server/server-api.d.ts +8 -10
- package/app-backend/modules/server/server-api.js +9 -36
- 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 +5 -5
- package/app-backend/modules/server/server-errors.js.map +1 -1
- package/app-backend/utils/LogClient_File.js.map +1 -1
- package/app-backend/utils/promisify-request.js +3 -24
- package/app-backend/utils/promisify-request.js.map +1 -1
- package/app-backend/utils/to-be-removed.js +2 -22
- package/app-backend/utils/to-be-removed.js.map +1 -1
- package/app-backend/utils/types.d.ts +9 -6
- package/app-frontend/components/DropDown.d.ts +4 -4
- package/app-frontend/components/DropDown.js +4 -4
- package/app-frontend/components/DropDown.js.map +1 -1
- package/app-frontend/components/FilterInput.d.ts +2 -2
- package/app-frontend/components/FilterInput.js +2 -2
- package/app-frontend/components/FilterInput.js.map +1 -1
- package/app-frontend/components/GenericSelect.d.ts +2 -2
- package/app-frontend/components/GenericSelect.js +0 -20
- package/app-frontend/components/GenericSelect.js.map +1 -1
- package/app-frontend/components/Overlay.d.ts +2 -2
- package/app-frontend/components/TS_Input.d.ts +2 -2
- package/app-frontend/components/TS_Input.js +2 -2
- package/app-frontend/components/TS_Input.js.map +1 -1
- package/app-frontend/components/TS_Table.d.ts +7 -7
- package/app-frontend/components/TS_Table.js.map +1 -1
- package/app-frontend/components/TS_TextArea.d.ts +2 -2
- package/app-frontend/components/TS_TextArea.js.map +1 -1
- package/app-frontend/components/Tabs.d.ts +2 -2
- package/app-frontend/components/adapter/Adapter.d.ts +15 -15
- package/app-frontend/components/adapter/Adapter.js +5 -25
- package/app-frontend/components/adapter/Adapter.js.map +1 -1
- package/app-frontend/components/adapter/BaseRenderer.d.ts +7 -7
- package/app-frontend/components/checkbox/TS_Checkbox.d.ts +1 -1
- package/app-frontend/components/checkbox/TS_Checkbox.js.map +1 -1
- package/app-frontend/components/checkbox/TS_CheckboxField.d.ts +3 -3
- package/app-frontend/components/form/Form.d.ts +3 -3
- package/app-frontend/components/form/Form.js +1 -1
- package/app-frontend/components/form/Form.js.map +1 -1
- package/app-frontend/components/form/types.d.ts +4 -4
- package/app-frontend/components/playground/Playground.d.ts +3 -3
- package/app-frontend/components/playground/Playground.js +1 -22
- package/app-frontend/components/playground/Playground.js.map +1 -1
- package/app-frontend/components/tree/MenuComponent.d.ts +1 -1
- package/app-frontend/components/tree/MenuComponent.js +1 -1
- package/app-frontend/components/tree/MenuComponent.js.map +1 -1
- package/app-frontend/components/tree/MultiTypeAdaptor.d.ts +1 -1
- package/app-frontend/components/tree/MultiTypeAdaptor.js +1 -1
- package/app-frontend/components/tree/MultiTypeAdaptor.js.map +1 -1
- package/app-frontend/components/tree/Tree.d.ts +4 -4
- package/app-frontend/components/tree/Tree.js +12 -32
- package/app-frontend/components/tree/Tree.js.map +1 -1
- package/app-frontend/components/tree/types.d.ts +1 -1
- package/app-frontend/components/types.d.ts +2 -2
- package/app-frontend/core/AbstractThunder.d.ts +1 -1
- package/app-frontend/core/AbstractThunder.js +1 -1
- package/app-frontend/core/AbstractThunder.js.map +1 -1
- package/app-frontend/core/AppPage.d.ts +1 -1
- package/app-frontend/core/AppPage.js.map +1 -1
- package/app-frontend/core/AppWrapper.d.ts +1 -1
- package/app-frontend/core/BaseComponent.d.ts +0 -3
- package/app-frontend/core/BaseComponent.js +5 -28
- package/app-frontend/core/BaseComponent.js.map +1 -1
- package/app-frontend/core/SimpleScriptInjector.d.ts +1 -1
- package/app-frontend/core/SimpleScriptInjector.js +1 -1
- package/app-frontend/core/SimpleScriptInjector.js.map +1 -1
- package/app-frontend/core/Thunder.js +5 -5
- package/app-frontend/core/Thunder.js.map +1 -1
- package/app-frontend/core/thunder-dispatcher.d.ts +4 -4
- package/app-frontend/core/thunder-dispatcher.js +5 -27
- package/app-frontend/core/thunder-dispatcher.js.map +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 +2 -2
- package/app-frontend/modules/ForceUpgrade.js.map +1 -1
- package/app-frontend/modules/HistoryModule.d.ts +0 -3
- package/app-frontend/modules/HistoryModule.js +4 -27
- package/app-frontend/modules/HistoryModule.js.map +1 -1
- package/app-frontend/modules/ResourcesModule.d.ts +1 -4
- package/app-frontend/modules/ResourcesModule.js +0 -23
- package/app-frontend/modules/ResourcesModule.js.map +1 -1
- package/app-frontend/modules/StorageModule.d.ts +0 -3
- package/app-frontend/modules/StorageModule.js +3 -26
- package/app-frontend/modules/StorageModule.js.map +1 -1
- package/app-frontend/modules/ThunderstormModule.d.ts +1 -1
- package/app-frontend/modules/ThunderstormModule.js.map +1 -1
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.d.ts +3 -3
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.js.map +1 -1
- package/app-frontend/modules/dialog/Dialog.d.ts +5 -5
- package/app-frontend/modules/dialog/Dialog.js +1 -1
- package/app-frontend/modules/dialog/Dialog.js.map +1 -1
- package/app-frontend/modules/dialog/DialogModule.d.ts +2 -2
- package/app-frontend/modules/dialog/DialogModule.js +2 -2
- package/app-frontend/modules/dialog/DialogModule.js.map +1 -1
- package/app-frontend/modules/http/XhrHttpModule.d.ts +3 -19
- package/app-frontend/modules/http/XhrHttpModule.js +15 -17
- package/app-frontend/modules/http/XhrHttpModule.js.map +1 -1
- package/app-frontend/modules/locale/LocaleModule.d.ts +1 -4
- package/app-frontend/modules/locale/LocaleModule.js +2 -22
- package/app-frontend/modules/locale/LocaleModule.js.map +1 -1
- package/app-frontend/modules/locale/types.d.ts +3 -6
- package/app-frontend/modules/locale/types.js +0 -20
- package/app-frontend/modules/locale/types.js.map +1 -1
- package/app-frontend/modules/menu/MenuAndButton.d.ts +1 -1
- package/app-frontend/modules/menu/MenuAndButton.js +1 -1
- package/app-frontend/modules/menu/MenuAndButton.js.map +1 -1
- package/app-frontend/modules/menu/MenuModule.d.ts +2 -2
- package/app-frontend/modules/menu/MenuModule.js +3 -3
- package/app-frontend/modules/menu/MenuModule.js.map +1 -1
- package/app-frontend/modules/menu/PopupMenu.d.ts +3 -3
- package/app-frontend/modules/menu/PopupMenu.js +3 -3
- package/app-frontend/modules/menu/PopupMenu.js.map +1 -1
- package/app-frontend/modules/routing/RoutingModule.d.ts +3 -3
- package/app-frontend/modules/routing/RoutingModule.js +1 -1
- package/app-frontend/modules/routing/RoutingModule.js.map +1 -1
- package/app-frontend/modules/routing/route.d.ts +1 -1
- package/app-frontend/modules/toaster/BaseToaster.d.ts +4 -4
- package/app-frontend/modules/toaster/BaseToaster.js.map +1 -1
- package/app-frontend/modules/toaster/ToasterModule.d.ts +4 -4
- package/app-frontend/modules/toaster/ToasterModule.js +4 -4
- package/app-frontend/modules/toaster/ToasterModule.js.map +1 -1
- package/app-frontend/modules/tooltip/Tooltip.d.ts +2 -2
- package/app-frontend/modules/tooltip/Tooltip.js +1 -1
- package/app-frontend/modules/tooltip/Tooltip.js.map +1 -1
- package/app-frontend/modules/tooltip/TooltipModule.d.ts +2 -2
- package/app-frontend/modules/tooltip/TooltipModule.js +2 -2
- package/app-frontend/modules/tooltip/TooltipModule.js.map +1 -1
- package/app-frontend/tools/KeyboardListener.d.ts +1 -1
- package/app-frontend/tools/KeyboardListener.js.map +1 -1
- package/app-frontend/tools/Stylable.d.ts +1 -1
- package/app-frontend/types/renderer-map.js +1 -1
- package/app-frontend/types/renderer-map.js.map +1 -1
- package/app-frontend/utils/tools.js.map +1 -1
- package/app-frontend/widgets/FieldEditor.d.ts +1 -1
- package/app-frontend/widgets/FieldEditorClick.d.ts +2 -2
- package/app-frontend/widgets/FieldEditorClick.js +3 -3
- package/app-frontend/widgets/FieldEditorClick.js.map +1 -1
- package/app-frontend/widgets/FieldEditorWithButtons.d.ts +2 -2
- package/app-frontend/widgets/FieldEditorWithButtons.js +3 -3
- package/app-frontend/widgets/FieldEditorWithButtons.js.map +1 -1
- package/app-frontend/widgets/click-to-drag/ClickToDrag.d.ts +2 -2
- package/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.d.ts +2 -2
- package/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js.map +1 -1
- package/backend-test.js +5 -1
- package/backend-test.js.map +1 -1
- package/backend.js +5 -1
- package/backend.js.map +1 -1
- package/frontend.d.ts +0 -1
- package/frontend.js +5 -2
- package/frontend.js.map +1 -1
- package/index.js +5 -1
- package/index.js.map +1 -1
- package/package.json +8 -8
- package/shared/BaseHttpModule.d.ts +3 -5
- package/shared/BaseHttpModule.js +2 -2
- package/shared/BaseHttpModule.js.map +1 -1
- package/shared/BaseHttpRequest.d.ts +5 -7
- package/shared/BaseHttpRequest.js +7 -26
- package/shared/BaseHttpRequest.js.map +1 -1
- package/shared/consts.d.ts +1 -1
- package/shared/force-upgrade.d.ts +2 -2
- package/shared/request-types.d.ts +5 -5
- package/shared/request-types.js +1 -1
- package/shared/request-types.js.map +1 -1
- package/shared/types.d.ts +12 -11
- package/shared/types.js +1 -1
- package/shared/types.js.map +1 -1
- package/test-backend/StormTester.js +1 -1
- package/test-backend/StormTester.js.map +1 -1
- package/app-frontend/components/playground/Example_NewProps.d.ts +0 -23
- package/app-frontend/components/playground/Example_NewProps.js +0 -63
- package/app-frontend/components/playground/Example_NewProps.js.map +0 -1
|
@@ -12,7 +12,9 @@ export declare class Storm extends BaseStorm {
|
|
|
12
12
|
private readonly httpServer;
|
|
13
13
|
private logClient;
|
|
14
14
|
private onDestroy?;
|
|
15
|
+
private readonly executionId;
|
|
15
16
|
constructor(_express?: Express);
|
|
17
|
+
getExecutionId(): string;
|
|
16
18
|
setLogClient(logClient: LogClient): this;
|
|
17
19
|
setOnDestroy(onDestroy?: () => Promise<void>): this;
|
|
18
20
|
static getInstance(): Storm;
|
|
@@ -37,6 +37,10 @@ class Storm extends BaseStorm_1.BaseStorm {
|
|
|
37
37
|
this.express = _express || express();
|
|
38
38
|
this.httpServer = new HttpServer_1.HttpServer_Class(this.express);
|
|
39
39
|
this.addModules(this.httpServer, backend_1.FirebaseModule);
|
|
40
|
+
this.executionId = (0, ts_common_1.generateHex)(32);
|
|
41
|
+
}
|
|
42
|
+
getExecutionId() {
|
|
43
|
+
return this.executionId;
|
|
40
44
|
}
|
|
41
45
|
setLogClient(logClient) {
|
|
42
46
|
this.logClient = logClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Storm.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAEH,iEAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"Storm.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/Storm.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ export declare class ApiException<E extends object | void = void> extends Custom
|
|
|
4
4
|
readonly responseBody: ErrorResponse<E>;
|
|
5
5
|
readonly responseCode: number;
|
|
6
6
|
readonly setErrorBody: (errorBody: ErrorBody<E>) => this;
|
|
7
|
-
constructor(responseCode: number, debugMessage?: string, cause?:
|
|
7
|
+
constructor(responseCode: number, debugMessage?: string, cause?: any);
|
|
8
8
|
}
|
|
@@ -1,24 +1,4 @@
|
|
|
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
|
-
*/
|
|
22
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
3
|
exports.ApiException = void 0;
|
|
24
4
|
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/main/app-backend/exceptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/main/app-backend/exceptions.ts"],"names":[],"mappings":";;;AAAA,4DAA6D;AAM7D,MAAa,YACZ,SAAQ,2BAAe;IAUvB,YAAY,YAAoB,EAAE,YAAqB,EAAE,KAAW;QACnE,KAAK,CAAC,YAAY,EAAE,GAAG,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAT/D,iBAAY,GAAqB,EAAE,CAAC;QAGpC,iBAAY,GAAG,CAAC,SAAuB,EAAE,EAAE;YAC1D,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;YACpC,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAKD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/D,CAAC;CAED;AAlBD,oCAkBC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FirebaseScheduledFunction } from "@intuitionrobotics/firebase/app-backend/functions/firebase-function";
|
|
2
|
-
export
|
|
2
|
+
export type ActDetailsDoc = {
|
|
3
3
|
timestamp: number;
|
|
4
4
|
moduleKey: string;
|
|
5
5
|
};
|
|
6
|
-
export
|
|
6
|
+
export type CleanupDetails = {
|
|
7
7
|
cleanup: () => Promise<void>;
|
|
8
8
|
interval: number;
|
|
9
9
|
moduleKey: string;
|
|
@@ -19,14 +19,14 @@ class CleanupScheduler_Class extends firebase_function_1.FirebaseScheduledFuncti
|
|
|
19
19
|
super("CleanupScheduler");
|
|
20
20
|
this.onScheduledEvent = () => __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
const cleanupStatusCollection = FirebaseModule_1.FirebaseModule.createAdminSession().getFirestore().getCollection('cleanup-status', ["moduleKey"]);
|
|
22
|
-
const cleanups = dispatch_onCleanupSchedulerAct.dispatchModule(
|
|
22
|
+
const cleanups = dispatch_onCleanupSchedulerAct.dispatchModule();
|
|
23
23
|
yield Promise.all(cleanups.map((cleanupItem) => __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
const doc = yield cleanupStatusCollection.queryUnique({ where: { moduleKey: cleanupItem.moduleKey } });
|
|
25
|
-
if (doc && doc.timestamp + cleanupItem.interval > ts_common_1.currentTimeMillies())
|
|
25
|
+
if (doc && doc.timestamp + cleanupItem.interval > (0, ts_common_1.currentTimeMillies)())
|
|
26
26
|
return;
|
|
27
27
|
try {
|
|
28
28
|
yield cleanupItem.cleanup();
|
|
29
|
-
yield cleanupStatusCollection.upsert({ timestamp: ts_common_1.currentTimeMillies(), moduleKey: cleanupItem.moduleKey });
|
|
29
|
+
yield cleanupStatusCollection.upsert({ timestamp: (0, ts_common_1.currentTimeMillies)(), moduleKey: cleanupItem.moduleKey });
|
|
30
30
|
}
|
|
31
31
|
catch (e) {
|
|
32
32
|
this.logWarning(`cleanup of ${cleanupItem.moduleKey} has failed with error '${e}'`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CleanupScheduler.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/CleanupScheduler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAGsC;AACtC,2GAA8G;AAC9G,2FAAsF;AAiBtF,MAAM,8BAA8B,GAAG,IAAI,sBAAU,CAAmD,yBAAyB,CAAC,CAAC;AAEnI,MAAa,sBACZ,SAAQ,6CAAyB;IAEjC;QACC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAI3B,qBAAgB,GAAG,GAAuB,EAAE;YAC3C,MAAM,uBAAuB,GAAG,+BAAc,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,CAAC,aAAa,CAAgB,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACjJ,MAAM,QAAQ,GAAG,8BAA8B,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"CleanupScheduler.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/CleanupScheduler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAGsC;AACtC,2GAA8G;AAC9G,2FAAsF;AAiBtF,MAAM,8BAA8B,GAAG,IAAI,sBAAU,CAAmD,yBAAyB,CAAC,CAAC;AAEnI,MAAa,sBACZ,SAAQ,6CAAyB;IAEjC;QACC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAI3B,qBAAgB,GAAG,GAAuB,EAAE;YAC3C,MAAM,uBAAuB,GAAG,+BAAc,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,CAAC,aAAa,CAAgB,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;YACjJ,MAAM,QAAQ,GAAG,8BAA8B,CAAC,cAAc,EAAE,CAAC;YACjE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAM,WAAW,EAAC,EAAE;gBAClD,MAAM,GAAG,GAAG,MAAM,uBAAuB,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,EAAC,SAAS,EAAE,WAAW,CAAC,SAAS,EAAC,EAAC,CAAC,CAAC;gBACnG,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAA,8BAAkB,GAAE;oBACrE,OAAO;gBAER,IAAI,CAAC;oBACJ,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;oBAC5B,MAAM,uBAAuB,CAAC,MAAM,CAAC,EAAC,SAAS,EAAE,IAAA,8BAAkB,GAAE,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAC,CAAC,CAAC;gBAC3G,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,IAAI,CAAC,UAAU,CAAC,cAAc,WAAW,CAAC,SAAS,2BAA2B,CAAC,GAAG,CAAC,CAAC;gBACrF,CAAC;YACF,CAAC,CAAA,CAAC,CAAC,CAAC;QACL,CAAC,CAAA,CAAC;QAlBD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;CAkBD;AAxBD,wDAwBC;AAEY,QAAA,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAC"}
|
|
@@ -2,10 +2,10 @@ import { FirebaseScheduledFunction } from "@intuitionrobotics/firebase/app-backe
|
|
|
2
2
|
import { ActDetailsDoc } from "./CleanupScheduler";
|
|
3
3
|
import { FirestoreCollection } from "@intuitionrobotics/firebase/app-backend/firestore/FirestoreCollection";
|
|
4
4
|
import { FirestoreQuery } from "@intuitionrobotics/firebase";
|
|
5
|
-
export
|
|
5
|
+
export type BackupDoc = ActDetailsDoc & {
|
|
6
6
|
backupPath: string;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type FirestoreBackupDetails<T extends object> = {
|
|
9
9
|
moduleKey: string;
|
|
10
10
|
interval: number;
|
|
11
11
|
keepInterval?: number;
|
|
@@ -20,7 +20,7 @@ class FirestoreBackupScheduler_Class extends firebase_function_1.FirebaseSchedul
|
|
|
20
20
|
this.onScheduledEvent = () => __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
const backupStatusCollection = FirebaseModule_1.FirebaseModule.createAdminSession().getFirestore().getCollection('firestore-backup-status', ["moduleKey", "timestamp"]);
|
|
22
22
|
const backups = [];
|
|
23
|
-
ts_common_1.filterInstances(dispatch_onFirestoreBackupSchedulerAct.dispatchModule(
|
|
23
|
+
(0, ts_common_1.filterInstances)(dispatch_onFirestoreBackupSchedulerAct.dispatchModule()).forEach(backupArray => {
|
|
24
24
|
backups.push(...backupArray);
|
|
25
25
|
});
|
|
26
26
|
const bucket = yield FirebaseModule_1.FirebaseModule.createAdminSession().getStorage().getOrCreateBucket();
|
|
@@ -32,16 +32,16 @@ class FirestoreBackupScheduler_Class extends firebase_function_1.FirebaseSchedul
|
|
|
32
32
|
};
|
|
33
33
|
const docs = yield backupStatusCollection.query(query);
|
|
34
34
|
const latestDoc = docs[0];
|
|
35
|
-
if (latestDoc && latestDoc.timestamp + backupItem.interval > ts_common_1.currentTimeMillies())
|
|
35
|
+
if (latestDoc && latestDoc.timestamp + backupItem.interval > (0, ts_common_1.currentTimeMillies)())
|
|
36
36
|
return;
|
|
37
|
-
const backupPath = `backup/firestore/${backupItem.moduleKey}/${ts_common_1.currentTimeMillies()}.json`;
|
|
37
|
+
const backupPath = `backup/firestore/${backupItem.moduleKey}/${(0, ts_common_1.currentTimeMillies)()}.json`;
|
|
38
38
|
try {
|
|
39
39
|
const toBackupData = yield backupItem.collection.query(backupItem.backupQuery);
|
|
40
40
|
yield (yield bucket.getFile(backupPath)).write(toBackupData);
|
|
41
|
-
yield backupStatusCollection.upsert({ timestamp: ts_common_1.currentTimeMillies(), moduleKey: backupItem.moduleKey, backupPath });
|
|
41
|
+
yield backupStatusCollection.upsert({ timestamp: (0, ts_common_1.currentTimeMillies)(), moduleKey: backupItem.moduleKey, backupPath });
|
|
42
42
|
const keepInterval = backupItem.keepInterval;
|
|
43
43
|
if (keepInterval) {
|
|
44
|
-
const queryOld = { where: { moduleKey: backupItem.moduleKey, timestamp: { $lt: ts_common_1.currentTimeMillies() - keepInterval } } };
|
|
44
|
+
const queryOld = { where: { moduleKey: backupItem.moduleKey, timestamp: { $lt: (0, ts_common_1.currentTimeMillies)() - keepInterval } } };
|
|
45
45
|
const oldDocs = yield backupStatusCollection.query(queryOld);
|
|
46
46
|
yield Promise.all(oldDocs.map((oldDoc) => __awaiter(this, void 0, void 0, function* () {
|
|
47
47
|
yield (yield bucket.getFile(oldDoc.backupPath)).delete();
|
|
@@ -51,8 +51,8 @@ class FirestoreBackupScheduler_Class extends firebase_function_1.FirebaseSchedul
|
|
|
51
51
|
}
|
|
52
52
|
catch (e) {
|
|
53
53
|
this.logWarning(`backup of ${backupItem.moduleKey} has failed with error`, e);
|
|
54
|
-
const errorMessage = `Error backing up firestore collection config:\n ${ts_common_1.__stringify(backupItem, true)}\nError: ${ts_common_1._logger_logException(e)}`;
|
|
55
|
-
yield ts_common_1.dispatch_onServerError.dispatchModuleAsync(
|
|
54
|
+
const errorMessage = `Error backing up firestore collection config:\n ${(0, ts_common_1.__stringify)(backupItem, true)}\nError: ${(0, ts_common_1._logger_logException)(e)}`;
|
|
55
|
+
yield ts_common_1.dispatch_onServerError.dispatchModuleAsync(ts_common_1.ServerErrorSeverity.Critical, this, errorMessage);
|
|
56
56
|
}
|
|
57
57
|
})));
|
|
58
58
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FirestoreBackupScheduler.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/FirestoreBackupScheduler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAQsC;AACtC,2GAA8G;AAC9G,2FAAsF;AAqBtF,MAAM,sCAAsC,GAAG,IAAI,sBAAU,CAC5D,iCAAiC,CAAC,CAAC;AAEpC,MAAa,8BACZ,SAAQ,6CAAyB;IAEjC;QACC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAInC,qBAAgB,GAAG,GAAuB,EAAE;YAC3C,MAAM,sBAAsB,GAAG,+BAAc,CAAC,kBAAkB,EAAE,CAAC,YAAY,EAAE,CAAC,aAAa,CAAY,yBAAyB,EACzB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YACvI,MAAM,OAAO,GAAkC,EAAE,CAAC;YAClD,2BAAe,
|
|
1
|
+
{"version":3,"file":"FirestoreBackupScheduler.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/FirestoreBackupScheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { ServerApi_Middleware } from "./server/HttpServer";
|
|
|
3
3
|
import { UpgradeRequired } from "../../shared/force-upgrade";
|
|
4
4
|
import { PlatformName } from "../../shared/consts";
|
|
5
5
|
import { ExpressRequest } from "../utils/types";
|
|
6
|
-
|
|
6
|
+
type VersionConfig = {
|
|
7
7
|
[K in PlatformName]: {
|
|
8
8
|
regexp: string;
|
|
9
9
|
minimumValidVersion?: string;
|
|
@@ -28,6 +28,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
28
28
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
29
29
|
});
|
|
30
30
|
};
|
|
31
|
+
var _a;
|
|
31
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
33
|
exports.ForceUpgrade = void 0;
|
|
33
34
|
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
@@ -56,7 +57,7 @@ class ForceUpgrade_Class extends ts_common_1.Module {
|
|
|
56
57
|
const regex = new RegExp(platformNameConfig.regexp);
|
|
57
58
|
const match = platformVersion.match(regex);
|
|
58
59
|
if (!match)
|
|
59
|
-
throw new ts_common_1.BadImplementationException(`Error extracting version.. \nVersion: '${platformVersion}'\n config: '${ts_common_1.__stringify(this.config)}'`);
|
|
60
|
+
throw new ts_common_1.BadImplementationException(`Error extracting version.. \nVersion: '${platformVersion}'\n config: '${(0, ts_common_1.__stringify)(this.config)}'`);
|
|
60
61
|
const minimumValidVersion = platformNameConfig.minimumValidVersion;
|
|
61
62
|
if (!minimumValidVersion)
|
|
62
63
|
return {
|
|
@@ -64,13 +65,13 @@ class ForceUpgrade_Class extends ts_common_1.Module {
|
|
|
64
65
|
};
|
|
65
66
|
const matchGroups = match.groups;
|
|
66
67
|
if (!matchGroups)
|
|
67
|
-
throw new ts_common_1.BadImplementationException(`If minimumValidVersion is provided ${platformNameConfig.minimumValidVersion}, then groups in regex have to be defined ${ts_common_1.__stringify(match)}. i.e. "(?<first>[0-9]+).(?<second>[0-9]+).(?<third>[0-9]+)"`);
|
|
68
|
+
throw new ts_common_1.BadImplementationException(`If minimumValidVersion is provided ${platformNameConfig.minimumValidVersion}, then groups in regex have to be defined ${(0, ts_common_1.__stringify)(match)}. i.e. "(?<first>[0-9]+).(?<second>[0-9]+).(?<third>[0-9]+)"`);
|
|
68
69
|
const minimumVersionMatch = minimumValidVersion.match(regex);
|
|
69
70
|
if (!minimumVersionMatch)
|
|
70
|
-
throw new ts_common_1.BadImplementationException(`Error extracting minimum valid version. \nVersion: '${minimumValidVersion}'\n config: '${ts_common_1.__stringify(this.config)}'`);
|
|
71
|
+
throw new ts_common_1.BadImplementationException(`Error extracting minimum valid version. \nVersion: '${minimumValidVersion}'\n config: '${(0, ts_common_1.__stringify)(this.config)}'`);
|
|
71
72
|
const versionsGroups = minimumVersionMatch.groups;
|
|
72
73
|
if (!versionsGroups)
|
|
73
|
-
throw new ts_common_1.BadImplementationException(`If minimumValidVersion is provided ${platformNameConfig.minimumValidVersion}, then groups in regex have to be defined ${ts_common_1.__stringify(minimumVersionMatch)}. i.e. "(?<first>[0-9]+).(?<second>[0-9]+).(?<third>[0-9]+)"`);
|
|
74
|
+
throw new ts_common_1.BadImplementationException(`If minimumValidVersion is provided ${platformNameConfig.minimumValidVersion}, then groups in regex have to be defined ${(0, ts_common_1.__stringify)(minimumVersionMatch)}. i.e. "(?<first>[0-9]+).(?<second>[0-9]+).(?<third>[0-9]+)"`);
|
|
74
75
|
const versions = Object.values(matchGroups);
|
|
75
76
|
const minimumVersions = Object.values(versionsGroups);
|
|
76
77
|
for (let i = 0; i < versions.length; i++) {
|
|
@@ -89,6 +90,7 @@ class ForceUpgrade_Class extends ts_common_1.Module {
|
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
92
|
}
|
|
93
|
+
_a = ForceUpgrade_Class;
|
|
92
94
|
ForceUpgrade_Class.Middleware = (request) => __awaiter(void 0, void 0, void 0, function* () { return exports.ForceUpgrade.assertVersion(request); });
|
|
93
95
|
exports.ForceUpgrade = new ForceUpgrade_Class();
|
|
94
96
|
//# sourceMappingURL=ForceUpgrade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForceUpgrade.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/ForceUpgrade.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG
|
|
1
|
+
{"version":3,"file":"ForceUpgrade.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/ForceUpgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Created by AlanBen on 29/08/2019.
|
|
3
|
-
*/
|
|
4
1
|
import { Module, OnApplicationError, ServerErrorSeverity } from "@intuitionrobotics/ts-common";
|
|
5
2
|
import { WebClientOptions } from "@slack/web-api";
|
|
6
|
-
|
|
3
|
+
type ConfigType = {
|
|
7
4
|
token: string;
|
|
8
5
|
defaultChannel: string;
|
|
9
6
|
throttlingTime?: number;
|
|
10
7
|
slackConfig?: Partial<WebClientOptions>;
|
|
11
8
|
};
|
|
12
|
-
|
|
9
|
+
type _SlackMessage = {
|
|
13
10
|
text: string;
|
|
14
11
|
channel: string;
|
|
15
12
|
};
|
|
16
|
-
export
|
|
13
|
+
export type SlackMessage = string | _SlackMessage;
|
|
17
14
|
export declare class SlackModule_Class extends Module<ConfigType> {
|
|
18
15
|
private web;
|
|
19
16
|
private messageMap;
|
|
@@ -23,7 +20,7 @@ export declare class SlackModule_Class extends Module<ConfigType> {
|
|
|
23
20
|
private postMessageImpl;
|
|
24
21
|
}
|
|
25
22
|
export declare const SlackModule: SlackModule_Class;
|
|
26
|
-
|
|
23
|
+
type ApiErrorConfig = {
|
|
27
24
|
exclude: string[];
|
|
28
25
|
minLevel: ServerErrorSeverity;
|
|
29
26
|
};
|
|
@@ -1,24 +1,4 @@
|
|
|
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 Adam van der Kruk aka TacB0sS
|
|
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
23
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
24
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -30,9 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
30
10
|
};
|
|
31
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
12
|
exports.Slack_ServerApiError = exports.Slack_ServerApiError_Class = exports.SlackModule = exports.SlackModule_Class = void 0;
|
|
33
|
-
/**
|
|
34
|
-
* Created by AlanBen on 29/08/2019.
|
|
35
|
-
*/
|
|
36
13
|
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
37
14
|
const web_api_1 = require("@slack/web-api");
|
|
38
15
|
class SlackModule_Class extends ts_common_1.Module {
|
|
@@ -53,7 +30,7 @@ class SlackModule_Class extends ts_common_1.Module {
|
|
|
53
30
|
channel: this.config.defaultChannel
|
|
54
31
|
} : slackMessage;
|
|
55
32
|
const time = this.messageMap[parameters.text];
|
|
56
|
-
if (time && ts_common_1.currentTimeMillies() - time < (this.config.throttlingTime || ts_common_1.Minute))
|
|
33
|
+
if (time && (0, ts_common_1.currentTimeMillies)() - time < (this.config.throttlingTime || ts_common_1.Minute))
|
|
57
34
|
return;
|
|
58
35
|
try {
|
|
59
36
|
return yield this.postMessageImpl(parameters);
|
|
@@ -66,7 +43,7 @@ class SlackModule_Class extends ts_common_1.Module {
|
|
|
66
43
|
postMessageImpl(message) {
|
|
67
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
45
|
const res = yield this.web.chat.postMessage(message);
|
|
69
|
-
this.messageMap[message.text] = ts_common_1.currentTimeMillies();
|
|
46
|
+
this.messageMap[message.text] = (0, ts_common_1.currentTimeMillies)();
|
|
70
47
|
this.logDebug(`A message was posted to channel: ${message.channel} with message id ${res.ts} which contains the message ${message.text}`);
|
|
71
48
|
});
|
|
72
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SlackModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4DAOsC;AACtC,4CAA6E;AA6B7E,MAAa,iBACT,SAAQ,kBAAkB;IAI1B;QACI,KAAK,CAAC,aAAa,CAAC,CAAC;QAHjB,eAAU,GAAe,EAAE,CAAC;IAIpC,CAAC;IAES,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,OAAM;QACV,mGAAmG;QAEnG,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAS,CACpB,IAAI,CAAC,MAAM,CAAC,KAAK,kBAEb,sBAAsB,EAAE,IAAI,IACzB,IAAI,CAAC,MAAM,CAAC,WAAW,EAC5B,CAAC;IACX,CAAC;IAEY,WAAW,CAAC,YAA0B;;YAC/C,MAAM,UAAU,GAAiB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAChE,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC,CAAC,YAAY,CAAC;YAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,IAAI,IAAI,IAAA,8BAAkB,GAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,kBAAM,CAAC;gBAC5E,OAAO;YAEX,IAAI,CAAC;gBACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,6CAA6C,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;KAAA;IAEa,eAAe,CAAC,OAAsB;;YAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAA0B,CAAC;YAC9E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAA,8BAAkB,GAAE,CAAC;YAErD,IAAI,CAAC,QAAQ,CACT,oCAAoC,OAAO,CAAC,OAAO,oBAAoB,GAAG,CAAC,EAAE,+BAA+B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpI,CAAC;KAAA;CACJ;AA/CD,8CA+CC;AAEY,QAAA,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAOnD,MAAa,0BACT,SAAQ,kBAAsB;IAE9B;QACI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,+BAAmB,CAAC,IAAI,EAAC,CAAC,CAAA;IAC5E,CAAC;IAES,IAAI;IACd,CAAC;IAEK,yBAAyB,CAAC,UAA+B,EAAE,MAAc,EAAE,OAAe;;YAC5F,IAAI,uCAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,uCAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3G,OAAO;YAEX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACrB,OAAM;YACd,CAAC;YAED,MAAM,mBAAW,CAAC,WAAW,CAAC,SAAS,OAAO,QAAQ,CAAC,CAAC;QAC5D,CAAC;KAAA;CACJ;AAtBD,gEAsBC;AAEY,QAAA,oBAAoB,GAAG,IAAI,0BAA0B,EAAE,CAAC"}
|
|
@@ -21,7 +21,11 @@
|
|
|
21
21
|
*/
|
|
22
22
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
23
23
|
if (k2 === undefined) k2 = k;
|
|
24
|
-
Object.
|
|
24
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
25
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
26
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
27
|
+
}
|
|
28
|
+
Object.defineProperty(o, k2, desc);
|
|
25
29
|
}) : (function(o, m, k, k2) {
|
|
26
30
|
if (k2 === undefined) k2 = k;
|
|
27
31
|
o[k2] = m[k];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG
|
|
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"}
|
|
@@ -1,30 +1,20 @@
|
|
|
1
|
-
import { ApiTypeBinder,
|
|
1
|
+
import { ApiTypeBinder, HttpMethod, QueryParams } from "../../../shared/types";
|
|
2
2
|
import { BaseHttpRequest } from "../../../shared/BaseHttpRequest";
|
|
3
|
-
import { BaseHttpModule_Class } from "../../../shared/BaseHttpModule";
|
|
3
|
+
import { BaseHttpModule_Class, HttpConfig } from "../../../shared/BaseHttpModule";
|
|
4
4
|
import { Axios_RequestConfig } from "./types";
|
|
5
5
|
export declare class AxiosHttpModule_Class extends BaseHttpModule_Class {
|
|
6
6
|
private requestOption;
|
|
7
7
|
constructor(name?: string);
|
|
8
8
|
init(): void;
|
|
9
|
-
createRequest<Binder extends ApiTypeBinder<
|
|
9
|
+
createRequest<Binder extends ApiTypeBinder<U, R, B, P, E>, U extends string = Binder["url"], R = Binder["response"], B = Binder["body"], P extends QueryParams = Binder["queryParams"], E extends void | object = Binder["error"]>(method: HttpMethod, key: string, data?: string): BaseHttpRequest<Binder>;
|
|
10
10
|
setRequestOption(requestOption: Axios_RequestConfig): this;
|
|
11
11
|
downloadFile(url: string, outputFile: string, key?: string): Promise<string>;
|
|
12
12
|
}
|
|
13
|
-
export
|
|
13
|
+
export type DeriveRealBinder<Binder> = Binder extends ApiTypeBinder<infer U, infer R, infer B, infer P> ? ApiTypeBinder<U, R, B, P> : void;
|
|
14
14
|
export declare const AxiosHttpModule: AxiosHttpModule_Class;
|
|
15
|
-
declare class
|
|
16
|
-
private response?;
|
|
17
|
-
private cancelSignal;
|
|
18
|
-
protected status?: number;
|
|
15
|
+
export declare class AxiosHttpClient extends BaseHttpModule_Class {
|
|
19
16
|
private requestOption;
|
|
20
|
-
constructor(
|
|
21
|
-
|
|
22
|
-
getResponse(): any;
|
|
23
|
-
protected resolveResponse(): any;
|
|
24
|
-
protected abortImpl(): void;
|
|
25
|
-
getErrorResponse(): ErrorResponse<DeriveErrorType<Binder>>;
|
|
17
|
+
constructor(name: string, config: HttpConfig);
|
|
18
|
+
createRequest<Binder extends ApiTypeBinder<U, R, B, P, E>, U extends string = Binder["url"], R = Binder["response"], B = Binder["body"], P extends QueryParams = Binder["queryParams"], E extends void | object = Binder["error"]>(method: HttpMethod, key: string, data?: string): BaseHttpRequest<Binder>;
|
|
26
19
|
setRequestOption(requestOption: Axios_RequestConfig): this;
|
|
27
|
-
protected executeImpl(): Promise<void>;
|
|
28
|
-
getResponseHeader(headerKey: string): string | undefined;
|
|
29
20
|
}
|
|
30
|
-
export {};
|
|
@@ -9,28 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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
|
-
*/
|
|
33
|
-
// noinspection TypeScriptPreferShortImport
|
|
12
|
+
exports.AxiosHttpClient = exports.AxiosHttpModule = exports.AxiosHttpModule_Class = void 0;
|
|
34
13
|
const axios_1 = require("axios");
|
|
35
14
|
const types_1 = require("../../../shared/types");
|
|
36
15
|
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
@@ -115,14 +94,17 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
115
94
|
if (this.aborted)
|
|
116
95
|
return resolve();
|
|
117
96
|
let nextOperator = this.url.indexOf("?") === -1 ? "?" : "&";
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
97
|
+
let fullUrl = this.url;
|
|
98
|
+
const params = this.params;
|
|
99
|
+
if (params)
|
|
100
|
+
fullUrl = (0, ts_common_1._keys)(params).reduce((url, paramKey) => {
|
|
101
|
+
const param = params[paramKey];
|
|
102
|
+
if (!param)
|
|
103
|
+
return url;
|
|
104
|
+
const toRet = `${url}${nextOperator}${String(paramKey)}=${encodeURIComponent(param)}`;
|
|
105
|
+
nextOperator = "&";
|
|
106
|
+
return toRet;
|
|
107
|
+
}, this.url);
|
|
126
108
|
// TODO set progress listener
|
|
127
109
|
// this.xhr.upload.onprogress = this.onProgressListener;
|
|
128
110
|
const body = this.body;
|
|
@@ -157,18 +139,16 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
157
139
|
return resolve();
|
|
158
140
|
}
|
|
159
141
|
catch (e) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
// return;
|
|
165
|
-
// }
|
|
142
|
+
if (!(e instanceof axios_1.default.AxiosError)) {
|
|
143
|
+
this.status = 500;
|
|
144
|
+
return reject(e);
|
|
145
|
+
}
|
|
166
146
|
if (axios_1.default.isCancel(e)) {
|
|
167
147
|
// Should already be set when I abort but just in case its aborted somehow else
|
|
168
148
|
this.aborted = true;
|
|
169
149
|
console.log('Api cancelled: ', e.message);
|
|
170
150
|
}
|
|
171
|
-
this.response = e
|
|
151
|
+
this.response = e["response"];
|
|
172
152
|
this.status = ((_b = this.response) === null || _b === void 0 ? void 0 : _b.status) || 500;
|
|
173
153
|
return reject(e);
|
|
174
154
|
}
|
|
@@ -180,4 +160,31 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
180
160
|
return this.response.headers[headerKey];
|
|
181
161
|
}
|
|
182
162
|
}
|
|
163
|
+
class AxiosHttpClient extends BaseHttpModule_1.BaseHttpModule_Class {
|
|
164
|
+
constructor(name, config) {
|
|
165
|
+
super(name);
|
|
166
|
+
this.requestOption = {};
|
|
167
|
+
this.setConfig(config);
|
|
168
|
+
super.init();
|
|
169
|
+
const origin = this.config.origin;
|
|
170
|
+
if (origin)
|
|
171
|
+
this.origin = origin;
|
|
172
|
+
}
|
|
173
|
+
createRequest(method, key, data) {
|
|
174
|
+
return new AxiosHttpRequest(key, data, this.shouldCompress())
|
|
175
|
+
.setOrigin(this.origin)
|
|
176
|
+
.setMethod(method)
|
|
177
|
+
.setTimeout(this.timeout)
|
|
178
|
+
.setDefaultHeaders(this.defaultHeaders)
|
|
179
|
+
.setHandleRequestSuccess(this.handleRequestSuccess)
|
|
180
|
+
.setHandleRequestFailure(this.handleRequestFailure)
|
|
181
|
+
.setDefaultRequestHandler(this.processDefaultResponseHandlers)
|
|
182
|
+
.setRequestOption(this.requestOption);
|
|
183
|
+
}
|
|
184
|
+
setRequestOption(requestOption) {
|
|
185
|
+
this.requestOption = requestOption;
|
|
186
|
+
return this;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.AxiosHttpClient = AxiosHttpClient;
|
|
183
190
|
//# sourceMappingURL=AxiosHttpModule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AxiosHttpModule.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"AxiosHttpModule.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig, AxiosResponse, CancelTokenSource, Method, ResponseType } from "axios";
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
2
|
+
export type Axios_RequestConfig = AxiosRequestConfig;
|
|
3
|
+
export type Axios_Response<T = any> = AxiosResponse<T>;
|
|
4
|
+
export type Axios_CancelTokenSource = CancelTokenSource;
|
|
5
|
+
export type Axios_Method = Method;
|
|
6
|
+
export type Axios_ResponseType = ResponseType;
|
|
@@ -2,12 +2,12 @@ import { Module, ObjectTS } from "@intuitionrobotics/ts-common";
|
|
|
2
2
|
import { ServerApi_Middleware } from "../server/HttpServer";
|
|
3
3
|
import { HttpRequestData } from "../server/server-api";
|
|
4
4
|
import { ExpressRequest, QueryRequestInfo } from "../../utils/types";
|
|
5
|
-
|
|
5
|
+
type ProxyConfig = {
|
|
6
6
|
extras?: ObjectTS;
|
|
7
7
|
urls: string[];
|
|
8
8
|
secret: string;
|
|
9
9
|
};
|
|
10
|
-
export
|
|
10
|
+
export type RemoteProxyConfig = {
|
|
11
11
|
remotes: {
|
|
12
12
|
[proxyId: string]: ProxyConfig;
|
|
13
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,4DAA8F;AAE9F,qDAAqE;AACrE,iDAA8C;AAiB9C,MAAa,iBACT,SAAQ,kBAAc;IAGtB;QACI,KAAK,CAAC,aAAa,CAAC,CAAC;QAuBhB,eAAU,GAAyB,CAAO,OAAuB,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,EAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAC,CAAA;QAC1D,CAAC,CAAA,CAAC;IAzBF,CAAC;IAEK,kBAAkB,CAAC,OAAuB;;YAC5C,IAAI,IAAwB,CAAC;YAC7B,IAAI;
|
|
1
|
+
{"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"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"}
|