@intuitionrobotics/thunderstorm 0.47.59 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +3 -0
- package/dist/app-backend/api/v1/utils/version/_assert.d.ts +4 -0
- package/dist/app-backend/api/v1/utils/version/_assert.d.ts.map +1 -0
- package/dist/app-backend/api/v1/utils/version/_assert.js +23 -0
- package/dist/app-backend/api/v1/utils/version/_assert.js.map +1 -0
- package/dist/app-backend/api/v1/utils/version/assert.d.ts +10 -0
- package/dist/app-backend/api/v1/utils/version/assert.d.ts.map +1 -0
- package/dist/app-backend/api/v1/utils/version/assert.js +36 -0
- package/dist/app-backend/api/v1/utils/version/assert.js.map +1 -0
- package/{app-backend → dist/app-backend}/core/BaseStorm.d.ts +1 -0
- package/dist/app-backend/core/BaseStorm.d.ts.map +1 -0
- package/dist/app-backend/core/BaseStorm.js +12 -0
- package/dist/app-backend/core/BaseStorm.js.map +1 -0
- package/{app-backend → dist/app-backend}/core/Storm.d.ts +5 -4
- package/dist/app-backend/core/Storm.d.ts.map +1 -0
- package/dist/app-backend/core/Storm.js +92 -0
- package/dist/app-backend/core/Storm.js.map +1 -0
- package/{app-backend → dist/app-backend}/exceptions.d.ts +2 -1
- package/dist/app-backend/exceptions.d.ts.map +1 -0
- package/dist/app-backend/exceptions.js +24 -0
- package/dist/app-backend/exceptions.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/CleanupScheduler.d.ts +1 -0
- package/dist/app-backend/modules/CleanupScheduler.d.ts.map +1 -0
- package/dist/app-backend/modules/CleanupScheduler.js +28 -0
- package/dist/app-backend/modules/CleanupScheduler.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/FirestoreBackupScheduler.d.ts +3 -2
- package/dist/app-backend/modules/FirestoreBackupScheduler.d.ts.map +1 -0
- package/dist/app-backend/modules/FirestoreBackupScheduler.js +54 -0
- package/dist/app-backend/modules/FirestoreBackupScheduler.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/ForceUpgrade.d.ts +5 -4
- package/dist/app-backend/modules/ForceUpgrade.d.ts.map +1 -0
- package/dist/app-backend/modules/ForceUpgrade.js +84 -0
- package/dist/app-backend/modules/ForceUpgrade.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/SlackModule.d.ts +3 -2
- package/dist/app-backend/modules/SlackModule.d.ts.map +1 -0
- package/dist/app-backend/modules/SlackModule.js +58 -0
- package/dist/app-backend/modules/SlackModule.js.map +1 -0
- package/dist/app-backend/modules/_imports.d.ts +11 -0
- package/dist/app-backend/modules/_imports.d.ts.map +1 -0
- package/dist/app-backend/modules/_imports.js +31 -0
- package/dist/app-backend/modules/_imports.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/http/AxiosHttpModule.d.ts +5 -4
- package/dist/app-backend/modules/http/AxiosHttpModule.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/modules/http/AxiosHttpModule.js +47 -55
- package/dist/app-backend/modules/http/AxiosHttpModule.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/http/types.d.ts +2 -1
- package/dist/app-backend/modules/http/types.d.ts.map +1 -0
- package/dist/app-backend/modules/http/types.js +2 -0
- package/{app-backend → dist/app-backend}/modules/http/types.js.map +1 -1
- package/{app-backend → dist/app-backend}/modules/proxy/RemoteProxy.d.ts +6 -5
- package/dist/app-backend/modules/proxy/RemoteProxy.d.ts.map +1 -0
- package/dist/app-backend/modules/proxy/RemoteProxy.js +88 -0
- package/dist/app-backend/modules/proxy/RemoteProxy.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/proxy/RemoteProxyCaller.d.ts +3 -2
- package/dist/app-backend/modules/proxy/RemoteProxyCaller.d.ts.map +1 -0
- package/dist/app-backend/modules/proxy/RemoteProxyCaller.js +109 -0
- package/dist/app-backend/modules/proxy/RemoteProxyCaller.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/server/HttpServer.d.ts +8 -5
- package/dist/app-backend/modules/server/HttpServer.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/modules/server/HttpServer.js +36 -32
- package/dist/app-backend/modules/server/HttpServer.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/server/server-api.d.ts +8 -7
- package/dist/app-backend/modules/server/server-api.d.ts.map +1 -0
- package/dist/app-backend/modules/server/server-api.js +346 -0
- package/dist/app-backend/modules/server/server-api.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/server/server-errors.d.ts +4 -3
- package/dist/app-backend/modules/server/server-errors.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/modules/server/server-errors.js +15 -24
- package/dist/app-backend/modules/server/server-errors.js.map +1 -0
- package/{app-backend → dist/app-backend}/utils/LogClient_File.d.ts +1 -0
- package/dist/app-backend/utils/LogClient_File.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/utils/LogClient_File.js +6 -7
- package/dist/app-backend/utils/LogClient_File.js.map +1 -0
- package/{app-backend → dist/app-backend}/utils/file.d.ts +1 -0
- package/dist/app-backend/utils/file.d.ts.map +1 -0
- package/{app-backend/utils/types.js → dist/app-backend/utils/file.js} +10 -6
- package/dist/app-backend/utils/file.js.map +1 -0
- package/dist/app-backend/utils/promisify-request.d.ts +3 -0
- package/dist/app-backend/utils/promisify-request.d.ts.map +1 -0
- package/dist/app-backend/utils/promisify-request.js +25 -0
- package/dist/app-backend/utils/promisify-request.js.map +1 -0
- package/{app-backend → dist/app-backend}/utils/to-be-removed.d.ts +1 -0
- package/dist/app-backend/utils/to-be-removed.d.ts.map +1 -0
- package/dist/app-backend/utils/to-be-removed.js +24 -0
- package/dist/app-backend/utils/to-be-removed.js.map +1 -0
- package/{app-backend → dist/app-backend}/utils/types.d.ts +1 -0
- package/dist/app-backend/utils/types.d.ts.map +1 -0
- package/dist/app-backend/utils/types.js +24 -0
- package/dist/app-backend/utils/types.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/ActionButton.d.ts +1 -0
- package/dist/app-frontend/components/ActionButton.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/ActionButton.js +2 -6
- package/dist/app-frontend/components/ActionButton.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/FilterInput.d.ts +3 -2
- package/dist/app-frontend/components/FilterInput.d.ts.map +1 -0
- package/dist/app-frontend/components/FilterInput.js +62 -0
- package/dist/app-frontend/components/FilterInput.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/GenericSelect.d.ts +2 -1
- package/dist/app-frontend/components/GenericSelect.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/GenericSelect.js +8 -9
- package/dist/app-frontend/components/GenericSelect.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/GenericTabs.d.ts +1 -0
- package/dist/app-frontend/components/GenericTabs.d.ts.map +1 -0
- package/dist/app-frontend/components/GenericTabs.js +7 -0
- package/dist/app-frontend/components/GenericTabs.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/Overlay.d.ts +1 -0
- package/dist/app-frontend/components/Overlay.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/Overlay.js +6 -9
- package/dist/app-frontend/components/Overlay.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/TS_Input.d.ts +2 -1
- package/dist/app-frontend/components/TS_Input.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/TS_Input.js +37 -36
- package/dist/app-frontend/components/TS_Input.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/TS_Table.d.ts +4 -3
- package/dist/app-frontend/components/TS_Table.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/TS_Table.js +18 -23
- package/dist/app-frontend/components/TS_Table.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/TS_TextArea.d.ts +3 -2
- package/dist/app-frontend/components/TS_TextArea.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/TS_TextArea.js +16 -19
- package/dist/app-frontend/components/TS_TextArea.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/Tabs.d.ts +2 -1
- package/dist/app-frontend/components/Tabs.d.ts.map +1 -0
- package/dist/app-frontend/components/Tabs.js +30 -0
- package/dist/app-frontend/components/Tabs.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/adapter/Adapter.d.ts +9 -8
- package/dist/app-frontend/components/adapter/Adapter.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/adapter/Adapter.js +36 -39
- package/dist/app-frontend/components/adapter/Adapter.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/adapter/BaseRenderer.d.ts +2 -1
- package/dist/app-frontend/components/adapter/BaseRenderer.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/adapter/BaseRenderer.js +4 -8
- package/dist/app-frontend/components/adapter/BaseRenderer.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/checkbox/TS_Checkbox.d.ts +2 -1
- package/dist/app-frontend/components/checkbox/TS_Checkbox.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/checkbox/TS_Checkbox.js +4 -10
- package/dist/app-frontend/components/checkbox/TS_Checkbox.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/checkbox/TS_CheckboxField.d.ts +2 -1
- package/dist/app-frontend/components/checkbox/TS_CheckboxField.d.ts.map +1 -0
- package/dist/app-frontend/components/checkbox/TS_CheckboxField.js +19 -0
- package/dist/app-frontend/components/checkbox/TS_CheckboxField.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/form/Form.d.ts +3 -2
- package/dist/app-frontend/components/form/Form.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/form/Form.js +12 -16
- package/dist/app-frontend/components/form/Form.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/form/types.d.ts +3 -2
- package/dist/app-frontend/components/form/types.d.ts.map +1 -0
- package/{app-frontend/components → dist/app-frontend/components/form}/types.js +2 -2
- package/{app-frontend → dist/app-frontend}/components/form/types.js.map +1 -1
- package/{app-frontend → dist/app-frontend}/components/playground/Playground.d.ts +1 -0
- package/dist/app-frontend/components/playground/Playground.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/playground/Playground.js +9 -13
- package/dist/app-frontend/components/playground/Playground.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/MenuComponent.d.ts +4 -3
- package/dist/app-frontend/components/tree/MenuComponent.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/MenuComponent.js +9 -11
- package/dist/app-frontend/components/tree/MenuComponent.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/MultiTypeAdaptor.d.ts +3 -2
- package/dist/app-frontend/components/tree/MultiTypeAdaptor.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/MultiTypeAdaptor.js +7 -13
- package/dist/app-frontend/components/tree/MultiTypeAdaptor.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/SimpleTreeNodeRenderer.d.ts +3 -2
- package/dist/app-frontend/components/tree/SimpleTreeNodeRenderer.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/SimpleTreeNodeRenderer.js +6 -11
- package/dist/app-frontend/components/tree/SimpleTreeNodeRenderer.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/Tree.d.ts +4 -3
- package/dist/app-frontend/components/tree/Tree.d.ts.map +1 -0
- package/dist/app-frontend/components/tree/Tree.js +287 -0
- package/dist/app-frontend/components/tree/Tree.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/tree/types.d.ts +2 -1
- package/dist/app-frontend/components/tree/types.d.ts.map +1 -0
- package/dist/app-frontend/components/tree/types.js +23 -0
- package/{app-frontend → dist/app-frontend}/components/tree/types.js.map +1 -1
- package/{app-frontend → dist/app-frontend}/components/treeicons.d.ts +1 -0
- package/dist/app-frontend/components/treeicons.d.ts.map +1 -0
- package/dist/app-frontend/components/treeicons.js +6 -0
- package/dist/app-frontend/components/treeicons.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/components/types.d.ts +1 -0
- package/dist/app-frontend/components/types.d.ts.map +1 -0
- package/{app-frontend/components/form → dist/app-frontend/components}/types.js +1 -2
- package/{app-frontend → dist/app-frontend}/components/types.js.map +1 -1
- package/{app-frontend → dist/app-frontend}/core/AbstractThunder.d.ts +3 -2
- package/dist/app-frontend/core/AbstractThunder.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/AbstractThunder.js +14 -17
- package/dist/app-frontend/core/AbstractThunder.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/AppPage.d.ts +3 -2
- package/dist/app-frontend/core/AppPage.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/AppPage.js +8 -11
- package/dist/app-frontend/core/AppPage.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/AppWrapper.d.ts +2 -1
- package/dist/app-frontend/core/AppWrapper.d.ts.map +1 -0
- package/dist/app-frontend/core/AppWrapper.js +22 -0
- package/dist/app-frontend/core/AppWrapper.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/BaseComponent.d.ts +3 -2
- package/dist/app-frontend/core/BaseComponent.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/BaseComponent.js +33 -33
- package/dist/app-frontend/core/BaseComponent.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/SimpleScriptInjector.d.ts +1 -0
- package/dist/app-frontend/core/SimpleScriptInjector.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/SimpleScriptInjector.js +5 -9
- package/dist/app-frontend/core/SimpleScriptInjector.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/Thunder.d.ts +4 -3
- package/dist/app-frontend/core/Thunder.d.ts.map +1 -0
- package/dist/app-frontend/core/Thunder.js +88 -0
- package/dist/app-frontend/core/Thunder.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/core/thunder-dispatcher.d.ts +2 -1
- package/dist/app-frontend/core/thunder-dispatcher.d.ts.map +1 -0
- package/dist/app-frontend/core/thunder-dispatcher.js +19 -0
- package/dist/app-frontend/core/thunder-dispatcher.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/ConnectivityModule.d.ts +1 -0
- package/dist/app-frontend/modules/ConnectivityModule.d.ts.map +1 -0
- package/dist/app-frontend/modules/ConnectivityModule.js +23 -0
- package/dist/app-frontend/modules/ConnectivityModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/ForceUpgrade.d.ts +2 -1
- package/dist/app-frontend/modules/ForceUpgrade.d.ts.map +1 -0
- package/dist/app-frontend/modules/ForceUpgrade.js +46 -0
- package/dist/app-frontend/modules/ForceUpgrade.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/HistoryModule.d.ts +3 -2
- package/dist/app-frontend/modules/HistoryModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/HistoryModule.js +34 -36
- package/dist/app-frontend/modules/HistoryModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/ResourcesModule.d.ts +1 -0
- package/dist/app-frontend/modules/ResourcesModule.d.ts.map +1 -0
- package/dist/app-frontend/modules/ResourcesModule.js +17 -0
- package/dist/app-frontend/modules/ResourcesModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/StorageModule.d.ts +2 -1
- package/dist/app-frontend/modules/StorageModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/StorageModule.js +24 -27
- package/dist/app-frontend/modules/StorageModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/ThunderstormModule.d.ts +1 -0
- package/dist/app-frontend/modules/ThunderstormModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/ThunderstormModule.js +3 -6
- package/dist/app-frontend/modules/ThunderstormModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/component-loader/ReactEntryComponentInjector.d.ts +3 -2
- package/dist/app-frontend/modules/component-loader/ReactEntryComponentInjector.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/component-loader/ReactEntryComponentInjector.js +18 -21
- package/dist/app-frontend/modules/component-loader/ReactEntryComponentInjector.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/component-loader/entry-component-loading-module.d.ts +1 -0
- package/dist/app-frontend/modules/component-loader/entry-component-loading-module.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/component-loader/entry-component-loading-module.js +10 -14
- package/dist/app-frontend/modules/component-loader/entry-component-loading-module.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/dialog/Dialog.d.ts +4 -3
- package/dist/app-frontend/modules/dialog/Dialog.d.ts.map +1 -0
- package/dist/app-frontend/modules/dialog/Dialog.js +154 -0
- package/dist/app-frontend/modules/dialog/Dialog.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/dialog/DialogModule.d.ts +3 -2
- package/dist/app-frontend/modules/dialog/DialogModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/dialog/DialogModule.js +28 -27
- package/dist/app-frontend/modules/dialog/DialogModule.js.map +1 -0
- package/dist/app-frontend/modules/http/HttpClient.d.ts +2 -0
- package/dist/app-frontend/modules/http/HttpClient.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/http/HttpClient.js +3 -3
- package/{app-frontend → dist/app-frontend}/modules/http/HttpClient.js.map +1 -1
- package/{app-frontend → dist/app-frontend}/modules/http/XhrHttpModule.d.ts +4 -3
- package/dist/app-frontend/modules/http/XhrHttpModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/http/XhrHttpModule.js +30 -32
- package/dist/app-frontend/modules/http/XhrHttpModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/locale/LocaleModule.d.ts +2 -1
- package/dist/app-frontend/modules/locale/LocaleModule.d.ts.map +1 -0
- package/dist/app-frontend/modules/locale/LocaleModule.js +42 -0
- package/dist/app-frontend/modules/locale/LocaleModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/locale/types.d.ts +1 -0
- package/dist/app-frontend/modules/locale/types.d.ts.map +1 -0
- package/dist/app-frontend/modules/locale/types.js +2 -0
- package/{app-frontend → dist/app-frontend}/modules/menu/MenuAndButton.d.ts +6 -5
- package/dist/app-frontend/modules/menu/MenuAndButton.d.ts.map +1 -0
- package/dist/app-frontend/modules/menu/MenuAndButton.js +38 -0
- package/dist/app-frontend/modules/menu/MenuAndButton.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/menu/MenuModule.d.ts +7 -6
- package/dist/app-frontend/modules/menu/MenuModule.d.ts.map +1 -0
- package/dist/app-frontend/modules/menu/MenuModule.js +60 -0
- package/dist/app-frontend/modules/menu/MenuModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/menu/PopupMenu.d.ts +4 -3
- package/dist/app-frontend/modules/menu/PopupMenu.d.ts.map +1 -0
- package/dist/app-frontend/modules/menu/PopupMenu.js +91 -0
- package/dist/app-frontend/modules/menu/PopupMenu.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/routing/RoutingModule.d.ts +2 -1
- package/dist/app-frontend/modules/routing/RoutingModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/routing/RoutingModule.js +24 -24
- package/dist/app-frontend/modules/routing/RoutingModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/routing/route.d.ts +1 -0
- package/dist/app-frontend/modules/routing/route.d.ts.map +1 -0
- package/dist/app-frontend/modules/routing/route.js +68 -0
- package/dist/app-frontend/modules/routing/route.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/toaster/BaseToaster.d.ts +3 -2
- package/dist/app-frontend/modules/toaster/BaseToaster.d.ts.map +1 -0
- package/dist/app-frontend/modules/toaster/BaseToaster.js +52 -0
- package/dist/app-frontend/modules/toaster/BaseToaster.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/toaster/Toaster.d.ts +3 -2
- package/dist/app-frontend/modules/toaster/Toaster.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/toaster/Toaster.js +6 -8
- package/dist/app-frontend/modules/toaster/Toaster.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/toaster/ToasterModule.d.ts +4 -3
- package/dist/app-frontend/modules/toaster/ToasterModule.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/toaster/ToasterModule.js +50 -56
- package/dist/app-frontend/modules/toaster/ToasterModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/tooltip/Tooltip.d.ts +4 -3
- package/dist/app-frontend/modules/tooltip/Tooltip.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/tooltip/Tooltip.js +21 -23
- package/dist/app-frontend/modules/tooltip/Tooltip.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/tooltip/TooltipModule.d.ts +2 -1
- package/dist/app-frontend/modules/tooltip/TooltipModule.d.ts.map +1 -0
- package/dist/app-frontend/modules/tooltip/TooltipModule.js +71 -0
- package/dist/app-frontend/modules/tooltip/TooltipModule.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/tools/KeyboardListener.d.ts +1 -0
- package/dist/app-frontend/tools/KeyboardListener.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/tools/KeyboardListener.js +16 -22
- package/dist/app-frontend/tools/KeyboardListener.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/tools/Stylable.d.ts +2 -1
- package/dist/app-frontend/tools/Stylable.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/tools/Stylable.js +5 -6
- package/dist/app-frontend/tools/Stylable.js.map +1 -0
- package/dist/app-frontend/types/renderer-map.d.ts +2 -0
- package/dist/app-frontend/types/renderer-map.d.ts.map +1 -0
- package/{app-frontend → dist/app-frontend}/types/renderer-map.js +1 -1
- package/{app-frontend → dist/app-frontend}/types/renderer-map.js.map +1 -1
- package/{app-frontend → dist/app-frontend}/utils/tools.d.ts +2 -1
- package/dist/app-frontend/utils/tools.d.ts.map +1 -0
- package/dist/app-frontend/utils/tools.js +28 -0
- package/dist/app-frontend/utils/tools.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/widgets/FieldEditor.d.ts +3 -2
- package/dist/app-frontend/widgets/FieldEditor.d.ts.map +1 -0
- package/dist/app-frontend/widgets/FieldEditor.js +22 -0
- package/dist/app-frontend/widgets/FieldEditor.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/widgets/FieldEditorClick.d.ts +4 -3
- package/dist/app-frontend/widgets/FieldEditorClick.d.ts.map +1 -0
- package/dist/app-frontend/widgets/FieldEditorClick.js +44 -0
- package/dist/app-frontend/widgets/FieldEditorClick.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/widgets/FieldEditorWithButtons.d.ts +4 -3
- package/dist/app-frontend/widgets/FieldEditorWithButtons.d.ts.map +1 -0
- package/dist/app-frontend/widgets/FieldEditorWithButtons.js +51 -0
- package/dist/app-frontend/widgets/FieldEditorWithButtons.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/widgets/click-to-drag/ClickToDrag.d.ts +2 -1
- package/dist/app-frontend/widgets/click-to-drag/ClickToDrag.d.ts.map +1 -0
- package/dist/app-frontend/widgets/click-to-drag/ClickToDrag.js +35 -0
- package/dist/app-frontend/widgets/click-to-drag/ClickToDrag.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/widgets/click-to-drag/OverlayWithDocumentListener.d.ts +2 -1
- package/dist/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.d.ts.map +1 -0
- package/dist/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js +30 -0
- package/dist/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js.map +1 -0
- package/dist/backend-test.d.ts +2 -0
- package/dist/backend-test.d.ts.map +1 -0
- package/{app-frontend/components/tree/types.js → dist/backend-test.js} +2 -3
- package/dist/backend-test.js.map +1 -0
- package/dist/backend.d.ts +18 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +38 -0
- package/dist/backend.js.map +1 -0
- package/dist/frontend.d.ts +53 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +71 -0
- package/dist/frontend.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/{app-backend/api/v1/utils/version/_assert.js → dist/index.js} +7 -5
- package/dist/index.js.map +1 -0
- package/{shared → dist/shared}/BaseHttpModule.d.ts +4 -3
- package/dist/shared/BaseHttpModule.d.ts.map +1 -0
- package/dist/shared/BaseHttpModule.js +89 -0
- package/dist/shared/BaseHttpModule.js.map +1 -0
- package/{shared → dist/shared}/BaseHttpRequest.d.ts +3 -2
- package/dist/shared/BaseHttpRequest.d.ts.map +1 -0
- package/{shared → dist/shared}/BaseHttpRequest.js +82 -85
- package/dist/shared/BaseHttpRequest.js.map +1 -0
- package/{shared → dist/shared}/consts.d.ts +1 -0
- package/dist/shared/consts.d.ts.map +1 -0
- package/dist/shared/consts.js +25 -0
- package/dist/shared/consts.js.map +1 -0
- package/{shared → dist/shared}/force-upgrade.d.ts +2 -1
- package/dist/shared/force-upgrade.d.ts.map +1 -0
- package/dist/shared/force-upgrade.js +24 -0
- package/dist/shared/force-upgrade.js.map +1 -0
- package/{shared → dist/shared}/request-types.d.ts +3 -2
- package/dist/shared/request-types.d.ts.map +1 -0
- package/{shared → dist/shared}/request-types.js +4 -6
- package/dist/shared/request-types.js.map +1 -0
- package/{shared → dist/shared}/types.d.ts +1 -0
- package/dist/shared/types.d.ts.map +1 -0
- package/{shared → dist/shared}/types.js +2 -5
- package/dist/shared/types.js.map +1 -0
- package/{test-backend → dist/test-backend}/StormTester.d.ts +2 -1
- package/dist/test-backend/StormTester.d.ts.map +1 -0
- package/dist/test-backend/StormTester.js +78 -0
- package/dist/test-backend/StormTester.js.map +1 -0
- package/dist/test-frontend/ThunderTester.d.ts +2 -0
- package/dist/test-frontend/ThunderTester.d.ts.map +1 -0
- package/{test-frontend → dist/test-frontend}/ThunderTester.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +69 -14
- package/app-backend/api/v1/utils/version/_assert.d.ts +0 -1
- package/app-backend/api/v1/utils/version/_assert.js.map +0 -1
- package/app-backend/api/v1/utils/version/assert.d.ts +0 -1
- package/app-backend/api/v1/utils/version/assert.js +0 -48
- package/app-backend/api/v1/utils/version/assert.js.map +0 -1
- package/app-backend/core/BaseStorm.js +0 -19
- package/app-backend/core/BaseStorm.js.map +0 -1
- package/app-backend/core/Storm.js +0 -89
- package/app-backend/core/Storm.js.map +0 -1
- package/app-backend/exceptions.js +0 -26
- package/app-backend/exceptions.js.map +0 -1
- package/app-backend/modules/CleanupScheduler.js +0 -41
- package/app-backend/modules/CleanupScheduler.js.map +0 -1
- package/app-backend/modules/FirestoreBackupScheduler.js +0 -64
- package/app-backend/modules/FirestoreBackupScheduler.js.map +0 -1
- package/app-backend/modules/ForceUpgrade.js +0 -98
- package/app-backend/modules/ForceUpgrade.js.map +0 -1
- package/app-backend/modules/SlackModule.js +0 -74
- package/app-backend/modules/SlackModule.js.map +0 -1
- package/app-backend/modules/_imports.d.ts +0 -10
- package/app-backend/modules/_imports.js +0 -47
- package/app-backend/modules/_imports.js.map +0 -1
- package/app-backend/modules/http/AxiosHttpModule.js.map +0 -1
- package/app-backend/modules/http/types.js +0 -3
- package/app-backend/modules/proxy/RemoteProxy.js +0 -101
- package/app-backend/modules/proxy/RemoteProxy.js.map +0 -1
- package/app-backend/modules/proxy/RemoteProxyCaller.js +0 -110
- package/app-backend/modules/proxy/RemoteProxyCaller.js.map +0 -1
- package/app-backend/modules/server/HttpServer.js.map +0 -1
- package/app-backend/modules/server/server-api.js +0 -351
- package/app-backend/modules/server/server-api.js.map +0 -1
- package/app-backend/modules/server/server-errors.js.map +0 -1
- package/app-backend/utils/LogClient_File.js.map +0 -1
- package/app-backend/utils/file.js +0 -47
- package/app-backend/utils/file.js.map +0 -1
- package/app-backend/utils/promisify-request.d.ts +0 -2
- package/app-backend/utils/promisify-request.js +0 -39
- package/app-backend/utils/promisify-request.js.map +0 -1
- package/app-backend/utils/to-be-removed.js +0 -28
- package/app-backend/utils/to-be-removed.js.map +0 -1
- package/app-backend/utils/types.js.map +0 -1
- package/app-frontend/components/ActionButton.js.map +0 -1
- package/app-frontend/components/FilterInput.js +0 -63
- package/app-frontend/components/FilterInput.js.map +0 -1
- package/app-frontend/components/GenericSelect.js.map +0 -1
- package/app-frontend/components/GenericTabs.js +0 -11
- package/app-frontend/components/GenericTabs.js.map +0 -1
- package/app-frontend/components/Overlay.js.map +0 -1
- package/app-frontend/components/TS_Input.js.map +0 -1
- package/app-frontend/components/TS_Table.js.map +0 -1
- package/app-frontend/components/TS_TextArea.js.map +0 -1
- package/app-frontend/components/Tabs.js +0 -32
- package/app-frontend/components/Tabs.js.map +0 -1
- package/app-frontend/components/adapter/Adapter.js.map +0 -1
- package/app-frontend/components/adapter/BaseRenderer.js.map +0 -1
- package/app-frontend/components/checkbox/TS_Checkbox.js.map +0 -1
- package/app-frontend/components/checkbox/TS_CheckboxField.js +0 -26
- package/app-frontend/components/checkbox/TS_CheckboxField.js.map +0 -1
- package/app-frontend/components/form/Form.js.map +0 -1
- package/app-frontend/components/playground/Playground.js.map +0 -1
- package/app-frontend/components/tree/MenuComponent.js.map +0 -1
- package/app-frontend/components/tree/MultiTypeAdaptor.js.map +0 -1
- package/app-frontend/components/tree/SimpleTreeNodeRenderer.js.map +0 -1
- package/app-frontend/components/tree/Tree.js +0 -274
- package/app-frontend/components/tree/Tree.js.map +0 -1
- package/app-frontend/components/treeicons.js +0 -11
- package/app-frontend/components/treeicons.js.map +0 -1
- package/app-frontend/core/AbstractThunder.js.map +0 -1
- package/app-frontend/core/AppPage.js.map +0 -1
- package/app-frontend/core/AppWrapper.js +0 -27
- package/app-frontend/core/AppWrapper.js.map +0 -1
- package/app-frontend/core/BaseComponent.js.map +0 -1
- package/app-frontend/core/SimpleScriptInjector.js.map +0 -1
- package/app-frontend/core/Thunder.js +0 -92
- package/app-frontend/core/Thunder.js.map +0 -1
- package/app-frontend/core/thunder-dispatcher.js +0 -32
- package/app-frontend/core/thunder-dispatcher.js.map +0 -1
- package/app-frontend/modules/ConnectivityModule.js +0 -25
- package/app-frontend/modules/ConnectivityModule.js.map +0 -1
- package/app-frontend/modules/ForceUpgrade.js +0 -49
- package/app-frontend/modules/ForceUpgrade.js.map +0 -1
- package/app-frontend/modules/HistoryModule.js.map +0 -1
- package/app-frontend/modules/ResourcesModule.js +0 -19
- package/app-frontend/modules/ResourcesModule.js.map +0 -1
- package/app-frontend/modules/StorageModule.js.map +0 -1
- package/app-frontend/modules/ThunderstormModule.js.map +0 -1
- package/app-frontend/modules/component-loader/ReactEntryComponentInjector.js.map +0 -1
- package/app-frontend/modules/component-loader/entry-component-loading-module.js.map +0 -1
- package/app-frontend/modules/dialog/Dialog.js +0 -163
- package/app-frontend/modules/dialog/Dialog.js.map +0 -1
- package/app-frontend/modules/dialog/DialogModule.js.map +0 -1
- package/app-frontend/modules/http/HttpClient.d.ts +0 -0
- package/app-frontend/modules/http/XhrHttpModule.js.map +0 -1
- package/app-frontend/modules/locale/LocaleModule.js +0 -43
- package/app-frontend/modules/locale/LocaleModule.js.map +0 -1
- package/app-frontend/modules/locale/types.js +0 -3
- package/app-frontend/modules/menu/MenuAndButton.js +0 -40
- package/app-frontend/modules/menu/MenuAndButton.js.map +0 -1
- package/app-frontend/modules/menu/MenuModule.js +0 -57
- package/app-frontend/modules/menu/MenuModule.js.map +0 -1
- package/app-frontend/modules/menu/PopupMenu.js +0 -94
- package/app-frontend/modules/menu/PopupMenu.js.map +0 -1
- package/app-frontend/modules/routing/RoutingModule.js.map +0 -1
- package/app-frontend/modules/routing/route.js +0 -69
- package/app-frontend/modules/routing/route.js.map +0 -1
- package/app-frontend/modules/toaster/BaseToaster.js +0 -56
- package/app-frontend/modules/toaster/BaseToaster.js.map +0 -1
- package/app-frontend/modules/toaster/Toaster.js.map +0 -1
- package/app-frontend/modules/toaster/ToasterModule.js.map +0 -1
- package/app-frontend/modules/tooltip/Tooltip.js.map +0 -1
- package/app-frontend/modules/tooltip/TooltipModule.js +0 -74
- package/app-frontend/modules/tooltip/TooltipModule.js.map +0 -1
- package/app-frontend/tools/KeyboardListener.js.map +0 -1
- package/app-frontend/tools/Stylable.js.map +0 -1
- package/app-frontend/types/renderer-map.d.ts +0 -0
- package/app-frontend/utils/tools.js +0 -32
- package/app-frontend/utils/tools.js.map +0 -1
- package/app-frontend/widgets/FieldEditor.js +0 -25
- package/app-frontend/widgets/FieldEditor.js.map +0 -1
- package/app-frontend/widgets/FieldEditorClick.js +0 -48
- package/app-frontend/widgets/FieldEditorClick.js.map +0 -1
- package/app-frontend/widgets/FieldEditorWithButtons.js +0 -55
- package/app-frontend/widgets/FieldEditorWithButtons.js.map +0 -1
- package/app-frontend/widgets/click-to-drag/ClickToDrag.js +0 -39
- package/app-frontend/widgets/click-to-drag/ClickToDrag.js.map +0 -1
- package/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js +0 -34
- package/app-frontend/widgets/click-to-drag/OverlayWithDocumentListener.js.map +0 -1
- package/backend-test.d.ts +0 -1
- package/backend-test.js +0 -38
- package/backend-test.js.map +0 -1
- package/backend.d.ts +0 -17
- package/backend.js +0 -54
- package/backend.js.map +0 -1
- package/frontend.d.ts +0 -53
- package/frontend.js +0 -90
- package/frontend.js.map +0 -1
- package/index.d.ts +0 -6
- package/index.js +0 -43
- package/index.js.map +0 -1
- package/shared/BaseHttpModule.js +0 -66
- package/shared/BaseHttpModule.js.map +0 -1
- package/shared/BaseHttpRequest.js.map +0 -1
- package/shared/consts.js +0 -28
- package/shared/consts.js.map +0 -1
- package/shared/force-upgrade.js +0 -26
- package/shared/force-upgrade.js.map +0 -1
- package/shared/request-types.js.map +0 -1
- package/shared/types.js.map +0 -1
- package/test-backend/StormTester.js +0 -90
- package/test-backend/StormTester.js.map +0 -1
- package/test-frontend/ThunderTester.d.ts +0 -0
- /package/{app-frontend → dist/app-frontend}/modules/locale/types.js.map +0 -0
- /package/{test-frontend → dist/test-frontend}/ThunderTester.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlackModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/SlackModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,kBAAkB,EAClB,MAAM,EACN,MAAM,EAEN,mBAAmB,EACnB,2BAA2B,EAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAwB,SAAS,EAAwB,MAAM,gBAAgB,CAAC;AA6BvF,MAAM,OAAO,iBACT,SAAQ,MAAkB;IAClB,GAAG,CAAa;IAChB,UAAU,GAAe,EAAE,CAAC;IAEpC;QACI,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAES,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAClB,OAAM;QACV,mGAAmG;QAEnG,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB;YACI,sBAAsB,EAAE,IAAI;YAC5B,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;SAC7B,CAAC,CAAC;IACX,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,YAA0B;QAC/C,MAAM,UAAU,GAAiB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChE,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc;SACtC,CAAC,CAAC,CAAC,YAAY,CAAC;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI,IAAI,kBAAkB,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC;YAC5E,OAAO;QAEX,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,6CAA6C,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,OAAsB;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAA0B,CAAC;QAC9E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,EAAE,CAAC;QAErD,IAAI,CAAC,QAAQ,CACT,oCAAoC,OAAO,CAAC,OAAO,oBAAoB,GAAG,CAAC,EAAE,+BAA+B,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEpI,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAOnD,MAAM,OAAO,0BACT,SAAQ,MAAsB;IAE9B;QACI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAC,CAAC,CAAA;IAC5E,CAAC;IAES,IAAI;IACd,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,UAA+B,EAAE,OAAe;QAC5E,IAAI,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,2BAA2B,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC3G,OAAO;QAEX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACrB,OAAM;QACd,CAAC;QAED,MAAM,WAAW,CAAC,WAAW,CAAC,SAAS,OAAO,QAAQ,CAAC,CAAC;IAC5D,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,0BAA0B,EAAE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from "./server/server-api.js";
|
|
2
|
+
export * from "./server/HttpServer.js";
|
|
3
|
+
export * from "./proxy/RemoteProxyCaller.js";
|
|
4
|
+
export * from "./proxy/RemoteProxy.js";
|
|
5
|
+
export * from "../exceptions.js";
|
|
6
|
+
export * from "../utils/promisify-request.js";
|
|
7
|
+
export * from "../utils/to-be-removed.js";
|
|
8
|
+
export * from "./CleanupScheduler.js";
|
|
9
|
+
export * from "./FirestoreBackupScheduler.js";
|
|
10
|
+
export * from "../../index.js";
|
|
11
|
+
//# sourceMappingURL=_imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_imports.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":"AAqBA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AAEvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Thunderstorm is a full web app framework!
|
|
3
|
+
*
|
|
4
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
5
|
+
* Typescript & React frontend infrastructure
|
|
6
|
+
*
|
|
7
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* you may not use this file except in compliance with the License.
|
|
11
|
+
* You may obtain a copy of the License at
|
|
12
|
+
*
|
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
* See the License for the specific language governing permissions and
|
|
19
|
+
* limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
export * from "./server/server-api.js";
|
|
22
|
+
export * from "./server/HttpServer.js";
|
|
23
|
+
export * from "./proxy/RemoteProxyCaller.js";
|
|
24
|
+
export * from "./proxy/RemoteProxy.js";
|
|
25
|
+
export * from "../exceptions.js";
|
|
26
|
+
export * from "../utils/promisify-request.js";
|
|
27
|
+
export * from "../utils/to-be-removed.js";
|
|
28
|
+
export * from "./CleanupScheduler.js";
|
|
29
|
+
export * from "./FirestoreBackupScheduler.js";
|
|
30
|
+
export * from "../../index.js";
|
|
31
|
+
//# 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,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AAEvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ApiTypeBinder, HttpMethod, QueryParams } from "../../../shared/types";
|
|
2
|
-
import { BaseHttpRequest } from "../../../shared/BaseHttpRequest";
|
|
3
|
-
import { BaseHttpModule_Class, HttpConfig } from "../../../shared/BaseHttpModule";
|
|
4
|
-
import { Axios_RequestConfig } from "./types";
|
|
1
|
+
import { type ApiTypeBinder, HttpMethod, type QueryParams } from "../../../shared/types.js";
|
|
2
|
+
import { BaseHttpRequest } from "../../../shared/BaseHttpRequest.js";
|
|
3
|
+
import { BaseHttpModule_Class, type HttpConfig } from "../../../shared/BaseHttpModule.js";
|
|
4
|
+
import { type Axios_RequestConfig } from "./types.js";
|
|
5
5
|
export declare class AxiosHttpModule_Class extends BaseHttpModule_Class {
|
|
6
6
|
private requestOption;
|
|
7
7
|
constructor(name?: string);
|
|
@@ -18,3 +18,4 @@ export declare class AxiosHttpClient extends BaseHttpModule_Class {
|
|
|
18
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>;
|
|
19
19
|
setRequestOption(requestOption: Axios_RequestConfig): this;
|
|
20
20
|
}
|
|
21
|
+
//# sourceMappingURL=AxiosHttpModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxiosHttpModule.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/AxiosHttpModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,aAAa,EAAsB,UAAU,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE9G,OAAO,EAAC,eAAe,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAC,oBAAoB,EAAE,KAAK,UAAU,EAAC,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAkD,KAAK,mBAAmB,EAA+C,MAAM,YAAY,CAAC;AAGnJ,qBAAa,qBACT,SAAQ,oBAAoB;IAC5B,OAAO,CAAC,aAAa,CAA2B;gBAEpC,IAAI,CAAC,EAAE,MAAM;IAIzB,IAAI;IAOJ,aAAa,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAChC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAC7C,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAYvH,gBAAgB,CAAC,aAAa,EAAE,mBAAmB;IAK7C,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAA0B;CAepF;AAED,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI,MAAM,SAAS,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3I,eAAO,MAAM,eAAe,uBAA8B,CAAC;AAwI3D,qBAAa,eACT,SAAQ,oBAAoB;IAC5B,OAAO,CAAC,aAAa,CAA2B;gBAEpC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IAS5C,aAAa,CAAC,MAAM,SAAS,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrD,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAChC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EACtB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAClB,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAC7C,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAYvH,gBAAgB,CAAC,aAAa,EAAE,mBAAmB;CAKtD"}
|
|
@@ -1,25 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AxiosHttpClient = exports.AxiosHttpModule = exports.AxiosHttpModule_Class = void 0;
|
|
13
|
-
const axios_1 = require("axios");
|
|
14
|
-
const types_1 = require("../../../shared/types");
|
|
15
|
-
const ts_common_1 = require("@intuitionrobotics/ts-common");
|
|
16
|
-
const BaseHttpRequest_1 = require("../../../shared/BaseHttpRequest");
|
|
17
|
-
const BaseHttpModule_1 = require("../../../shared/BaseHttpModule");
|
|
18
|
-
const fs = require("fs");
|
|
19
|
-
class AxiosHttpModule_Class extends BaseHttpModule_1.BaseHttpModule_Class {
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import { HttpMethod } from "../../../shared/types.js";
|
|
3
|
+
import { _keys, BadImplementationException, } from "@intuitionrobotics/ts-common";
|
|
4
|
+
import { BaseHttpRequest } from "../../../shared/BaseHttpRequest.js";
|
|
5
|
+
import { BaseHttpModule_Class } from "../../../shared/BaseHttpModule.js";
|
|
6
|
+
import {} from "./types.js";
|
|
7
|
+
import * as fs from "fs";
|
|
8
|
+
export class AxiosHttpModule_Class extends BaseHttpModule_Class {
|
|
9
|
+
requestOption = {};
|
|
20
10
|
constructor(name) {
|
|
21
11
|
super(name || "AxiosHttpModule");
|
|
22
|
-
this.requestOption = {};
|
|
23
12
|
}
|
|
24
13
|
init() {
|
|
25
14
|
super.init();
|
|
@@ -42,37 +31,36 @@ class AxiosHttpModule_Class extends BaseHttpModule_1.BaseHttpModule_Class {
|
|
|
42
31
|
this.requestOption = requestOption;
|
|
43
32
|
return this;
|
|
44
33
|
}
|
|
45
|
-
downloadFile(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return outputFile;
|
|
56
|
-
});
|
|
34
|
+
async downloadFile(url, outputFile, key = `Download file: ${url}`) {
|
|
35
|
+
const downloadRequest = await this.createRequest(HttpMethod.GET, key)
|
|
36
|
+
.setResponseType("arraybuffer")
|
|
37
|
+
.setUrl(url);
|
|
38
|
+
const downloadResponse = await downloadRequest.executeSync();
|
|
39
|
+
const outputFolder = outputFile.substring(0, outputFile.lastIndexOf("/"));
|
|
40
|
+
if (!fs.existsSync(outputFolder))
|
|
41
|
+
fs.mkdirSync(outputFolder);
|
|
42
|
+
fs.writeFileSync(outputFile, downloadResponse);
|
|
43
|
+
return outputFile;
|
|
57
44
|
}
|
|
58
45
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
46
|
+
export const AxiosHttpModule = new AxiosHttpModule_Class();
|
|
47
|
+
class AxiosHttpRequest extends BaseHttpRequest {
|
|
48
|
+
response;
|
|
49
|
+
cancelSignal;
|
|
50
|
+
status;
|
|
51
|
+
requestOption = {};
|
|
62
52
|
constructor(requestKey, requestData, shouldCompress) {
|
|
63
53
|
super(requestKey, requestData);
|
|
64
|
-
this.requestOption = {};
|
|
65
54
|
this.compress = shouldCompress === undefined ? false : shouldCompress;
|
|
66
|
-
this.cancelSignal =
|
|
55
|
+
this.cancelSignal = axios.CancelToken.source();
|
|
67
56
|
}
|
|
68
57
|
getStatus() {
|
|
69
58
|
if (!this.status)
|
|
70
|
-
throw new
|
|
59
|
+
throw new BadImplementationException('Missing status..');
|
|
71
60
|
return this.status;
|
|
72
61
|
}
|
|
73
62
|
getResponse() {
|
|
74
|
-
|
|
75
|
-
return (_a = this.response) === null || _a === void 0 ? void 0 : _a.data;
|
|
63
|
+
return this.response?.data;
|
|
76
64
|
}
|
|
77
65
|
resolveResponse() {
|
|
78
66
|
return this.getResponse();
|
|
@@ -89,15 +77,14 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
89
77
|
}
|
|
90
78
|
executeImpl() {
|
|
91
79
|
//loop through whatever preprocessor
|
|
92
|
-
return new Promise((resolve, reject) =>
|
|
93
|
-
var _a, _b;
|
|
80
|
+
return new Promise(async (resolve, reject) => {
|
|
94
81
|
if (this.aborted)
|
|
95
82
|
return resolve();
|
|
96
83
|
let nextOperator = this.url.indexOf("?") === -1 ? "?" : "&";
|
|
97
84
|
let fullUrl = this.url;
|
|
98
85
|
const params = this.params;
|
|
99
86
|
if (params)
|
|
100
|
-
fullUrl =
|
|
87
|
+
fullUrl = _keys(params).reduce((url, paramKey) => {
|
|
101
88
|
const param = params[paramKey];
|
|
102
89
|
if (!param)
|
|
103
90
|
return url;
|
|
@@ -122,44 +109,50 @@ class AxiosHttpRequest extends BaseHttpRequest_1.BaseHttpRequest {
|
|
|
122
109
|
carry[headerKey] = this.headers[headerKey].join('; ');
|
|
123
110
|
return carry;
|
|
124
111
|
}, {});
|
|
125
|
-
const options =
|
|
112
|
+
const options = {
|
|
113
|
+
...this.requestOption,
|
|
114
|
+
url: fullUrl,
|
|
115
|
+
method: this.method,
|
|
116
|
+
headers: headers,
|
|
126
117
|
// TODO will probably need to use the abortController with a timeout for this.
|
|
127
|
-
timeout: this.timeout,
|
|
118
|
+
timeout: this.timeout,
|
|
119
|
+
cancelToken: this.cancelSignal.token
|
|
120
|
+
};
|
|
128
121
|
if (body)
|
|
129
122
|
options.data = body;
|
|
130
123
|
if (this.responseType)
|
|
131
124
|
options.responseType = this.responseType;
|
|
132
125
|
try {
|
|
133
|
-
this.response =
|
|
134
|
-
this.status =
|
|
126
|
+
this.response = await axios.request(options);
|
|
127
|
+
this.status = this.response?.status || 200;
|
|
135
128
|
return resolve();
|
|
136
129
|
}
|
|
137
130
|
catch (e) {
|
|
138
|
-
if (!(e instanceof
|
|
131
|
+
if (!(e instanceof axios.AxiosError)) {
|
|
139
132
|
this.status = 500;
|
|
140
133
|
return reject(e);
|
|
141
134
|
}
|
|
142
|
-
if (
|
|
135
|
+
if (axios.isCancel(e)) {
|
|
143
136
|
// Should already be set when I abort but just in case its aborted somehow else
|
|
144
137
|
this.aborted = true;
|
|
145
138
|
console.log('Api cancelled: ', e.message);
|
|
146
139
|
}
|
|
147
140
|
this.response = e["response"];
|
|
148
|
-
this.status =
|
|
141
|
+
this.status = this.response?.status || 500;
|
|
149
142
|
return reject(e);
|
|
150
143
|
}
|
|
151
|
-
})
|
|
144
|
+
});
|
|
152
145
|
}
|
|
153
146
|
getResponseHeader(headerKey) {
|
|
154
147
|
if (!this.response)
|
|
155
|
-
throw new
|
|
148
|
+
throw new BadImplementationException(`axios didn't return yet`);
|
|
156
149
|
return this.response.headers[headerKey];
|
|
157
150
|
}
|
|
158
151
|
}
|
|
159
|
-
class AxiosHttpClient extends
|
|
152
|
+
export class AxiosHttpClient extends BaseHttpModule_Class {
|
|
153
|
+
requestOption = {};
|
|
160
154
|
constructor(name, config) {
|
|
161
155
|
super(name);
|
|
162
|
-
this.requestOption = {};
|
|
163
156
|
this.setConfig(config);
|
|
164
157
|
super.init();
|
|
165
158
|
const origin = this.config.origin;
|
|
@@ -182,5 +175,4 @@ class AxiosHttpClient extends BaseHttpModule_1.BaseHttpModule_Class {
|
|
|
182
175
|
return this;
|
|
183
176
|
}
|
|
184
177
|
}
|
|
185
|
-
exports.AxiosHttpClient = AxiosHttpClient;
|
|
186
178
|
//# sourceMappingURL=AxiosHttpModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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,7 @@
|
|
|
1
|
-
import { AxiosRequestConfig, AxiosResponse, CancelTokenSource, Method, ResponseType } from "axios";
|
|
1
|
+
import { type AxiosRequestConfig, type AxiosResponse, type CancelTokenSource, type Method, type ResponseType } from "axios";
|
|
2
2
|
export type Axios_RequestConfig = AxiosRequestConfig;
|
|
3
3
|
export type Axios_Response<T = any> = AxiosResponse<T>;
|
|
4
4
|
export type Axios_CancelTokenSource = CancelTokenSource;
|
|
5
5
|
export type Axios_Method = Method;
|
|
6
6
|
export type Axios_ResponseType = ResponseType;
|
|
7
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,CAAA;AACpD,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;AACtD,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAA;AACvD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AACjC,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/http/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,MAAM,OAAO,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Module, ObjectTS } from "@intuitionrobotics/ts-common";
|
|
2
|
-
import { ServerApi_Middleware } from "../server/HttpServer";
|
|
3
|
-
import { HttpRequestData } from "../server/server-api";
|
|
4
|
-
import { ExpressRequest, QueryRequestInfo } from "../../utils/types";
|
|
1
|
+
import { Module, type ObjectTS } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import { type ServerApi_Middleware } from "../server/HttpServer.js";
|
|
3
|
+
import { type HttpRequestData } from "../server/server-api.js";
|
|
4
|
+
import { type ExpressRequest, type QueryRequestInfo } from "../../utils/types.js";
|
|
5
5
|
type ProxyConfig = {
|
|
6
6
|
extras?: ObjectTS;
|
|
7
7
|
urls: string[];
|
|
@@ -27,7 +27,8 @@ export declare class RemoteProxy_Class<Config extends RemoteProxyConfig> extends
|
|
|
27
27
|
private proxyHeader;
|
|
28
28
|
protected init(): void;
|
|
29
29
|
assertSecret(request: ExpressRequest): ObjectTS | undefined;
|
|
30
|
-
processApi(request: ExpressRequest,
|
|
30
|
+
processApi(request: ExpressRequest, _requestData: HttpRequestData): Promise<ObjectTS | undefined>;
|
|
31
31
|
}
|
|
32
32
|
export declare const RemoteProxy: RemoteProxy_Class<RemoteProxyConfig>;
|
|
33
33
|
export {};
|
|
34
|
+
//# sourceMappingURL=RemoteProxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteProxy.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAiC,MAAM,EAAE,KAAK,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAEnG,OAAO,EAAY,KAAK,oBAAoB,EAAC,MAAM,yBAAyB,CAAC;AAE7E,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAC,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,KAAK,WAAW,GAAG;IACf,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAA;CACjB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE;QACL,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAAA;KACjC,CAAA;IACD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,qBAAa,iBAAiB,CAAC,MAAM,SAAS,iBAAiB,CAC3D,SAAQ,MAAM,CAAC,MAAM,CACrB,YAAW,gBAAgB;;IAMrB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;KAAE,CAAC;IAYvF,cAAc,CAAC,OAAO,EAAE,cAAc;IAItC,OAAO,CAAC,eAAe;IAIvB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAGvC;IAEF,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,WAAW,CAAa;IAEhC,SAAS,CAAC,IAAI,IAAI,IAAI;IActB,YAAY,CAAC,OAAO,EAAE,cAAc;IA4B9B,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe;CAG1E;AAED,eAAO,MAAM,WAAW,sCAA0B,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Thunderstorm is a full web app framework!
|
|
3
|
+
*
|
|
4
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
5
|
+
* Typescript & React frontend infrastructure
|
|
6
|
+
*
|
|
7
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* you may not use this file except in compliance with the License.
|
|
11
|
+
* You may obtain a copy of the License at
|
|
12
|
+
*
|
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
* See the License for the specific language governing permissions and
|
|
19
|
+
* limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
import { ImplementationMissingException, Module } from "@intuitionrobotics/ts-common";
|
|
22
|
+
import { HeaderKey } from "../server/HttpServer.js";
|
|
23
|
+
import { ApiException } from "../../exceptions.js";
|
|
24
|
+
import {} from "../server/server-api.js";
|
|
25
|
+
import {} from "../../utils/types.js";
|
|
26
|
+
export class RemoteProxy_Class extends Module {
|
|
27
|
+
constructor() {
|
|
28
|
+
super("RemoteProxy");
|
|
29
|
+
}
|
|
30
|
+
async __queryRequestInfo(request) {
|
|
31
|
+
let data;
|
|
32
|
+
try {
|
|
33
|
+
data = this.getProxyHeader(request);
|
|
34
|
+
}
|
|
35
|
+
catch (_e) {
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
key: this.getName(),
|
|
39
|
+
data
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
getProxyHeader(request) {
|
|
43
|
+
return this.proxyHeader.get(request);
|
|
44
|
+
}
|
|
45
|
+
getSecretHeader(request) {
|
|
46
|
+
return this.secretHeader.get(request);
|
|
47
|
+
}
|
|
48
|
+
Middleware = async (request) => {
|
|
49
|
+
const extras = this.assertSecret(request);
|
|
50
|
+
return { extras, proxyId: this.getProxyHeader(request) };
|
|
51
|
+
};
|
|
52
|
+
secretHeader;
|
|
53
|
+
proxyHeader;
|
|
54
|
+
init() {
|
|
55
|
+
if (!this.config)
|
|
56
|
+
throw new ImplementationMissingException("MUST specify config for this module!!");
|
|
57
|
+
if (!this.config.secretHeaderName)
|
|
58
|
+
this.config.secretHeaderName = 'x-secret';
|
|
59
|
+
if (!this.config.proxyHeaderName)
|
|
60
|
+
this.config.proxyHeaderName = 'x-proxy';
|
|
61
|
+
this.secretHeader = new HeaderKey(this.config.secretHeaderName);
|
|
62
|
+
this.proxyHeader = new HeaderKey(this.config.proxyHeaderName);
|
|
63
|
+
}
|
|
64
|
+
assertSecret(request) {
|
|
65
|
+
if (!this.secretHeader || !this.proxyHeader)
|
|
66
|
+
throw new ImplementationMissingException("MUST add RemoteProxy to your module list!!!");
|
|
67
|
+
const secret = this.getSecretHeader(request);
|
|
68
|
+
const proxyId = this.getProxyHeader(request);
|
|
69
|
+
const expectedSecret = this.config.remotes[proxyId];
|
|
70
|
+
if (!proxyId)
|
|
71
|
+
throw new ApiException(403, `Missing proxy declaration in config for ${proxyId} !!`);
|
|
72
|
+
if (!secret)
|
|
73
|
+
throw new ApiException(403, `Missing secret !!`);
|
|
74
|
+
if (!expectedSecret)
|
|
75
|
+
throw new ApiException(403, `ProxyId '${proxyId}' is not registered for remote access !!`);
|
|
76
|
+
if (expectedSecret.secret !== secret)
|
|
77
|
+
throw new ApiException(403, `Secret does not match for proxyId: ${proxyId}`);
|
|
78
|
+
const requestUrl = request.path;
|
|
79
|
+
if (!expectedSecret.urls || !expectedSecret.urls.includes(requestUrl))
|
|
80
|
+
throw new ApiException(403, `Requested url '${requestUrl}' is not allowed from proxyId: ${proxyId}`);
|
|
81
|
+
return expectedSecret.extras;
|
|
82
|
+
}
|
|
83
|
+
async processApi(request, _requestData) {
|
|
84
|
+
return this.assertSecret(request);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
export const RemoteProxy = new RemoteProxy_Class();
|
|
88
|
+
//# sourceMappingURL=RemoteProxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteProxy.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
|
-
import { ApiWithBody, ApiWithQuery, QueryParams } from "../../../shared/types";
|
|
3
|
-
import { AxiosResponse } from "axios";
|
|
2
|
+
import { type ApiWithBody, type ApiWithQuery, type QueryParams } from "../../../shared/types.js";
|
|
3
|
+
import { type AxiosResponse } from "axios";
|
|
4
4
|
export type RemoteServerConfig = {
|
|
5
5
|
secretHeaderName: string;
|
|
6
6
|
proxyHeaderName: string;
|
|
@@ -25,3 +25,4 @@ export declare abstract class RemoteProxyCaller<Config extends RemoteServerConfi
|
|
|
25
25
|
}) => Promise<AxiosResponse<R>>;
|
|
26
26
|
private executeRequest;
|
|
27
27
|
}
|
|
28
|
+
//# sourceMappingURL=RemoteProxyCaller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteProxyCaller.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAA8C,MAAM,EAAC,MAAM,8BAA8B,CAAC;AAEjG,OAAO,EAAC,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAG/F,OAAO,EAA0B,KAAK,aAAa,EAAC,MAAM,OAAO,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACd,CAAA;AAED,8BAAsB,iBAAiB,CAAC,MAAM,SAAS,kBAAkB,CACrE,SAAQ,MAAM,CAAC,MAAM,CAAC;gBAGV,IAAI,EAAE,MAAM;IAIxB,SAAS,CAAC,IAAI,IAAI,IAAI;IAoBtB,SAAS,CAAC,iBAAiB,GAAU,MAAM,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW;QAC/M,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,CAAC,CAAC,CAGZ;IAEF,SAAS,CAAC,qBAAqB,GAAU,MAAM,SAAS,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,EAAE,WAAW;QACnN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAqB3B;IAEF,SAAS,CAAC,kBAAkB,GAAU,MAAM,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW;QACjL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,CAAC,CAAC,CAGZ;IAEF,SAAS,CAAC,sBAAsB,GAAU,MAAM,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,EAAE,WAAW;QACrL,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,KAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAe5B;IAED,OAAO,CAAC,cAAc,CAyBpB;CACL"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Thunderstorm is a full web app framework!
|
|
3
|
+
*
|
|
4
|
+
* Typescript & Express backend infrastructure that natively runs on firebase function
|
|
5
|
+
* Typescript & React frontend infrastructure
|
|
6
|
+
*
|
|
7
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
8
|
+
*
|
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
+
* you may not use this file except in compliance with the License.
|
|
11
|
+
* You may obtain a copy of the License at
|
|
12
|
+
*
|
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
+
*
|
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
16
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
+
* See the License for the specific language governing permissions and
|
|
19
|
+
* limitations under the License.
|
|
20
|
+
*/
|
|
21
|
+
import { __stringify, ImplementationMissingException, Module } from "@intuitionrobotics/ts-common";
|
|
22
|
+
// noinspection TypeScriptPreferShortImport
|
|
23
|
+
import {} from "../../../shared/types.js";
|
|
24
|
+
import { promisifyRequest } from "../../utils/promisify-request.js";
|
|
25
|
+
import { ApiException } from "../../exceptions.js";
|
|
26
|
+
import {} from "axios";
|
|
27
|
+
export class RemoteProxyCaller extends Module {
|
|
28
|
+
// noinspection TypeScriptAbstractClassConstructorCanBeMadeProtected
|
|
29
|
+
constructor(name) {
|
|
30
|
+
super(name);
|
|
31
|
+
}
|
|
32
|
+
init() {
|
|
33
|
+
if (!this.config)
|
|
34
|
+
throw new ImplementationMissingException(`MUST specify config for ${this.getName()}`);
|
|
35
|
+
if (!this.config.proxyId)
|
|
36
|
+
throw new ImplementationMissingException(`MUST specify the proxyId for ${this.getName()}`);
|
|
37
|
+
if (!this.config.url)
|
|
38
|
+
throw new ImplementationMissingException(`MUST specify the url for the remote server for ${this.getName()}`);
|
|
39
|
+
if (!this.config.secret)
|
|
40
|
+
throw new ImplementationMissingException(`MUST specify the secret for the remote server for ${this.getName()}`);
|
|
41
|
+
if (!this.config.secretHeaderName)
|
|
42
|
+
this.config.secretHeaderName = 'x-secret';
|
|
43
|
+
if (!this.config.proxyHeaderName)
|
|
44
|
+
this.config.proxyHeaderName = 'x-proxy';
|
|
45
|
+
}
|
|
46
|
+
executeGetRequest = async (url, _params, _headers) => {
|
|
47
|
+
const resp = await this.executeGetRequestImpl(url, _params, _headers);
|
|
48
|
+
return resp.data;
|
|
49
|
+
};
|
|
50
|
+
executeGetRequestImpl = async (url, _params, _headers) => {
|
|
51
|
+
const params = _params && Object.keys(_params).map((key) => {
|
|
52
|
+
return `${key}=${_params[key]}`;
|
|
53
|
+
});
|
|
54
|
+
let urlParams = "";
|
|
55
|
+
if (params && params.length > 0)
|
|
56
|
+
urlParams = `?${params.join("&")}`;
|
|
57
|
+
const proxyRequest = {
|
|
58
|
+
headers: {
|
|
59
|
+
..._headers,
|
|
60
|
+
[this.config.secretHeaderName]: this.config.secret,
|
|
61
|
+
[this.config.proxyHeaderName]: this.config.proxyId
|
|
62
|
+
},
|
|
63
|
+
url: `${this.config.url}${url}${urlParams}`,
|
|
64
|
+
method: 'GET',
|
|
65
|
+
responseType: 'json'
|
|
66
|
+
};
|
|
67
|
+
return this.executeRequest(proxyRequest);
|
|
68
|
+
};
|
|
69
|
+
executePostRequest = async (url, body, _headers) => {
|
|
70
|
+
const resp = await this.executePostRequestImpl(url, body, _headers);
|
|
71
|
+
return resp.data;
|
|
72
|
+
};
|
|
73
|
+
executePostRequestImpl = async (url, body, _headers) => {
|
|
74
|
+
const proxyRequest = {
|
|
75
|
+
headers: {
|
|
76
|
+
..._headers,
|
|
77
|
+
'Content-Type': 'application/json',
|
|
78
|
+
[this.config.secretHeaderName]: this.config.secret,
|
|
79
|
+
[this.config.proxyHeaderName]: this.config.proxyId
|
|
80
|
+
},
|
|
81
|
+
responseType: "json",
|
|
82
|
+
url: `${this.config.url}${url}`,
|
|
83
|
+
data: body,
|
|
84
|
+
method: 'POST'
|
|
85
|
+
};
|
|
86
|
+
return this.executeRequest(proxyRequest);
|
|
87
|
+
};
|
|
88
|
+
executeRequest = async (proxyRequest) => {
|
|
89
|
+
const response = await promisifyRequest(proxyRequest);
|
|
90
|
+
if (proxyRequest.headers) {
|
|
91
|
+
delete proxyRequest.headers[this.config.secretHeaderName];
|
|
92
|
+
delete proxyRequest.headers["Authorization"];
|
|
93
|
+
}
|
|
94
|
+
const statusCode = response.status;
|
|
95
|
+
// TODO: need to handle 1XX and 3XX
|
|
96
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
97
|
+
const errorResponse = response.data;
|
|
98
|
+
if (!errorResponse)
|
|
99
|
+
throw new ApiException(500, `Extraneous error ${__stringify(response)}, Proxy Request: ${__stringify(proxyRequest, true)}`);
|
|
100
|
+
const debugMessage = typeof errorResponse === 'object' ? errorResponse['debugMessage'] : errorResponse;
|
|
101
|
+
const e = new ApiException(response.status, `Redirect proxy error: ${debugMessage} \n Proxy Request: ${__stringify(proxyRequest, true)}`);
|
|
102
|
+
if (errorResponse.error)
|
|
103
|
+
e.setErrorBody(errorResponse.error);
|
|
104
|
+
throw e;
|
|
105
|
+
}
|
|
106
|
+
return response;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=RemoteProxyCaller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteProxyCaller.js","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/proxy/RemoteProxyCaller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { Module
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { Module } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import type { ObjectTS } from "@intuitionrobotics/ts-common";
|
|
3
|
+
import { ServerApi } from "./server-api.js";
|
|
4
|
+
import type { ApiResponse, HttpRequestData } from "./server-api.js";
|
|
5
|
+
import { ApiException } from "../../exceptions.js";
|
|
6
|
+
import type { Express, ExpressRequest, ExpressRequestHandler } from "../../utils/types.js";
|
|
5
7
|
type ConfigType = {
|
|
6
8
|
port: number;
|
|
7
9
|
baseUrl: string;
|
|
@@ -40,7 +42,7 @@ export declare class RouteResolver {
|
|
|
40
42
|
readonly rootDir: string;
|
|
41
43
|
readonly apiFolder: string;
|
|
42
44
|
private middlewares;
|
|
43
|
-
constructor(
|
|
45
|
+
constructor(importMetaUrl: string, apiFolder?: string);
|
|
44
46
|
setMiddlewares(...middlewares: ServerApi_Middleware[]): this;
|
|
45
47
|
resolveApi(urlPrefix: string, baseUrl: string, _exp: Express): void;
|
|
46
48
|
private resolveApiImpl;
|
|
@@ -53,3 +55,4 @@ export declare class HeaderKey {
|
|
|
53
55
|
get(request: ExpressRequest): string;
|
|
54
56
|
}
|
|
55
57
|
export {};
|
|
58
|
+
//# sourceMappingURL=HttpServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpServer.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/server/HttpServer.ts"],"names":[],"mappings":"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"}
|