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/README.md
CHANGED
|
@@ -1,64 +1,76 @@
|
|
|
1
|
-
#
|
|
1
|
+
# quidproquo-web-admin — WIP, not for production
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
A React admin UI for Quidproquo backends — log viewing, config inspection, and
|
|
4
|
+
auth, wired to your deployed QPQ services.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
This package is a **React component library**, not a standalone app. It ships
|
|
7
|
+
dual CommonJS/ESM builds (plus type declarations) compiled with `tsc`. There is
|
|
8
|
+
no bundler — you import `<App />` into your own host application and build/serve
|
|
9
|
+
it however you like. React (`>=18.3.1`) is a peer dependency, so the host owns
|
|
10
|
+
the React instance.
|
|
7
11
|
|
|
8
|
-
|
|
12
|
+
## Install
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- View detailed information for each log entry.
|
|
14
|
+
```bash
|
|
15
|
+
npm install quidproquo-web-admin
|
|
16
|
+
```
|
|
14
17
|
|
|
15
|
-
##
|
|
18
|
+
## Usage
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
Mount `<App />`, telling it how to resolve the URLs of your deployed QPQ
|
|
21
|
+
services:
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
```tsx
|
|
24
|
+
import { App } from 'quidproquo-web-admin';
|
|
25
|
+
import { BaseUrlResolvers } from 'quidproquo-web-react';
|
|
26
|
+
import { createRoot } from 'react-dom/client';
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
const urlResolvers: BaseUrlResolvers = {
|
|
29
|
+
getApiUrl: () => 'https://api.example.com',
|
|
30
|
+
getWsUrl: () => 'wss://ws.example.com',
|
|
31
|
+
};
|
|
23
32
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
3. Run `npm install` to install the required dependencies.
|
|
27
|
-
4. Run `npm start` to start the development server.
|
|
33
|
+
createRoot(document.getElementById('root')!).render(<App urlResolvers={urlResolvers} />);
|
|
34
|
+
```
|
|
28
35
|
|
|
29
|
-
##
|
|
36
|
+
## Addons
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
The admin UI can be extended with addon tabs. `quidproquo-web-admin` does not
|
|
39
|
+
own the loading mechanism — the host application supplies a `loadAddons`
|
|
40
|
+
function (module federation, dynamic `import()`, a static array, whatever you
|
|
41
|
+
like), and the admin renders whatever addons it returns.
|
|
32
42
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
3. Select the web server whose logs you want to view.
|
|
36
|
-
4. Use the date and time filters to narrow down the list of logs.
|
|
37
|
-
5. Use the search bar to search for logs by keyword.
|
|
38
|
-
6. Click on a log entry to view detailed information about it.
|
|
43
|
+
```tsx
|
|
44
|
+
import { App, createAddon, LoadFederatedAddons } from 'quidproquo-web-admin';
|
|
39
45
|
|
|
40
|
-
|
|
46
|
+
const MyTab = () => <div>Hello from an addon</div>;
|
|
41
47
|
|
|
42
|
-
|
|
48
|
+
const loadAddons: LoadFederatedAddons = async ({ baseUrlResolvers, accessToken }) => [
|
|
49
|
+
createAddon('My Tab', MyTab),
|
|
50
|
+
];
|
|
43
51
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
3. Make your changes and test them locally.
|
|
47
|
-
4. Push your changes to your forked repository on GitHub.
|
|
48
|
-
5. Submit a pull request to the original repository.
|
|
52
|
+
<App urlResolvers={urlResolvers} loadAddons={loadAddons} />;
|
|
53
|
+
```
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
When `loadAddons` is omitted, no addons are loaded.
|
|
51
56
|
|
|
52
|
-
|
|
57
|
+
## Build
|
|
53
58
|
|
|
54
|
-
|
|
59
|
+
```bash
|
|
60
|
+
# from the repo root
|
|
61
|
+
npm run build -w quidproquo-web-admin
|
|
62
|
+
```
|
|
55
63
|
|
|
56
|
-
|
|
64
|
+
This runs `tsc` twice, emitting:
|
|
57
65
|
|
|
58
|
-
|
|
66
|
+
- `lib/esm` — ES modules (`module`, `types`)
|
|
67
|
+
- `lib/commonjs` — CommonJS (`main`)
|
|
59
68
|
|
|
60
|
-
|
|
69
|
+
```bash
|
|
70
|
+
# watch ESM during development
|
|
71
|
+
npm run watch -w quidproquo-web-admin
|
|
72
|
+
```
|
|
61
73
|
|
|
62
|
-
|
|
74
|
+
## License
|
|
63
75
|
|
|
64
|
-
|
|
76
|
+
MIT
|
|
@@ -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/commonjs/App/App.js
CHANGED
|
@@ -12,6 +12,7 @@ const CssBaseline_1 = __importDefault(require("@mui/material/CssBaseline"));
|
|
|
12
12
|
const styles_1 = require("@mui/material/styles");
|
|
13
13
|
const Auth_1 = require("../Auth/Auth");
|
|
14
14
|
const components_1 = require("../components");
|
|
15
|
+
const FederatedAddonProvider_1 = require("../FederatedAddonProvider");
|
|
15
16
|
const contexts_1 = require("../platformLogic/contexts");
|
|
16
17
|
const view_1 = require("../view");
|
|
17
18
|
const WebSocketAuthProvider_1 = require("../WebSocketAuthProvider");
|
|
@@ -20,11 +21,11 @@ const darkTheme = (0, styles_1.createTheme)({
|
|
|
20
21
|
mode: 'light',
|
|
21
22
|
},
|
|
22
23
|
});
|
|
23
|
-
const App = ({ urlResolvers }) => {
|
|
24
|
+
const App = ({ urlResolvers, loadAddons }) => {
|
|
24
25
|
const baseUrls = (0, react_1.useMemo)(() => ({
|
|
25
26
|
api: urlResolvers.getApiUrl(),
|
|
26
27
|
ws: urlResolvers.getWsUrl(),
|
|
27
28
|
}), [urlResolvers]);
|
|
28
|
-
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.QpqContextProvider, { contextIdentifier: contexts_1.baseUrlsContext, value: baseUrls, children: (0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(quidproquo_web_react_1.BaseUrlProvider, { urlResolvers: urlResolvers, children: (0, jsx_runtime_1.jsxs)(styles_1.ThemeProvider, { theme: darkTheme, children: [(0, jsx_runtime_1.jsx)(CssBaseline_1.default, {}), (0, jsx_runtime_1.jsx)(view_1.LoadingProvider, { children: (0, jsx_runtime_1.jsx)(Auth_1.Auth, { children: (0, jsx_runtime_1.jsx)(quidproquo_web_react_1.WebsocketProvider, { wsUrl: urlResolvers.getWsUrl(), children: (0, jsx_runtime_1.jsx)(WebSocketAuthProvider_1.WebSocketAuthProvider, { children: (0, jsx_runtime_1.jsx)(components_1.MainLayout, {}) }) }) }) })] }) }) }) }));
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.QpqContextProvider, { contextIdentifier: contexts_1.baseUrlsContext, value: baseUrls, children: (0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(quidproquo_web_react_1.BaseUrlProvider, { urlResolvers: urlResolvers, children: (0, jsx_runtime_1.jsxs)(styles_1.ThemeProvider, { theme: darkTheme, children: [(0, jsx_runtime_1.jsx)(CssBaseline_1.default, {}), (0, jsx_runtime_1.jsx)(view_1.LoadingProvider, { children: (0, jsx_runtime_1.jsx)(Auth_1.Auth, { children: (0, jsx_runtime_1.jsx)(quidproquo_web_react_1.WebsocketProvider, { wsUrl: urlResolvers.getWsUrl(), children: (0, jsx_runtime_1.jsx)(WebSocketAuthProvider_1.WebSocketAuthProvider, { children: (0, jsx_runtime_1.jsx)(FederatedAddonProvider_1.FederatedAddonProvider, { loadAddons: loadAddons, children: (0, jsx_runtime_1.jsx)(components_1.MainLayout, {}) }) }) }) }) })] }) }) }) }));
|
|
29
30
|
};
|
|
30
31
|
exports.App = App;
|
|
@@ -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 {};
|
|
@@ -4,24 +4,31 @@ exports.Auth = Auth;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const quidproquo_core_1 = require("quidproquo-core");
|
|
6
6
|
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
7
|
+
const AuthChallengeMfaSetup_1 = require("./AuthChallengeMfaSetup/AuthChallengeMfaSetup");
|
|
7
8
|
const AuthChallengeNewPasswordRequired_1 = require("./AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired");
|
|
9
|
+
const AuthChallengeSoftwareTokenMfa_1 = require("./AuthChallengeSoftwareTokenMfa/AuthChallengeSoftwareTokenMfa");
|
|
8
10
|
const isLoggedOn_1 = require("./logic/isLoggedOn");
|
|
9
11
|
const askAuthMain_1 = require("./logic/runtime/askAuthMain");
|
|
10
12
|
const logic_1 = require("./logic");
|
|
11
13
|
const Login_1 = require("./Login");
|
|
12
|
-
const authRuntime = (0, quidproquo_web_react_1.createQpqRuntimeDefinition)(logic_1.authLogic, logic_1.authInitalState, logic_1.authReducer);
|
|
13
14
|
function Auth({ children }) {
|
|
14
|
-
var _a, _b, _c, _d;
|
|
15
|
-
const [api, state, dispatch] = (0, quidproquo_web_react_1.useQpqRuntime)(authRuntime, askAuthMain_1.askAuthMain);
|
|
15
|
+
var _a, _b, _c, _d, _e, _f;
|
|
16
|
+
const [api, state, dispatch] = (0, quidproquo_web_react_1.useQpqRuntime)(logic_1.authRuntime, askAuthMain_1.askAuthMain);
|
|
16
17
|
const isAuthenticated = (0, isLoggedOn_1.isLoggedOn)(state);
|
|
17
18
|
if (((_a = state.authenticateUserResponse) === null || _a === void 0 ? void 0 : _a.challenge) === quidproquo_core_1.AuthenticateUserChallenge.NEW_PASSWORD_REQUIRED) {
|
|
18
|
-
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.QpqRuntimeEffectCatcher, { runtime: authRuntime, children: (0, jsx_runtime_1.jsx)(AuthChallengeNewPasswordRequired_1.AuthChallengeNewPasswordRequired, { authState: state }) }));
|
|
19
|
+
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.QpqRuntimeEffectCatcher, { runtime: logic_1.authRuntime, children: (0, jsx_runtime_1.jsx)(AuthChallengeNewPasswordRequired_1.AuthChallengeNewPasswordRequired, { authState: state }) }));
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
if (((_b = state.authenticateUserResponse) === null || _b === void 0 ? void 0 : _b.challenge) === quidproquo_core_1.AuthenticateUserChallenge.SOFTWARE_TOKEN_MFA) {
|
|
22
|
+
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.QpqRuntimeEffectCatcher, { runtime: logic_1.authRuntime, children: (0, jsx_runtime_1.jsx)(AuthChallengeSoftwareTokenMfa_1.AuthChallengeSoftwareTokenMfa, { authState: state }) }));
|
|
23
|
+
}
|
|
24
|
+
if (((_c = state.authenticateUserResponse) === null || _c === void 0 ? void 0 : _c.challenge) === quidproquo_core_1.AuthenticateUserChallenge.MFA_SETUP) {
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.QpqRuntimeEffectCatcher, { runtime: logic_1.authRuntime, children: (0, jsx_runtime_1.jsx)(AuthChallengeMfaSetup_1.AuthChallengeMfaSetup, { authState: state }) }));
|
|
26
|
+
}
|
|
27
|
+
return ((0, jsx_runtime_1.jsxs)(quidproquo_web_react_1.QpqRuntimeEffectCatcher, { runtime: logic_1.authRuntime, children: [!isAuthenticated && ((0, jsx_runtime_1.jsx)(Login_1.Login, { setUsername: api.authUISetUsername, setPassword: api.authUISetPassword, username: state.username, password: state.password, onLogin: api.authLogin })), isAuthenticated && ((0, jsx_runtime_1.jsx)(quidproquo_web_react_1.authContext.Provider, { value: {
|
|
28
|
+
challenge: (_d = state.authenticateUserResponse) === null || _d === void 0 ? void 0 : _d.challenge,
|
|
29
|
+
session: (_e = state.authenticateUserResponse) === null || _e === void 0 ? void 0 : _e.session,
|
|
23
30
|
username: state.username,
|
|
24
31
|
password: state.password,
|
|
25
|
-
authenticationInfo: (
|
|
32
|
+
authenticationInfo: (_f = state.authenticateUserResponse) === null || _f === void 0 ? void 0 : _f.authenticationInfo,
|
|
26
33
|
}, children: children }))] }));
|
|
27
34
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AuthChallengeMfaSetup = AuthChallengeMfaSetup;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
9
|
+
const react_1 = require("react");
|
|
10
|
+
const Lock_1 = __importDefault(require("@mui/icons-material/Lock"));
|
|
11
|
+
const Box_1 = __importDefault(require("@mui/material/Box"));
|
|
12
|
+
const Grid_1 = __importDefault(require("@mui/material/Grid"));
|
|
13
|
+
const TextField_1 = __importDefault(require("@mui/material/TextField"));
|
|
14
|
+
const Typography_1 = __importDefault(require("@mui/material/Typography"));
|
|
15
|
+
const components_1 = require("../../components");
|
|
16
|
+
const logic_1 = require("./logic");
|
|
17
|
+
const atom = (0, quidproquo_web_react_1.createQpqRuntimeDefinition)(logic_1.authChallengeMfaSetupLogic, logic_1.authChallengeMfaSetupInitalState, logic_1.authChallengeMfaSetupReducer);
|
|
18
|
+
// otpauth:// URI consumed by authenticator apps when scanning / importing.
|
|
19
|
+
const buildOtpAuthUri = (email, secretCode) => {
|
|
20
|
+
const issuer = window.location.host;
|
|
21
|
+
const label = encodeURIComponent(`${issuer}:${email}`);
|
|
22
|
+
return `otpauth://totp/${label}?secret=${secretCode}&issuer=${encodeURIComponent(issuer)}`;
|
|
23
|
+
};
|
|
24
|
+
function AuthChallengeMfaSetup({ authState }) {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const [api, state] = (0, quidproquo_web_react_1.useQpqRuntime)(atom);
|
|
27
|
+
const isCodeValid = /^\d{6}$/.test(state.mfaCode);
|
|
28
|
+
const challenge = (_a = authState.authenticateUserResponse) === null || _a === void 0 ? void 0 : _a.challenge;
|
|
29
|
+
const session = (_b = authState.authenticateUserResponse) === null || _b === void 0 ? void 0 : _b.session;
|
|
30
|
+
// Associate a software token once, using the MFA_SETUP challenge session.
|
|
31
|
+
const hasAssociated = (0, react_1.useRef)(false);
|
|
32
|
+
(0, react_1.useEffect)(() => {
|
|
33
|
+
if (!hasAssociated.current && session) {
|
|
34
|
+
hasAssociated.current = true;
|
|
35
|
+
api.authChallengeAssociateSoftwareToken(session);
|
|
36
|
+
}
|
|
37
|
+
}, [api, session]);
|
|
38
|
+
if (!challenge || !session) {
|
|
39
|
+
return (0, jsx_runtime_1.jsx)("div", { children: "Error, missing challenge / session" });
|
|
40
|
+
}
|
|
41
|
+
return ((0, jsx_runtime_1.jsx)(Box_1.default, { sx: {
|
|
42
|
+
height: '100vh',
|
|
43
|
+
width: '100%',
|
|
44
|
+
p: 2,
|
|
45
|
+
display: 'flex',
|
|
46
|
+
flexDirection: 'column',
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
}, children: (0, jsx_runtime_1.jsx)(Box_1.default, { component: "form", sx: { width: '100%', maxWidth: 360 }, children: (0, jsx_runtime_1.jsxs)(Grid_1.default, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsxs)(Typography_1.default, { variant: "h5", gutterBottom: true, sx: { display: 'flex', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsx)(Lock_1.default, { sx: { marginRight: 1 } }), "Set Up Authenticator"] }) }), (0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(Typography_1.default, { variant: "body2", color: "text.secondary", children: "Add this account to your authenticator app, then enter the 6-digit code it generates." }) }), (0, jsx_runtime_1.jsxs)(Grid_1.default, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsx)(Typography_1.default, { variant: "caption", color: "text.secondary", children: "Secret key" }), (0, jsx_runtime_1.jsx)(Typography_1.default, { variant: "body1", sx: { fontFamily: 'monospace', wordBreak: 'break-all' }, children: state.secretCode || 'Loading…' })] }), state.secretCode && ((0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(Typography_1.default, { variant: "caption", color: "text.secondary", sx: { wordBreak: 'break-all' }, children: buildOtpAuthUri(authState.username, state.secretCode) }) })), (0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(TextField_1.default, { 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, '')) }) }), (0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(components_1.AsyncButton, { onClick: () => api.authChallengeSendMfaSetupCode(challenge, authState.username), disabled: !isCodeValid || !state.secretCode, children: "Verify" }) })] }) }) }));
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AuthChallengeMfaSetup';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./AuthChallengeMfaSetup"), exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askAuthChallengeSetMfaSetupCode = askAuthChallengeSetMfaSetupCode;
|
|
4
|
+
exports.askAuthChallengeSetMfaSetupAssociation = askAuthChallengeSetMfaSetupAssociation;
|
|
5
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
6
|
+
const authChallengeTypes_1 = require("./authChallengeTypes");
|
|
7
|
+
function* askAuthChallengeSetMfaSetupCode(mfaCode) {
|
|
8
|
+
yield* (0, quidproquo_core_1.askStateDispatchEffect)(authChallengeTypes_1.AuthChallengeMfaSetupEffect.SetMfaCode, mfaCode);
|
|
9
|
+
}
|
|
10
|
+
function* askAuthChallengeSetMfaSetupAssociation(secretCode, session) {
|
|
11
|
+
yield* (0, quidproquo_core_1.askStateDispatchEffect)(authChallengeTypes_1.AuthChallengeMfaSetupEffect.SetAssociation, {
|
|
12
|
+
secretCode,
|
|
13
|
+
session,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
@@ -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,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authChallengeMfaSetupReducer = exports.authChallengeMfaSetupInitalState = void 0;
|
|
4
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
|
+
const authChallengeTypes_1 = require("./authChallengeTypes");
|
|
6
|
+
exports.authChallengeMfaSetupInitalState = {
|
|
7
|
+
secretCode: '',
|
|
8
|
+
session: '',
|
|
9
|
+
mfaCode: '',
|
|
10
|
+
};
|
|
11
|
+
exports.authChallengeMfaSetupReducer = (0, quidproquo_core_1.buildMutableEffectReducer)({
|
|
12
|
+
[authChallengeTypes_1.AuthChallengeMfaSetupEffect.SetMfaCode]: (state, mfaCode) => {
|
|
13
|
+
state.mfaCode = mfaCode;
|
|
14
|
+
},
|
|
15
|
+
[authChallengeTypes_1.AuthChallengeMfaSetupEffect.SetAssociation]: (state, { secretCode, session }) => {
|
|
16
|
+
state.secretCode = secretCode;
|
|
17
|
+
state.session = session;
|
|
18
|
+
},
|
|
19
|
+
});
|
|
@@ -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,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthChallengeMfaSetupEffect = void 0;
|
|
4
|
+
var AuthChallengeMfaSetupEffect;
|
|
5
|
+
(function (AuthChallengeMfaSetupEffect) {
|
|
6
|
+
AuthChallengeMfaSetupEffect["SetMfaCode"] = "authMfaSetup/SetMfaCode";
|
|
7
|
+
AuthChallengeMfaSetupEffect["SetAssociation"] = "authMfaSetup/SetAssociation";
|
|
8
|
+
})(AuthChallengeMfaSetupEffect || (exports.AuthChallengeMfaSetupEffect = AuthChallengeMfaSetupEffect = {}));
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./authActionCreator"), exports);
|
|
18
|
+
__exportStar(require("./authChallengeReducer"), exports);
|
|
19
|
+
__exportStar(require("./authChallengeTypes"), exports);
|
|
20
|
+
__exportStar(require("./runtime"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askAuthChallengeAssociateSoftwareToken = askAuthChallengeAssociateSoftwareToken;
|
|
4
|
+
const platformLogic_1 = require("../../../../platformLogic");
|
|
5
|
+
const authActionCreator_1 = require("../authActionCreator");
|
|
6
|
+
// Kicks off TOTP enrollment: trades the MFA_SETUP challenge session for the
|
|
7
|
+
// shared secret (to show as a QR / manual key) and a refreshed session.
|
|
8
|
+
function* askAuthChallengeAssociateSoftwareToken(session) {
|
|
9
|
+
const response = yield* (0, platformLogic_1.askPlatformRequest)('POST', '/associateSoftwareToken', {
|
|
10
|
+
body: {
|
|
11
|
+
session,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
if (response.status < 200 || response.status >= 300) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
yield* (0, authActionCreator_1.askAuthChallengeSetMfaSetupAssociation)(response.data.secretCode, response.data.session);
|
|
18
|
+
}
|
package/lib/commonjs/Auth/AuthChallengeMfaSetup/logic/runtime/askAuthChallengeSendMfaSetupCode.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askAuthChallengeSendMfaSetupCode = askAuthChallengeSendMfaSetupCode;
|
|
4
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
|
+
const platformLogic_1 = require("../../../../platformLogic");
|
|
6
|
+
const logic_1 = require("../../../logic");
|
|
7
|
+
// Completes MFA_SETUP. Sends the first TOTP code together with the refreshed
|
|
8
|
+
// session from the associate step; the server verifies the code and finishes login.
|
|
9
|
+
function* askAuthChallengeSendMfaSetupCode(challenge, email) {
|
|
10
|
+
const { mfaCode, session } = yield* (0, quidproquo_core_1.askStateRead)('');
|
|
11
|
+
const response = yield* (0, platformLogic_1.askPlatformRequest)('POST', '/challenge', {
|
|
12
|
+
body: {
|
|
13
|
+
challenge,
|
|
14
|
+
email,
|
|
15
|
+
mfaCode,
|
|
16
|
+
session,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
if (response.status < 200 || response.status >= 300) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
yield* (0, platformLogic_1.askSaveAuthToken)(response.data);
|
|
23
|
+
yield* (0, logic_1.askAuthUISetAuthInfo)(response.data);
|
|
24
|
+
}
|
|
@@ -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,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authChallengeMfaSetupLogic = void 0;
|
|
4
|
+
const authActionCreator_1 = require("../authActionCreator");
|
|
5
|
+
const askAuthChallengeAssociateSoftwareToken_1 = require("./askAuthChallengeAssociateSoftwareToken");
|
|
6
|
+
const askAuthChallengeSendMfaSetupCode_1 = require("./askAuthChallengeSendMfaSetupCode");
|
|
7
|
+
exports.authChallengeMfaSetupLogic = {
|
|
8
|
+
askAuthChallengeSetMfaSetupCode: authActionCreator_1.askAuthChallengeSetMfaSetupCode,
|
|
9
|
+
askAuthChallengeAssociateSoftwareToken: askAuthChallengeAssociateSoftwareToken_1.askAuthChallengeAssociateSoftwareToken,
|
|
10
|
+
askAuthChallengeSendMfaSetupCode: askAuthChallengeSendMfaSetupCode_1.askAuthChallengeSendMfaSetupCode,
|
|
11
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './authChallengeLogic';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./authChallengeLogic"), exports);
|
package/lib/commonjs/Auth/AuthChallengeNewPasswordRequired/AuthChallengeNewPasswordRequired.d.ts
CHANGED
|
@@ -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,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AuthChallengeSoftwareTokenMfa = AuthChallengeSoftwareTokenMfa;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
/* eslint-disable @typescript-eslint/no-non-null-asserted-optional-chain */
|
|
9
|
+
const quidproquo_web_react_1 = require("quidproquo-web-react");
|
|
10
|
+
const Lock_1 = __importDefault(require("@mui/icons-material/Lock"));
|
|
11
|
+
const Box_1 = __importDefault(require("@mui/material/Box"));
|
|
12
|
+
const Grid_1 = __importDefault(require("@mui/material/Grid"));
|
|
13
|
+
const TextField_1 = __importDefault(require("@mui/material/TextField"));
|
|
14
|
+
const Typography_1 = __importDefault(require("@mui/material/Typography"));
|
|
15
|
+
const components_1 = require("../../components");
|
|
16
|
+
const logic_1 = require("./logic");
|
|
17
|
+
const atom = (0, quidproquo_web_react_1.createQpqRuntimeDefinition)(logic_1.authChallengeMfaLogic, logic_1.authChallengeMfaInitalState, logic_1.authChallengeMfaReducer);
|
|
18
|
+
function AuthChallengeSoftwareTokenMfa({ authState }) {
|
|
19
|
+
const [api, state] = (0, quidproquo_web_react_1.useQpqRuntime)(atom);
|
|
20
|
+
const isCodeValid = /^\d{6}$/.test(state.mfaCode);
|
|
21
|
+
if (!authState.authenticateUserResponse || !authState.authenticateUserResponse.challenge || !authState.authenticateUserResponse.session) {
|
|
22
|
+
return (0, jsx_runtime_1.jsx)("div", { children: "Error, missing challenge / session" });
|
|
23
|
+
}
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)(Box_1.default, { sx: {
|
|
25
|
+
height: '100vh',
|
|
26
|
+
width: '100%',
|
|
27
|
+
p: 2,
|
|
28
|
+
display: 'flex',
|
|
29
|
+
flexDirection: 'column',
|
|
30
|
+
justifyContent: 'center',
|
|
31
|
+
alignItems: 'center',
|
|
32
|
+
}, children: (0, jsx_runtime_1.jsx)(Box_1.default, { component: "form", sx: { width: '100%', maxWidth: 360 }, children: (0, jsx_runtime_1.jsxs)(Grid_1.default, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsxs)(Typography_1.default, { variant: "h5", gutterBottom: true, sx: { display: 'flex', alignItems: 'center' }, children: [(0, jsx_runtime_1.jsx)(Lock_1.default, { sx: { marginRight: 1 } }), "Verification Code"] }) }), (0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(Typography_1.default, { variant: "body2", color: "text.secondary", children: "Enter the 6-digit code from your authenticator app." }) }), (0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(TextField_1.default, { 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, '')) }) }), (0, jsx_runtime_1.jsx)(Grid_1.default, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(components_1.AsyncButton, { onClick: () => {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
return api.authChallengeSendMfaCode((_a = authState.authenticateUserResponse) === null || _a === void 0 ? void 0 : _a.challenge, (_b = authState.authenticateUserResponse) === null || _b === void 0 ? void 0 : _b.session, authState.username);
|
|
35
|
+
}, disabled: !isCodeValid, children: "Verify" }) })] }) }) }));
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './AuthChallengeSoftwareTokenMfa';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./AuthChallengeSoftwareTokenMfa"), exports);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.askAuthChallengeSetMfaCode = askAuthChallengeSetMfaCode;
|
|
4
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
|
+
const authChallengeTypes_1 = require("./authChallengeTypes");
|
|
6
|
+
function* askAuthChallengeSetMfaCode(mfaCode) {
|
|
7
|
+
yield* (0, quidproquo_core_1.askStateDispatchEffect)(authChallengeTypes_1.AuthChallengeMfaEffect.SetMfaCode, mfaCode);
|
|
8
|
+
}
|
|
@@ -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,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authChallengeMfaReducer = exports.authChallengeMfaInitalState = void 0;
|
|
4
|
+
const quidproquo_core_1 = require("quidproquo-core");
|
|
5
|
+
const authChallengeTypes_1 = require("./authChallengeTypes");
|
|
6
|
+
exports.authChallengeMfaInitalState = {
|
|
7
|
+
mfaCode: '',
|
|
8
|
+
};
|
|
9
|
+
exports.authChallengeMfaReducer = (0, quidproquo_core_1.buildMutableEffectReducer)({
|
|
10
|
+
[authChallengeTypes_1.AuthChallengeMfaEffect.SetMfaCode]: (state, mfaCode) => {
|
|
11
|
+
state.mfaCode = mfaCode;
|
|
12
|
+
},
|
|
13
|
+
});
|