quidproquo-web-admin 0.0.263 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -41
- package/lib/commonjs/App/App.d.ts +2 -0
- package/lib/commonjs/App/App.js +3 -2
- package/lib/commonjs/Auth/Auth.d.ts +1 -1
- package/lib/commonjs/Auth/Auth.js +15 -8
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.d.ts +6 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.js +50 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/index.d.ts +1 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/index.js +17 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authActionCreator.d.ts +3 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authActionCreator.js +15 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.d.ts +3 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.js +19 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.d.ts +25 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.js +8 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/index.d.ts +4 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/index.js +20 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.d.ts +2 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.js +18 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.d.ts +2 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.js +24 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.d.ts +8 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.js +11 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/index.d.ts +1 -0
- package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/index.js +17 -0
- package/lib/commonjs/Auth/AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired.d.ts +1 -1
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.d.ts +6 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.js +36 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/index.d.ts +1 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/index.js +17 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.d.ts +2 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.js +8 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.d.ts +3 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.js +13 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.d.ts +15 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.js +7 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/index.d.ts +4 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/index.js +20 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.d.ts +2 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.js +22 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.d.ts +6 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.js +9 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.d.ts +1 -0
- package/lib/commonjs/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.js +17 -0
- package/lib/commonjs/Auth/Login.d.ts +1 -1
- package/lib/commonjs/Auth/logic/authRuntime.d.ts +7 -0
- package/lib/commonjs/Auth/logic/authRuntime.js +7 -0
- package/lib/commonjs/Auth/logic/index.d.ts +1 -0
- package/lib/commonjs/Auth/logic/index.js +1 -0
- package/lib/commonjs/Auth/logic/runtime/askAuthLogout.d.ts +2 -0
- package/lib/commonjs/Auth/logic/runtime/askAuthLogout.js +15 -0
- package/lib/commonjs/Auth/logic/runtime/authLogic.d.ts +2 -0
- package/lib/commonjs/Auth/logic/runtime/authLogic.js +2 -0
- package/lib/commonjs/Config/Config.d.ts +2 -1
- package/lib/commonjs/FederatedAddon.d.ts +6 -0
- package/lib/commonjs/FederatedAddonProvider.d.ts +8 -0
- package/lib/commonjs/FederatedAddonProvider.js +21 -0
- package/lib/commonjs/LogViewer/ActionHistoryItem.d.ts +1 -1
- package/lib/commonjs/LogViewer/ActionHistoryItemTimeStamp.d.ts +1 -1
- package/lib/commonjs/LogViewer/ActionRender/ActionRender.d.ts +2 -2
- package/lib/commonjs/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.d.ts +1 -1
- package/lib/commonjs/LogViewer/AdminLogs/AdminLogSearchBar/AdminLogSearchBar.d.ts +1 -1
- package/lib/commonjs/LogViewer/AdminLogs/AdminLogs.d.ts +1 -1
- package/lib/commonjs/LogViewer/ConsoleLogViewer.d.ts +2 -2
- package/lib/commonjs/LogViewer/LogCorrelationTree.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogCorrelationTree.js +9 -1
- package/lib/commonjs/LogViewer/LogCorrelations.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogDetails.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogDialog/LogDialog.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogMetadataGrid.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogRawJson.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogSearch.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogSummary.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogSummaryDetails.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogSummaryDetails.js +10 -2
- package/lib/commonjs/LogViewer/LogSummaryReturn.d.ts +1 -1
- package/lib/commonjs/LogViewer/LogSummaryReturn.js +8 -1
- package/lib/commonjs/LogViewer/TopSection.d.ts +1 -1
- package/lib/commonjs/LogViewer/TruncatedText.d.ts +1 -1
- package/lib/commonjs/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.d.ts +8 -8
- package/lib/commonjs/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.js +47 -9
- package/lib/commonjs/LogViewer/charts/CostPerService.d.ts +1 -1
- package/lib/commonjs/LogViewer/charts/ErrorsByType.d.ts +1 -1
- package/lib/commonjs/LogViewer/charts/ErrorsOverTime.d.ts +1 -1
- package/lib/commonjs/LogViewer/charts/RequestsByService.d.ts +1 -1
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.js +8 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreConfigActionComponentMap.js +1 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreEventActionComponentMap.js +4 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreEventBusActionComponentMap.js +1 -1
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreFileActionComponentMap.js +5 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.js +14 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreKeyValueStoreActionComponentMap.js +5 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.js +8 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.js +8 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreSystemActionComponentMap.js +1 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/coreUserDirectoryActionComponentMap.js +12 -2
- package/lib/commonjs/LogViewer/logic/actionComponentMap/core/index.js +7 -1
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/index.js +8 -1
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.js +10 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.js +8 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.d.ts +2 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js +7 -0
- package/lib/commonjs/LogViewer/logic/actionComponentMap/webserver/webserverWebEntryActionComponentMap.js +1 -1
- package/lib/commonjs/LogViewer/logic/index.d.ts +0 -1
- package/lib/commonjs/LogViewer/logic/index.js +0 -1
- package/lib/commonjs/components/AdminDialog.d.ts +1 -1
- package/lib/commonjs/components/AsyncButton.d.ts +2 -2
- package/lib/commonjs/components/DataGrid.d.ts +1 -1
- package/lib/commonjs/components/DataGridPagination/DataGridPagination.d.ts +1 -1
- package/lib/commonjs/components/LastSeen/LastSeen.d.ts +1 -1
- package/lib/commonjs/components/LoadingBox/LoadingBox.d.ts +1 -1
- package/lib/commonjs/components/MainLayout/MainLayout.d.ts +1 -1
- package/lib/commonjs/components/MainLayout/MainLayout.js +11 -2
- package/lib/commonjs/index.d.ts +2 -0
- package/lib/commonjs/index.js +2 -0
- package/lib/commonjs/logic/platform/apiRequest.js +29 -19
- package/lib/commonjs/useFederatedAddon.js +4 -33
- package/lib/esm/App/App.d.ts +2 -0
- package/lib/esm/App/App.js +3 -2
- package/lib/esm/Auth/Auth.d.ts +1 -1
- package/lib/esm/Auth/Auth.js +10 -3
- package/lib/esm/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.d.ts +6 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/AuthChallengeMfaSetup.js +43 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/index.d.ts +1 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/index.js +1 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authActionCreator.d.ts +3 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authActionCreator.js +11 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.d.ts +3 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeReducer.js +16 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.d.ts +25 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/authChallengeTypes.js +5 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/index.d.ts +4 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/index.js +4 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.d.ts +2 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.js +15 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.d.ts +2 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.js +21 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.d.ts +8 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/authChallengeLogic.js +8 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/index.d.ts +1 -0
- package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/index.js +1 -0
- package/lib/esm/Auth/AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired.d.ts +1 -1
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.d.ts +6 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa.js +27 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/index.d.ts +1 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/index.js +1 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.d.ts +2 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authActionCreator.js +5 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.d.ts +3 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeReducer.js +10 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.d.ts +15 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/authChallengeTypes.js +4 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/index.d.ts +4 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/index.js +4 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.d.ts +2 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.js +19 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.d.ts +6 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/authChallengeLogic.js +6 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.d.ts +1 -0
- package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/index.js +1 -0
- package/lib/esm/Auth/Login.d.ts +1 -1
- package/lib/esm/Auth/logic/authRuntime.d.ts +7 -0
- package/lib/esm/Auth/logic/authRuntime.js +4 -0
- package/lib/esm/Auth/logic/index.d.ts +1 -0
- package/lib/esm/Auth/logic/index.js +1 -0
- package/lib/esm/Auth/logic/runtime/askAuthLogout.d.ts +2 -0
- package/lib/esm/Auth/logic/runtime/askAuthLogout.js +12 -0
- package/lib/esm/Auth/logic/runtime/authLogic.d.ts +2 -0
- package/lib/esm/Auth/logic/runtime/authLogic.js +2 -0
- package/lib/esm/Config/Config.d.ts +2 -1
- package/lib/esm/FederatedAddon.d.ts +6 -0
- package/lib/esm/FederatedAddonProvider.d.ts +8 -0
- package/lib/esm/FederatedAddonProvider.js +7 -0
- package/lib/esm/LogViewer/ActionHistoryItem.d.ts +1 -1
- package/lib/esm/LogViewer/ActionHistoryItemTimeStamp.d.ts +1 -1
- package/lib/esm/LogViewer/ActionRender/ActionRender.d.ts +2 -2
- package/lib/esm/LogViewer/AdminLogs/AdminLogGrid/AdminLogGrid.d.ts +1 -1
- package/lib/esm/LogViewer/AdminLogs/AdminLogSearchBar/AdminLogSearchBar.d.ts +1 -1
- package/lib/esm/LogViewer/AdminLogs/AdminLogs.d.ts +1 -1
- package/lib/esm/LogViewer/ConsoleLogViewer.d.ts +2 -2
- package/lib/esm/LogViewer/LogCorrelationTree.d.ts +1 -1
- package/lib/esm/LogViewer/LogCorrelationTree.js +9 -1
- package/lib/esm/LogViewer/LogCorrelations.d.ts +1 -1
- package/lib/esm/LogViewer/LogDetails.d.ts +1 -1
- package/lib/esm/LogViewer/LogDialog/LogDialog.d.ts +1 -1
- package/lib/esm/LogViewer/LogMetadataGrid.d.ts +1 -1
- package/lib/esm/LogViewer/LogRawJson.d.ts +1 -1
- package/lib/esm/LogViewer/LogSearch.d.ts +1 -1
- package/lib/esm/LogViewer/LogSummary.d.ts +1 -1
- package/lib/esm/LogViewer/LogSummaryDetails.d.ts +1 -1
- package/lib/esm/LogViewer/LogSummaryDetails.js +8 -3
- package/lib/esm/LogViewer/LogSummaryReturn.d.ts +1 -1
- package/lib/esm/LogViewer/LogSummaryReturn.js +6 -2
- package/lib/esm/LogViewer/TopSection.d.ts +1 -1
- package/lib/esm/LogViewer/TruncatedText.d.ts +1 -1
- package/lib/esm/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.d.ts +8 -8
- package/lib/esm/LogViewer/actionComponents/genericActionRenderer/AnyVariableView/AnyVariableView.js +47 -9
- package/lib/esm/LogViewer/charts/CostPerService.d.ts +1 -1
- package/lib/esm/LogViewer/charts/ErrorsByType.d.ts +1 -1
- package/lib/esm/LogViewer/charts/ErrorsOverTime.d.ts +1 -1
- package/lib/esm/LogViewer/charts/RequestsByService.d.ts +1 -1
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreAiActionComponentMap.js +6 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreClaudeAiActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreConfigActionComponentMap.js +1 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreEventActionComponentMap.js +4 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreEventBusActionComponentMap.js +1 -1
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreFileActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreGraphDatabaseActionComponentMap.js +12 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreInlineFunctionActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreKeyValueStoreActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStateActionComponentMap.js +6 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreStreamActionComponentMap.js +6 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreSystemActionComponentMap.js +1 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/core/coreUserDirectoryActionComponentMap.js +12 -2
- package/lib/esm/LogViewer/logic/actionComponentMap/core/index.js +12 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/index.js +14 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverAdminActionComponentMap.js +8 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverApiKeyValidationActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverDnsActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverGenericDataResourceActionComponentMap.js +6 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverOpenApiSpecActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverRouteAuthValidationActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.d.ts +2 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverServiceActionComponentMap.js +5 -0
- package/lib/esm/LogViewer/logic/actionComponentMap/webserver/webserverWebEntryActionComponentMap.js +1 -1
- package/lib/esm/LogViewer/logic/index.d.ts +0 -1
- package/lib/esm/LogViewer/logic/index.js +0 -1
- package/lib/esm/components/AdminDialog.d.ts +1 -1
- package/lib/esm/components/AsyncButton.d.ts +2 -2
- package/lib/esm/components/DataGrid.d.ts +1 -1
- package/lib/esm/components/DataGridPagination/DataGridPagination.d.ts +1 -1
- package/lib/esm/components/LastSeen/LastSeen.d.ts +1 -1
- package/lib/esm/components/LoadingBox/LoadingBox.d.ts +1 -1
- package/lib/esm/components/MainLayout/MainLayout.d.ts +1 -1
- package/lib/esm/components/MainLayout/MainLayout.js +11 -2
- package/lib/esm/index.d.ts +2 -0
- package/lib/esm/index.js +2 -0
- package/lib/esm/logic/platform/apiRequest.js +29 -16
- package/lib/esm/useFederatedAddon.js +4 -33
- package/package.json +10 -22
- package/lib/commonjs/LogViewer/logic/getFederationManifestUrl.d.ts +0 -3
- package/lib/commonjs/LogViewer/logic/getFederationManifestUrl.js +0 -19
- package/lib/esm/LogViewer/logic/getFederationManifestUrl.d.ts +0 -3
- package/lib/esm/LogViewer/logic/getFederationManifestUrl.js +0 -5
package/lib/esm/App/App.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BaseUrlResolvers } from 'quidproquo-web-react';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { LoadFederatedAddons } from '../FederatedAddon';
|
|
3
4
|
export type AppProps = {
|
|
4
5
|
urlResolvers: BaseUrlResolvers;
|
|
6
|
+
loadAddons?: LoadFederatedAddons;
|
|
5
7
|
};
|
|
6
8
|
export declare const App: React.FC<AppProps>;
|
package/lib/esm/App/App.js
CHANGED
|
@@ -6,6 +6,7 @@ import CssBaseline from '@mui/material/CssBaseline';
|
|
|
6
6
|
import { createTheme, ThemeProvider } from '@mui/material/styles';
|
|
7
7
|
import { Auth } from '../Auth/Auth';
|
|
8
8
|
import { MainLayout } from '../components';
|
|
9
|
+
import { FederatedAddonProvider } from '../FederatedAddonProvider';
|
|
9
10
|
import { baseUrlsContext } from '../platformLogic/contexts';
|
|
10
11
|
import { LoadingProvider } from '../view';
|
|
11
12
|
import { WebSocketAuthProvider } from '../WebSocketAuthProvider';
|
|
@@ -14,10 +15,10 @@ const darkTheme = createTheme({
|
|
|
14
15
|
mode: 'light',
|
|
15
16
|
},
|
|
16
17
|
});
|
|
17
|
-
export const App = ({ urlResolvers }) => {
|
|
18
|
+
export const App = ({ urlResolvers, loadAddons }) => {
|
|
18
19
|
const baseUrls = useMemo(() => ({
|
|
19
20
|
api: urlResolvers.getApiUrl(),
|
|
20
21
|
ws: urlResolvers.getWsUrl(),
|
|
21
22
|
}), [urlResolvers]);
|
|
22
|
-
return (_jsx(QpqContextProvider, { contextIdentifier: baseUrlsContext, value: baseUrls, children: _jsx(Router, { children: _jsx(BaseUrlProvider, { urlResolvers: urlResolvers, children: _jsxs(ThemeProvider, { theme: darkTheme, children: [_jsx(CssBaseline, {}), _jsx(LoadingProvider, { children: _jsx(Auth, { children: _jsx(WebsocketProvider, { wsUrl: urlResolvers.getWsUrl(), children: _jsx(WebSocketAuthProvider, { children: _jsx(MainLayout, {}) }) }) }) })] }) }) }) }));
|
|
23
|
+
return (_jsx(QpqContextProvider, { contextIdentifier: baseUrlsContext, value: baseUrls, children: _jsx(Router, { children: _jsx(BaseUrlProvider, { urlResolvers: urlResolvers, children: _jsxs(ThemeProvider, { theme: darkTheme, children: [_jsx(CssBaseline, {}), _jsx(LoadingProvider, { children: _jsx(Auth, { children: _jsx(WebsocketProvider, { wsUrl: urlResolvers.getWsUrl(), children: _jsx(WebSocketAuthProvider, { children: _jsx(FederatedAddonProvider, { loadAddons: loadAddons, children: _jsx(MainLayout, {}) }) }) }) }) })] }) }) }) }));
|
|
23
24
|
};
|
package/lib/esm/Auth/Auth.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
interface AuthProps {
|
|
3
3
|
children?: ReactNode;
|
|
4
4
|
}
|
|
5
|
-
export declare function Auth({ children }: AuthProps): import("react
|
|
5
|
+
export declare function Auth({ children }: AuthProps): import("react").JSX.Element;
|
|
6
6
|
export {};
|
package/lib/esm/Auth/Auth.js
CHANGED
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { AuthenticateUserChallenge } from 'quidproquo-core';
|
|
3
|
-
import { authContext,
|
|
3
|
+
import { authContext, QpqRuntimeEffectCatcher, useQpqRuntime } from 'quidproquo-web-react';
|
|
4
|
+
import { AuthChallengeMfaSetup } from './AuthChallengeMfaSetup/AuthChallengeMfaSetup';
|
|
4
5
|
import { AuthChallengeNewPasswordRequired } from './AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired';
|
|
6
|
+
import { AuthChallengeSoftwareTokenMfa } from './AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa';
|
|
5
7
|
import { isLoggedOn } from './logic/isLoggedOn';
|
|
6
8
|
import { askAuthMain } from './logic/runtime/askAuthMain';
|
|
7
|
-
import {
|
|
9
|
+
import { authRuntime } from './logic';
|
|
8
10
|
import { Login } from './Login';
|
|
9
|
-
const authRuntime = createQpqRuntimeDefinition(authLogic, authInitalState, authReducer);
|
|
10
11
|
export function Auth({ children }) {
|
|
11
12
|
const [api, state, dispatch] = useQpqRuntime(authRuntime, askAuthMain);
|
|
12
13
|
const isAuthenticated = isLoggedOn(state);
|
|
13
14
|
if (state.authenticateUserResponse?.challenge === AuthenticateUserChallenge.NEW_PASSWORD_REQUIRED) {
|
|
14
15
|
return (_jsx(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: _jsx(AuthChallengeNewPasswordRequired, { authState: state }) }));
|
|
15
16
|
}
|
|
17
|
+
if (state.authenticateUserResponse?.challenge === AuthenticateUserChallenge.SOFTWARE_TOKEN_MFA) {
|
|
18
|
+
return (_jsx(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: _jsx(AuthChallengeSoftwareTokenMfa, { authState: state }) }));
|
|
19
|
+
}
|
|
20
|
+
if (state.authenticateUserResponse?.challenge === AuthenticateUserChallenge.MFA_SETUP) {
|
|
21
|
+
return (_jsx(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: _jsx(AuthChallengeMfaSetup, { authState: state }) }));
|
|
22
|
+
}
|
|
16
23
|
return (_jsxs(QpqRuntimeEffectCatcher, { runtime: authRuntime, children: [!isAuthenticated && (_jsx(Login, { setUsername: api.authUISetUsername, setPassword: api.authUISetPassword, username: state.username, password: state.password, onLogin: api.authLogin })), isAuthenticated && (_jsx(authContext.Provider, { value: {
|
|
17
24
|
challenge: state.authenticateUserResponse?.challenge,
|
|
18
25
|
session: state.authenticateUserResponse?.session,
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createQpqRuntimeDefinition, useQpqRuntime } from 'quidproquo-web-react';
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
4
|
+
import LockIcon from '@mui/icons-material/Lock';
|
|
5
|
+
import Box from '@mui/material/Box';
|
|
6
|
+
import Grid from '@mui/material/Grid';
|
|
7
|
+
import TextField from '@mui/material/TextField';
|
|
8
|
+
import Typography from '@mui/material/Typography';
|
|
9
|
+
import { AsyncButton } from '../../components';
|
|
10
|
+
import { authChallengeMfaSetupInitalState, authChallengeMfaSetupLogic, authChallengeMfaSetupReducer } from './logic';
|
|
11
|
+
const atom = createQpqRuntimeDefinition(authChallengeMfaSetupLogic, authChallengeMfaSetupInitalState, authChallengeMfaSetupReducer);
|
|
12
|
+
// otpauth:// URI consumed by authenticator apps when scanning / importing.
|
|
13
|
+
const buildOtpAuthUri = (email, secretCode) => {
|
|
14
|
+
const issuer = window.location.host;
|
|
15
|
+
const label = encodeURIComponent(`${issuer}:${email}`);
|
|
16
|
+
return `otpauth://totp/${label}?secret=${secretCode}&issuer=${encodeURIComponent(issuer)}`;
|
|
17
|
+
};
|
|
18
|
+
export function AuthChallengeMfaSetup({ authState }) {
|
|
19
|
+
const [api, state] = useQpqRuntime(atom);
|
|
20
|
+
const isCodeValid = /^\d{6}$/.test(state.mfaCode);
|
|
21
|
+
const challenge = authState.authenticateUserResponse?.challenge;
|
|
22
|
+
const session = authState.authenticateUserResponse?.session;
|
|
23
|
+
// Associate a software token once, using the MFA_SETUP challenge session.
|
|
24
|
+
const hasAssociated = useRef(false);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (!hasAssociated.current && session) {
|
|
27
|
+
hasAssociated.current = true;
|
|
28
|
+
api.authChallengeAssociateSoftwareToken(session);
|
|
29
|
+
}
|
|
30
|
+
}, [api, session]);
|
|
31
|
+
if (!challenge || !session) {
|
|
32
|
+
return _jsx("div", { children: "Error, missing challenge / session" });
|
|
33
|
+
}
|
|
34
|
+
return (_jsx(Box, { sx: {
|
|
35
|
+
height: '100vh',
|
|
36
|
+
width: '100%',
|
|
37
|
+
p: 2,
|
|
38
|
+
display: 'flex',
|
|
39
|
+
flexDirection: 'column',
|
|
40
|
+
justifyContent: 'center',
|
|
41
|
+
alignItems: 'center',
|
|
42
|
+
}, children: _jsx(Box, { component: "form", sx: { width: '100%', maxWidth: 360 }, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsxs(Typography, { variant: "h5", gutterBottom: true, sx: { display: 'flex', alignItems: 'center' }, children: [_jsx(LockIcon, { sx: { marginRight: 1 } }), "Set Up Authenticator"] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: "body2", color: "text.secondary", children: "Add this account to your authenticator app, then enter the 6-digit code it generates." }) }), _jsxs(Grid, { item: true, xs: 12, children: [_jsx(Typography, { variant: "caption", color: "text.secondary", children: "Secret key" }), _jsx(Typography, { variant: "body1", sx: { fontFamily: 'monospace', wordBreak: 'break-all' }, children: state.secretCode || 'Loading…' })] }), state.secretCode && (_jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: "caption", color: "text.secondary", sx: { wordBreak: 'break-all' }, children: buildOtpAuthUri(authState.username, state.secretCode) }) })), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { required: true, fullWidth: true, id: "mfaCode", label: "Authentication Code", autoFocus: true, inputProps: { inputMode: 'numeric', pattern: '[0-9]*', maxLength: 6 }, value: state.mfaCode, onChange: (event) => api.authChallengeSetMfaSetupCode(event.target.value.replace(/\D/g, '')) }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(AsyncButton, { onClick: () => api.authChallengeSendMfaSetupCode(challenge, authState.username), disabled: !isCodeValid || !state.secretCode, children: "Verify" }) })] }) }) }));
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AuthChallengeMfaSetup';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AuthChallengeMfaSetup';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { askStateDispatchEffect } from 'quidproquo-core';
|
|
2
|
+
import { AuthChallengeMfaSetupEffect, } from './authChallengeTypes';
|
|
3
|
+
export function* askAuthChallengeSetMfaSetupCode(mfaCode) {
|
|
4
|
+
yield* askStateDispatchEffect(AuthChallengeMfaSetupEffect.SetMfaCode, mfaCode);
|
|
5
|
+
}
|
|
6
|
+
export function* askAuthChallengeSetMfaSetupAssociation(secretCode, session) {
|
|
7
|
+
yield* askStateDispatchEffect(AuthChallengeMfaSetupEffect.SetAssociation, {
|
|
8
|
+
secretCode,
|
|
9
|
+
session,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AuthChallengeMfaSetupEffects, AuthChallengeMfaSetupState } from './authChallengeTypes';
|
|
2
|
+
export declare const authChallengeMfaSetupInitalState: AuthChallengeMfaSetupState;
|
|
3
|
+
export declare const authChallengeMfaSetupReducer: (state: AuthChallengeMfaSetupState, effect: AuthChallengeMfaSetupEffects) => [AuthChallengeMfaSetupState, boolean];
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { buildMutableEffectReducer } from 'quidproquo-core';
|
|
2
|
+
import { AuthChallengeMfaSetupEffect } from './authChallengeTypes';
|
|
3
|
+
export const authChallengeMfaSetupInitalState = {
|
|
4
|
+
secretCode: '',
|
|
5
|
+
session: '',
|
|
6
|
+
mfaCode: '',
|
|
7
|
+
};
|
|
8
|
+
export const authChallengeMfaSetupReducer = buildMutableEffectReducer({
|
|
9
|
+
[AuthChallengeMfaSetupEffect.SetMfaCode]: (state, mfaCode) => {
|
|
10
|
+
state.mfaCode = mfaCode;
|
|
11
|
+
},
|
|
12
|
+
[AuthChallengeMfaSetupEffect.SetAssociation]: (state, { secretCode, session }) => {
|
|
13
|
+
state.secretCode = secretCode;
|
|
14
|
+
state.session = session;
|
|
15
|
+
},
|
|
16
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Effect } from 'quidproquo-core';
|
|
2
|
+
export type AuthChallengeMfaSetupState = {
|
|
3
|
+
secretCode: string;
|
|
4
|
+
session: string;
|
|
5
|
+
mfaCode: string;
|
|
6
|
+
};
|
|
7
|
+
export declare enum AuthChallengeMfaSetupEffect {
|
|
8
|
+
SetMfaCode = "authMfaSetup/SetMfaCode",
|
|
9
|
+
SetAssociation = "authMfaSetup/SetAssociation"
|
|
10
|
+
}
|
|
11
|
+
export type AuthChallengeMfaSetupSetMfaCodeEffect = Effect<AuthChallengeMfaSetupEffect.SetMfaCode, string>;
|
|
12
|
+
export type AuthChallengeMfaSetupSetAssociationEffect = Effect<AuthChallengeMfaSetupEffect.SetAssociation, {
|
|
13
|
+
secretCode: string;
|
|
14
|
+
session: string;
|
|
15
|
+
}>;
|
|
16
|
+
export type AuthChallengeMfaSetupEffects = AuthChallengeMfaSetupSetMfaCodeEffect | AuthChallengeMfaSetupSetAssociationEffect;
|
|
17
|
+
export type AuthChallengeAssociateSoftwareTokenPayload = {
|
|
18
|
+
session: string;
|
|
19
|
+
};
|
|
20
|
+
export type AuthChallengeSendMfaSetupCodePayload = {
|
|
21
|
+
email: string;
|
|
22
|
+
session: string;
|
|
23
|
+
challenge: string;
|
|
24
|
+
mfaCode: string;
|
|
25
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export var AuthChallengeMfaSetupEffect;
|
|
2
|
+
(function (AuthChallengeMfaSetupEffect) {
|
|
3
|
+
AuthChallengeMfaSetupEffect["SetMfaCode"] = "authMfaSetup/SetMfaCode";
|
|
4
|
+
AuthChallengeMfaSetupEffect["SetAssociation"] = "authMfaSetup/SetAssociation";
|
|
5
|
+
})(AuthChallengeMfaSetupEffect || (AuthChallengeMfaSetupEffect = {}));
|
package/lib/esm/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeAssociateSoftwareToken.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { askPlatformRequest } from '../../../../platformLogic';
|
|
2
|
+
import { askAuthChallengeSetMfaSetupAssociation } from '../authActionCreator';
|
|
3
|
+
// Kicks off TOTP enrollment: trades the MFA_SETUP challenge session for the
|
|
4
|
+
// shared secret (to show as a QR / manual key) and a refreshed session.
|
|
5
|
+
export function* askAuthChallengeAssociateSoftwareToken(session) {
|
|
6
|
+
const response = yield* askPlatformRequest('POST', '/associateSoftwareToken', {
|
|
7
|
+
body: {
|
|
8
|
+
session,
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
if (response.status < 200 || response.status >= 300) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
yield* askAuthChallengeSetMfaSetupAssociation(response.data.secretCode, response.data.session);
|
|
15
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { askStateRead } from 'quidproquo-core';
|
|
2
|
+
import { askPlatformRequest, askSaveAuthToken } from '../../../../platformLogic';
|
|
3
|
+
import { askAuthUISetAuthInfo } from '../../../logic';
|
|
4
|
+
// Completes MFA_SETUP. Sends the first TOTP code together with the refreshed
|
|
5
|
+
// session from the associate step; the server verifies the code and finishes login.
|
|
6
|
+
export function* askAuthChallengeSendMfaSetupCode(challenge, email) {
|
|
7
|
+
const { mfaCode, session } = yield* askStateRead('');
|
|
8
|
+
const response = yield* askPlatformRequest('POST', '/challenge', {
|
|
9
|
+
body: {
|
|
10
|
+
challenge,
|
|
11
|
+
email,
|
|
12
|
+
mfaCode,
|
|
13
|
+
session,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
if (response.status < 200 || response.status >= 300) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
yield* askSaveAuthToken(response.data);
|
|
20
|
+
yield* askAuthUISetAuthInfo(response.data);
|
|
21
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { askAuthChallengeSetMfaSetupCode } from '../authActionCreator';
|
|
2
|
+
import { askAuthChallengeAssociateSoftwareToken } from './askAuthChallengeAssociateSoftwareToken';
|
|
3
|
+
import { askAuthChallengeSendMfaSetupCode } from './askAuthChallengeSendMfaSetupCode';
|
|
4
|
+
export declare const authChallengeMfaSetupLogic: {
|
|
5
|
+
askAuthChallengeSetMfaSetupCode: typeof askAuthChallengeSetMfaSetupCode;
|
|
6
|
+
askAuthChallengeAssociateSoftwareToken: typeof askAuthChallengeAssociateSoftwareToken;
|
|
7
|
+
askAuthChallengeSendMfaSetupCode: typeof askAuthChallengeSendMfaSetupCode;
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { askAuthChallengeSetMfaSetupCode } from '../authActionCreator';
|
|
2
|
+
import { askAuthChallengeAssociateSoftwareToken } from './askAuthChallengeAssociateSoftwareToken';
|
|
3
|
+
import { askAuthChallengeSendMfaSetupCode } from './askAuthChallengeSendMfaSetupCode';
|
|
4
|
+
export const authChallengeMfaSetupLogic = {
|
|
5
|
+
askAuthChallengeSetMfaSetupCode,
|
|
6
|
+
askAuthChallengeAssociateSoftwareToken,
|
|
7
|
+
askAuthChallengeSendMfaSetupCode,
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './authChallengeLogic';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './authChallengeLogic';
|
|
@@ -2,5 +2,5 @@ import { AuthState } from '../logic';
|
|
|
2
2
|
interface AuthChallengeNewPasswordRequiredProps {
|
|
3
3
|
authState: AuthState;
|
|
4
4
|
}
|
|
5
|
-
export declare function AuthChallengeNewPasswordRequired({ authState }: AuthChallengeNewPasswordRequiredProps): import("react
|
|
5
|
+
export declare function AuthChallengeNewPasswordRequired({ authState }: AuthChallengeNewPasswordRequiredProps): import("react").JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
|
|
3
|
+
import { createQpqRuntimeDefinition, useQpqRuntime } from 'quidproquo-web-react';
|
|
4
|
+
import LockIcon from '@mui/icons-material/Lock';
|
|
5
|
+
import Box from '@mui/material/Box';
|
|
6
|
+
import Grid from '@mui/material/Grid';
|
|
7
|
+
import TextField from '@mui/material/TextField';
|
|
8
|
+
import Typography from '@mui/material/Typography';
|
|
9
|
+
import { AsyncButton } from '../../components';
|
|
10
|
+
import { authChallengeMfaInitalState, authChallengeMfaLogic, authChallengeMfaReducer } from './logic';
|
|
11
|
+
const atom = createQpqRuntimeDefinition(authChallengeMfaLogic, authChallengeMfaInitalState, authChallengeMfaReducer);
|
|
12
|
+
export function AuthChallengeSoftwareTokenMfa({ authState }) {
|
|
13
|
+
const [api, state] = useQpqRuntime(atom);
|
|
14
|
+
const isCodeValid = /^\d{6}$/.test(state.mfaCode);
|
|
15
|
+
if (!authState.authenticateUserResponse || !authState.authenticateUserResponse.challenge || !authState.authenticateUserResponse.session) {
|
|
16
|
+
return _jsx("div", { children: "Error, missing challenge / session" });
|
|
17
|
+
}
|
|
18
|
+
return (_jsx(Box, { sx: {
|
|
19
|
+
height: '100vh',
|
|
20
|
+
width: '100%',
|
|
21
|
+
p: 2,
|
|
22
|
+
display: 'flex',
|
|
23
|
+
flexDirection: 'column',
|
|
24
|
+
justifyContent: 'center',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
}, children: _jsx(Box, { component: "form", sx: { width: '100%', maxWidth: 360 }, children: _jsxs(Grid, { container: true, spacing: 2, children: [_jsx(Grid, { item: true, xs: 12, children: _jsxs(Typography, { variant: "h5", gutterBottom: true, sx: { display: 'flex', alignItems: 'center' }, children: [_jsx(LockIcon, { sx: { marginRight: 1 } }), "Verification Code"] }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(Typography, { variant: "body2", color: "text.secondary", children: "Enter the 6-digit code from your authenticator app." }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(TextField, { required: true, fullWidth: true, id: "mfaCode", label: "Authentication Code", autoFocus: true, inputProps: { inputMode: 'numeric', pattern: '[0-9]*', maxLength: 6 }, value: state.mfaCode, onChange: (event) => api.authChallengeSetMfaCode(event.target.value.replace(/\D/g, '')) }) }), _jsx(Grid, { item: true, xs: 12, children: _jsx(AsyncButton, { onClick: () => api.authChallengeSendMfaCode(authState.authenticateUserResponse?.challenge, authState.authenticateUserResponse?.session, authState.username), disabled: !isCodeValid, children: "Verify" }) })] }) }) }));
|
|
27
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AuthChallengeSoftwareTokenMfa';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AuthChallengeSoftwareTokenMfa';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { AuthChallengeMfaState } from './authChallengeTypes';
|
|
2
|
+
export declare const authChallengeMfaInitalState: AuthChallengeMfaState;
|
|
3
|
+
export declare const authChallengeMfaReducer: (state: AuthChallengeMfaState, effect: import("./authChallengeTypes").AuthChallengeSetMfaCodeEffect) => [AuthChallengeMfaState, boolean];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { buildMutableEffectReducer } from 'quidproquo-core';
|
|
2
|
+
import { AuthChallengeMfaEffect } from './authChallengeTypes';
|
|
3
|
+
export const authChallengeMfaInitalState = {
|
|
4
|
+
mfaCode: '',
|
|
5
|
+
};
|
|
6
|
+
export const authChallengeMfaReducer = buildMutableEffectReducer({
|
|
7
|
+
[AuthChallengeMfaEffect.SetMfaCode]: (state, mfaCode) => {
|
|
8
|
+
state.mfaCode = mfaCode;
|
|
9
|
+
},
|
|
10
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Effect } from 'quidproquo-core';
|
|
2
|
+
export type AuthChallengeMfaState = {
|
|
3
|
+
mfaCode: string;
|
|
4
|
+
};
|
|
5
|
+
export declare enum AuthChallengeMfaEffect {
|
|
6
|
+
SetMfaCode = "authMfa/SetMfaCode"
|
|
7
|
+
}
|
|
8
|
+
export type AuthChallengeSetMfaCodeEffect = Effect<AuthChallengeMfaEffect.SetMfaCode, string>;
|
|
9
|
+
export type AuthChallengeMfaEffects = AuthChallengeSetMfaCodeEffect;
|
|
10
|
+
export type AuthChallengeSendMfaCodePayload = {
|
|
11
|
+
email: string;
|
|
12
|
+
session: string;
|
|
13
|
+
challenge: string;
|
|
14
|
+
mfaCode: string;
|
|
15
|
+
};
|
package/lib/esm/Auth/AuthChallengeSoftwareTokenMfa/logic/runtime/askAuthChallengeSendMfaCode.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { askStateRead } from 'quidproquo-core';
|
|
2
|
+
import { askPlatformRequest, askSaveAuthToken } from '../../../../platformLogic';
|
|
3
|
+
import { askAuthUISetAuthInfo } from '../../../logic';
|
|
4
|
+
export function* askAuthChallengeSendMfaCode(challenge, session, email) {
|
|
5
|
+
const { mfaCode } = yield* askStateRead('');
|
|
6
|
+
const response = yield* askPlatformRequest('POST', '/challenge', {
|
|
7
|
+
body: {
|
|
8
|
+
challenge,
|
|
9
|
+
email,
|
|
10
|
+
mfaCode,
|
|
11
|
+
session,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
if (response.status < 200 || response.status >= 300) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
yield* askSaveAuthToken(response.data);
|
|
18
|
+
yield* askAuthUISetAuthInfo(response.data);
|
|
19
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { askAuthChallengeSetMfaCode } from '../authActionCreator';
|
|
2
|
+
import { askAuthChallengeSendMfaCode } from './askAuthChallengeSendMfaCode';
|
|
3
|
+
export declare const authChallengeMfaLogic: {
|
|
4
|
+
askAuthChallengeSetMfaCode: typeof askAuthChallengeSetMfaCode;
|
|
5
|
+
askAuthChallengeSendMfaCode: typeof askAuthChallengeSendMfaCode;
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './authChallengeLogic';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './authChallengeLogic';
|
package/lib/esm/Auth/Login.d.ts
CHANGED
|
@@ -5,5 +5,5 @@ interface LoginProps {
|
|
|
5
5
|
setPassword: (password: string) => void;
|
|
6
6
|
onLogin: () => Promise<void>;
|
|
7
7
|
}
|
|
8
|
-
export declare function Login({ username, password, setUsername, setPassword, onLogin }: LoginProps): import("react
|
|
8
|
+
export declare function Login({ username, password, setUsername, setPassword, onLogin }: LoginProps): import("react").JSX.Element;
|
|
9
9
|
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const authRuntime: import("quidproquo-web-react").QpqRuntimeDefinition<import("./authTypes").AuthState, import("./authTypes").AuthEffects, {
|
|
2
|
+
askAuthLogin: typeof import("./runtime/askAuthLogin").askAuthLogin;
|
|
3
|
+
askAuthLogout: typeof import("./runtime/askAuthLogout").askAuthLogout;
|
|
4
|
+
askAuthMain: typeof import("./runtime/askAuthMain").askAuthMain;
|
|
5
|
+
askAuthUISetUsername: typeof import("./authActionCreator").askAuthUISetUsername;
|
|
6
|
+
askAuthUISetPassword: typeof import("./authActionCreator").askAuthUISetPassword;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createQpqRuntimeDefinition } from 'quidproquo-web-react';
|
|
2
|
+
import { authLogic } from './runtime/authLogic';
|
|
3
|
+
import { authInitalState, authReducer } from './authReducer';
|
|
4
|
+
export const authRuntime = createQpqRuntimeDefinition(authLogic, authInitalState, authReducer);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthenticateUserChallenge } from 'quidproquo-core';
|
|
2
|
+
import { askSaveAuthToken } from '../../../platformLogic';
|
|
3
|
+
import { askAuthUISetAuthInfo, askAuthUISetPassword } from '../authActionCreator';
|
|
4
|
+
export function* askAuthLogout() {
|
|
5
|
+
yield* askSaveAuthToken({
|
|
6
|
+
challenge: AuthenticateUserChallenge.NONE,
|
|
7
|
+
});
|
|
8
|
+
yield* askAuthUISetPassword('');
|
|
9
|
+
yield* askAuthUISetAuthInfo({
|
|
10
|
+
challenge: AuthenticateUserChallenge.NONE,
|
|
11
|
+
});
|
|
12
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { askAuthUISetPassword, askAuthUISetUsername } from '../authActionCreator';
|
|
2
2
|
import { askAuthLogin } from './askAuthLogin';
|
|
3
|
+
import { askAuthLogout } from './askAuthLogout';
|
|
3
4
|
import { askAuthMain } from './askAuthMain';
|
|
4
5
|
export declare const authLogic: {
|
|
5
6
|
askAuthLogin: typeof askAuthLogin;
|
|
7
|
+
askAuthLogout: typeof askAuthLogout;
|
|
6
8
|
askAuthMain: typeof askAuthMain;
|
|
7
9
|
askAuthUISetUsername: typeof askAuthUISetUsername;
|
|
8
10
|
askAuthUISetPassword: typeof askAuthUISetPassword;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { askAuthUISetPassword, askAuthUISetUsername } from '../authActionCreator';
|
|
2
2
|
import { askAuthLogin } from './askAuthLogin';
|
|
3
|
+
import { askAuthLogout } from './askAuthLogout';
|
|
3
4
|
import { askAuthMain } from './askAuthMain';
|
|
4
5
|
export const authLogic = {
|
|
5
6
|
askAuthLogin,
|
|
7
|
+
askAuthLogout,
|
|
6
8
|
askAuthMain,
|
|
7
9
|
askAuthUISetUsername,
|
|
8
10
|
askAuthUISetPassword,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BaseUrlResolvers } from 'quidproquo-web-react';
|
|
1
2
|
export type FederatedTab = {
|
|
2
3
|
name: string;
|
|
3
4
|
View: React.ComponentType;
|
|
@@ -7,3 +8,8 @@ export type FederatedAddon = {
|
|
|
7
8
|
tab: FederatedTab;
|
|
8
9
|
isQpqAdminFederatedAddon: boolean;
|
|
9
10
|
};
|
|
11
|
+
export type LoadFederatedAddonsContext = {
|
|
12
|
+
baseUrlResolvers: BaseUrlResolvers;
|
|
13
|
+
accessToken?: string;
|
|
14
|
+
};
|
|
15
|
+
export type LoadFederatedAddons = (context: LoadFederatedAddonsContext) => Promise<FederatedAddon[]>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { LoadFederatedAddons } from './FederatedAddon';
|
|
3
|
+
export type FederatedAddonProviderProps = {
|
|
4
|
+
loadAddons?: LoadFederatedAddons;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
};
|
|
7
|
+
export declare const FederatedAddonProvider: React.FC<FederatedAddonProviderProps>;
|
|
8
|
+
export declare const useLoadFederatedAddons: () => LoadFederatedAddons;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
// Default: no host loader provided, so there are no addons.
|
|
4
|
+
const noopLoadAddons = async () => [];
|
|
5
|
+
const FederatedAddonContext = createContext(noopLoadAddons);
|
|
6
|
+
export const FederatedAddonProvider = ({ loadAddons, children }) => (_jsx(FederatedAddonContext.Provider, { value: loadAddons ?? noopLoadAddons, children: children }));
|
|
7
|
+
export const useLoadFederatedAddons = () => useContext(FederatedAddonContext);
|
|
@@ -4,5 +4,5 @@ interface ActionHistoryItemProps {
|
|
|
4
4
|
result: any;
|
|
5
5
|
expanded: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare const ActionHistoryItem: ({ action, result, expanded }: ActionHistoryItemProps) => import("react
|
|
7
|
+
export declare const ActionHistoryItem: ({ action, result, expanded }: ActionHistoryItemProps) => import("react").JSX.Element;
|
|
8
8
|
export {};
|
|
@@ -2,5 +2,5 @@ interface ActionHistoryItemTimeStampProps {
|
|
|
2
2
|
startedAt: string;
|
|
3
3
|
finishedAt: string;
|
|
4
4
|
}
|
|
5
|
-
export declare const ActionHistoryItemTimeStamp: ({ startedAt, finishedAt }: ActionHistoryItemTimeStampProps) => import("react
|
|
5
|
+
export declare const ActionHistoryItemTimeStamp: ({ startedAt, finishedAt }: ActionHistoryItemTimeStampProps) => import("react").JSX.Element;
|
|
6
6
|
export {};
|
|
@@ -12,6 +12,6 @@ interface ActionRenderProps {
|
|
|
12
12
|
}
|
|
13
13
|
export declare const CoreBatchCustomAction: ActionComponent<SystemBatchActionPayload, any[]>;
|
|
14
14
|
export declare const AnyCustomAction: ActionComponent;
|
|
15
|
-
export declare const ActionRender: ({ action, result, isLegacy, expanded }: ActionRenderProps) => import("react
|
|
16
|
-
export declare const AnyActionHistoryItem: ({ action, result }: AnyActionHistoryItemProps) => import("react
|
|
15
|
+
export declare const ActionRender: ({ action, result, isLegacy, expanded }: ActionRenderProps) => import("react").JSX.Element;
|
|
16
|
+
export declare const AnyActionHistoryItem: ({ action, result }: AnyActionHistoryItemProps) => import("react").JSX.Element;
|
|
17
17
|
export {};
|
|
@@ -4,5 +4,5 @@ type AdminLogGridProps = {
|
|
|
4
4
|
isLoading: boolean;
|
|
5
5
|
searchProgress: number;
|
|
6
6
|
};
|
|
7
|
-
export declare const AdminLogGrid: ({ logs, isLoading, searchProgress }: AdminLogGridProps) => import("react
|
|
7
|
+
export declare const AdminLogGrid: ({ logs, isLoading, searchProgress }: AdminLogGridProps) => import("react").JSX.Element;
|
|
8
8
|
export {};
|