@databiosphere/findable-ui 19.0.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +11 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.d.ts +2 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.js +29 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/types.d.ts +6 -0
- package/lib/components/Authentication/components/SessionController/components/GoogleSessionController/types.js +1 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/SessionController.d.ts +2 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/SessionController.js +17 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/constants.d.ts +5 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/constants.js +12 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/types.d.ts +4 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/types.js +1 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/utils.d.ts +15 -0
- package/lib/components/Authentication/components/SessionController/components/NextSessionController/utils.js +53 -0
- package/lib/components/ComponentCreator/ComponentCreator.js +2 -3
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.js +2 -2
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.js +1 -1
- package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm.js +8 -3
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.d.ts +2 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.js +17 -14
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.d.ts +3 -4
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.js +15 -24
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.js +2 -2
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.d.ts +2 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.js +14 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.js +3 -2
- package/lib/components/Layout/components/Header/header.js +1 -1
- package/lib/components/Login/components/Button/button.d.ts +2 -0
- package/lib/components/Login/components/Button/button.js +6 -0
- package/lib/components/Login/components/Button/button.styles.d.ts +5 -0
- package/lib/components/Login/components/Button/button.styles.js +11 -0
- package/lib/components/Login/components/Button/constants.d.ts +2 -0
- package/lib/components/Login/components/Button/constants.js +6 -0
- package/lib/components/Login/components/Button/types.d.ts +3 -0
- package/lib/components/Login/components/Button/types.js +1 -0
- package/lib/components/Login/login.d.ts +2 -9
- package/lib/components/Login/login.js +9 -10
- package/lib/components/Login/types.d.ts +10 -0
- package/lib/components/Login/types.js +1 -0
- package/lib/components/common/Banner/components/SessionTimeout/sessionTimeout.js +1 -1
- package/lib/components/common/CustomIcon/common/entities.d.ts +1 -4
- package/lib/components/common/CustomIcon/components/GoogleIcon/googleIcon.d.ts +2 -2
- package/lib/components/common/CustomIcon/components/GoogleIcon/googleIcon.js +1 -1
- package/lib/config/entities.d.ts +22 -23
- package/lib/hooks/authentication/auth/useAuthReducer.d.ts +2 -0
- package/lib/hooks/authentication/auth/useAuthReducer.js +8 -0
- package/lib/hooks/authentication/authentication/useAuthenticationReducer.d.ts +2 -0
- package/lib/hooks/authentication/authentication/useAuthenticationReducer.js +8 -0
- package/lib/hooks/authentication/config/useAuthenticationConfig.d.ts +6 -0
- package/lib/hooks/authentication/config/useAuthenticationConfig.js +9 -0
- package/lib/hooks/authentication/credentials/useCredentialsReducer.d.ts +2 -0
- package/lib/hooks/authentication/credentials/useCredentialsReducer.js +7 -0
- package/lib/hooks/authentication/profile/types.d.ts +5 -0
- package/lib/hooks/authentication/profile/types.js +1 -0
- package/lib/hooks/authentication/profile/useProfile.d.ts +6 -0
- package/lib/hooks/authentication/profile/useProfile.js +15 -0
- package/lib/hooks/authentication/providers/types.d.ts +6 -0
- package/lib/hooks/authentication/providers/types.js +1 -0
- package/lib/hooks/authentication/providers/useProviders.d.ts +6 -0
- package/lib/hooks/authentication/providers/useProviders.js +14 -0
- package/lib/hooks/authentication/session/useSessionActive.d.ts +12 -0
- package/lib/hooks/authentication/session/useSessionActive.js +36 -0
- package/lib/hooks/authentication/session/useSessionCallbackUrl.d.ts +4 -0
- package/lib/hooks/authentication/session/useSessionCallbackUrl.js +20 -0
- package/lib/hooks/authentication/session/useSessionIdleTimer.d.ts +6 -0
- package/lib/hooks/authentication/session/useSessionIdleTimer.js +8 -0
- package/lib/hooks/{useSessionTimeout.js → authentication/session/useSessionTimeout.js} +2 -2
- package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.d.ts +0 -1
- package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.js +6 -9
- package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.js +3 -4
- package/lib/hooks/authentication/token/types.d.ts +4 -0
- package/lib/hooks/authentication/token/types.js +1 -0
- package/lib/hooks/authentication/token/useToken.d.ts +2 -0
- package/lib/hooks/authentication/token/useToken.js +5 -0
- package/lib/hooks/authentication/token/useTokenReducer.d.ts +7 -0
- package/lib/hooks/authentication/token/useTokenReducer.js +12 -0
- package/lib/hooks/useEntityList.js +2 -2
- package/lib/hooks/useFetchEntity.js +4 -3
- package/lib/hooks/useFileManifest/useFetchFilesFacets.js +2 -3
- package/lib/hooks/useFileManifest/useFetchSummary.js +2 -3
- package/lib/hooks/useRequestFileLocation.js +2 -3
- package/lib/hooks/useRouteHistory.d.ts +14 -0
- package/lib/hooks/useRouteHistory.js +40 -0
- package/lib/hooks/useRouteRoot.d.ts +1 -0
- package/lib/hooks/useRouteRoot.js +8 -0
- package/lib/hooks/useSummary.js +3 -3
- package/lib/providers/authentication/auth/actions.d.ts +8 -0
- package/lib/providers/authentication/auth/actions.js +12 -0
- package/lib/providers/authentication/auth/constants.d.ts +2 -0
- package/lib/providers/authentication/auth/constants.js +5 -0
- package/lib/providers/authentication/auth/context.d.ts +2 -0
- package/lib/providers/authentication/auth/context.js +7 -0
- package/lib/providers/authentication/auth/dispatch.d.ts +23 -0
- package/lib/providers/authentication/auth/dispatch.js +43 -0
- package/lib/providers/authentication/auth/hook.d.ts +6 -0
- package/lib/providers/authentication/auth/hook.js +9 -0
- package/lib/providers/authentication/auth/reducer.d.ts +8 -0
- package/lib/providers/authentication/auth/reducer.js +24 -0
- package/lib/providers/authentication/auth/types.d.ts +48 -0
- package/lib/providers/authentication/auth/types.js +11 -0
- package/lib/providers/authentication/authentication/actions.d.ts +8 -0
- package/lib/providers/authentication/authentication/actions.js +12 -0
- package/lib/providers/authentication/authentication/constants.d.ts +2 -0
- package/lib/providers/authentication/authentication/constants.js +5 -0
- package/lib/providers/authentication/authentication/context.d.ts +2 -0
- package/lib/providers/authentication/authentication/context.js +6 -0
- package/lib/providers/authentication/authentication/dispatch.d.ts +22 -0
- package/lib/providers/authentication/authentication/dispatch.js +42 -0
- package/lib/providers/authentication/authentication/hook.d.ts +6 -0
- package/lib/providers/authentication/authentication/hook.js +9 -0
- package/lib/providers/authentication/authentication/reducer.d.ts +9 -0
- package/lib/providers/authentication/authentication/reducer.js +25 -0
- package/lib/providers/authentication/authentication/types.d.ts +47 -0
- package/lib/providers/authentication/authentication/types.js +11 -0
- package/lib/providers/authentication/authentication/utils.d.ts +12 -0
- package/lib/providers/authentication/authentication/utils.js +18 -0
- package/lib/providers/authentication/common/types.d.ts +1 -0
- package/lib/providers/authentication/common/types.js +1 -0
- package/lib/providers/authentication/common/utils.d.ts +6 -0
- package/lib/providers/authentication/common/utils.js +11 -0
- package/lib/providers/authentication/credentials/actions.d.ts +8 -0
- package/lib/providers/authentication/credentials/actions.js +12 -0
- package/lib/providers/authentication/credentials/constants.d.ts +2 -0
- package/lib/providers/authentication/credentials/constants.js +3 -0
- package/lib/providers/authentication/credentials/context.d.ts +2 -0
- package/lib/providers/authentication/credentials/context.js +6 -0
- package/lib/providers/authentication/credentials/dispatch.d.ts +12 -0
- package/lib/providers/authentication/credentials/dispatch.js +22 -0
- package/lib/providers/authentication/credentials/hook.d.ts +6 -0
- package/lib/providers/authentication/credentials/hook.js +9 -0
- package/lib/providers/authentication/credentials/reducer.d.ts +8 -0
- package/lib/providers/authentication/credentials/reducer.js +22 -0
- package/lib/providers/authentication/credentials/types.d.ts +24 -0
- package/lib/providers/authentication/credentials/types.js +5 -0
- package/lib/providers/authentication/terra/context.d.ts +2 -0
- package/lib/providers/authentication/terra/context.js +7 -0
- package/lib/providers/authentication/terra/hook.d.ts +6 -0
- package/lib/providers/authentication/terra/hook.js +9 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.d.ts +2 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.js +7 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.d.ts +3 -7
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.js +1 -5
- package/lib/providers/authentication/terra/hooks/useFetchProfiles.d.ts +13 -0
- package/lib/providers/authentication/terra/hooks/useFetchProfiles.js +31 -0
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.js +11 -6
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.js +11 -6
- package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.js +11 -6
- package/lib/providers/authentication/terra/hooks/utils.d.ts +16 -0
- package/lib/providers/authentication/terra/hooks/utils.js +19 -0
- package/lib/providers/authentication/terra/provider.d.ts +2 -0
- package/lib/providers/authentication/terra/provider.js +42 -0
- package/lib/providers/authentication/terra/types.d.ts +20 -0
- package/lib/providers/authentication/terra/types.js +6 -0
- package/lib/providers/authentication/terra/utils.d.ts +19 -0
- package/lib/providers/authentication/terra/utils.js +36 -0
- package/lib/providers/authentication/token/constants.d.ts +2 -0
- package/lib/providers/authentication/token/constants.js +4 -0
- package/lib/providers/authentication/token/dispatch.d.ts +12 -0
- package/lib/providers/authentication/token/dispatch.js +22 -0
- package/lib/providers/authentication/token/reducer.d.ts +8 -0
- package/lib/providers/authentication/token/reducer.js +22 -0
- package/lib/providers/authentication/token/types.d.ts +28 -0
- package/lib/providers/authentication/token/types.js +5 -0
- package/lib/providers/exploreState.js +3 -5
- package/lib/providers/googleSignInAuthentication/common/types.d.ts +17 -0
- package/lib/providers/googleSignInAuthentication/common/types.js +1 -0
- package/lib/providers/googleSignInAuthentication/constants.d.ts +4 -0
- package/lib/providers/googleSignInAuthentication/constants.js +12 -0
- package/lib/providers/googleSignInAuthentication/hooks/useGoogleSignInService.d.ts +3 -0
- package/lib/providers/googleSignInAuthentication/hooks/useGoogleSignInService.js +36 -0
- package/lib/providers/googleSignInAuthentication/profile/types.d.ts +14 -0
- package/lib/providers/googleSignInAuthentication/profile/types.js +1 -0
- package/lib/providers/googleSignInAuthentication/profile/utils.d.ts +8 -0
- package/lib/providers/googleSignInAuthentication/profile/utils.js +25 -0
- package/lib/providers/googleSignInAuthentication/provider.d.ts +2 -0
- package/lib/providers/googleSignInAuthentication/provider.js +40 -0
- package/lib/providers/googleSignInAuthentication/service/constants.d.ts +4 -0
- package/lib/providers/googleSignInAuthentication/service/constants.js +9 -0
- package/lib/providers/googleSignInAuthentication/service/service.d.ts +6 -0
- package/lib/providers/googleSignInAuthentication/service/service.js +43 -0
- package/lib/providers/googleSignInAuthentication/types.d.ts +6 -0
- package/lib/providers/googleSignInAuthentication/types.js +1 -0
- package/lib/providers/nextAuthAuthentication/hooks/useNextAuthService.d.ts +2 -0
- package/lib/providers/nextAuthAuthentication/hooks/useNextAuthService.js +14 -0
- package/lib/providers/nextAuthAuthentication/provider.d.ts +2 -0
- package/lib/providers/nextAuthAuthentication/provider.js +30 -0
- package/lib/providers/nextAuthAuthentication/service/service.d.ts +6 -0
- package/lib/providers/nextAuthAuthentication/service/service.js +12 -0
- package/lib/providers/nextAuthAuthentication/types.d.ts +8 -0
- package/lib/providers/nextAuthAuthentication/types.js +1 -0
- package/lib/routes/constants.d.ts +3 -0
- package/lib/routes/constants.js +3 -0
- package/lib/styles/common/mui/button.d.ts +3 -0
- package/lib/styles/common/mui/button.js +17 -0
- package/lib/styles/common/mui/paper.d.ts +2 -0
- package/lib/styles/common/mui/paper.js +9 -0
- package/lib/styles/common/mui/popover.d.ts +3 -0
- package/lib/styles/common/mui/popover.js +10 -0
- package/lib/theme/common/entities.d.ts +6 -0
- package/lib/theme/common/entities.js +1 -0
- package/lib/views/LoginView/loginView.d.ts +5 -1
- package/lib/views/LoginView/loginView.js +6 -4
- package/package.json +3 -2
- package/src/components/Authentication/components/SessionController/components/GoogleSessionController/SessionController.tsx +38 -0
- package/src/components/Authentication/components/SessionController/components/GoogleSessionController/types.ts +7 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/SessionController.tsx +23 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/constants.ts +21 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/types.ts +5 -0
- package/src/components/Authentication/components/SessionController/components/NextSessionController/utils.ts +74 -0
- package/src/components/ComponentCreator/ComponentCreator.tsx +4 -3
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/FormStep/components/AcceptTerraTOS/acceptTerraTOS.tsx +4 -4
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.tsx +1 -1
- package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/terraSetUpForm.tsx +9 -6
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.tsx +27 -25
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.ts +2 -2
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.tsx +18 -42
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/constants.ts +19 -0
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.ts +3 -2
- package/src/components/Layout/components/Header/header.tsx +1 -1
- package/src/components/Login/components/Button/button.styles.ts +12 -0
- package/src/components/Login/components/Button/button.tsx +8 -0
- package/src/components/Login/components/Button/constants.ts +8 -0
- package/src/components/Login/components/Button/types.ts +4 -0
- package/src/components/Login/login.tsx +28 -28
- package/src/components/Login/types.ts +11 -0
- package/src/components/common/Banner/components/SessionTimeout/sessionTimeout.tsx +1 -1
- package/src/components/common/CustomIcon/common/entities.ts +1 -4
- package/src/components/common/CustomIcon/components/GoogleIcon/googleIcon.tsx +3 -4
- package/src/config/entities.ts +20 -25
- package/src/hooks/authentication/auth/useAuthReducer.ts +16 -0
- package/src/hooks/authentication/authentication/useAuthenticationReducer.ts +16 -0
- package/src/hooks/authentication/config/useAuthenticationConfig.ts +13 -0
- package/src/hooks/authentication/credentials/useCredentialsReducer.ts +13 -0
- package/src/hooks/authentication/profile/types.ts +9 -0
- package/src/hooks/authentication/profile/useProfile.ts +21 -0
- package/src/hooks/authentication/providers/types.ts +7 -0
- package/src/hooks/authentication/providers/useProviders.ts +23 -0
- package/src/hooks/authentication/session/useSessionActive.ts +51 -0
- package/src/hooks/authentication/session/useSessionCallbackUrl.ts +25 -0
- package/src/hooks/authentication/session/useSessionIdleTimer.ts +10 -0
- package/src/hooks/{useSessionTimeout.ts → authentication/session/useSessionTimeout.ts} +2 -2
- package/src/hooks/{useAuthentication → authentication/terra}/useAuthenticationForm.ts +8 -13
- package/src/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.ts +3 -4
- package/src/hooks/authentication/token/types.ts +5 -0
- package/src/hooks/authentication/token/useToken.ts +9 -0
- package/src/hooks/authentication/token/useTokenReducer.ts +19 -0
- package/src/hooks/useEntityList.ts +2 -2
- package/src/hooks/useFetchEntity.tsx +3 -3
- package/src/hooks/useFileManifest/useFetchFilesFacets.ts +2 -3
- package/src/hooks/useFileManifest/useFetchSummary.ts +2 -3
- package/src/hooks/useRequestFileLocation.ts +2 -3
- package/src/hooks/useRouteHistory.ts +65 -0
- package/src/hooks/useRouteRoot.ts +11 -0
- package/src/hooks/useSummary.ts +3 -3
- package/src/providers/authentication/auth/actions.ts +17 -0
- package/src/providers/authentication/auth/constants.ts +6 -0
- package/src/providers/authentication/auth/context.ts +9 -0
- package/src/providers/authentication/auth/dispatch.ts +58 -0
- package/src/providers/authentication/auth/hook.ts +11 -0
- package/src/providers/authentication/auth/reducer.ts +25 -0
- package/src/providers/authentication/auth/types.ts +63 -0
- package/src/providers/authentication/authentication/actions.ts +17 -0
- package/src/providers/authentication/authentication/constants.ts +6 -0
- package/src/providers/authentication/authentication/context.ts +8 -0
- package/src/providers/authentication/authentication/dispatch.ts +55 -0
- package/src/providers/authentication/authentication/hook.ts +11 -0
- package/src/providers/authentication/authentication/reducer.ts +34 -0
- package/src/providers/authentication/authentication/types.ts +64 -0
- package/src/providers/authentication/authentication/utils.ts +25 -0
- package/src/providers/authentication/common/types.ts +1 -0
- package/src/providers/authentication/common/utils.ts +11 -0
- package/src/providers/authentication/credentials/actions.ts +17 -0
- package/src/providers/authentication/credentials/constants.ts +5 -0
- package/src/providers/authentication/credentials/context.ts +8 -0
- package/src/providers/authentication/credentials/dispatch.ts +31 -0
- package/src/providers/authentication/credentials/hook.ts +11 -0
- package/src/providers/authentication/credentials/reducer.ts +30 -0
- package/src/providers/authentication/credentials/types.ts +33 -0
- package/src/providers/authentication/terra/context.ts +16 -0
- package/src/providers/authentication/terra/hook.ts +11 -0
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/constants.ts +9 -0
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/entities.ts +1 -7
- package/src/providers/authentication/terra/hooks/useFetchProfiles.ts +61 -0
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.ts +18 -7
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.ts +18 -7
- package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.ts +18 -7
- package/src/providers/authentication/terra/hooks/utils.ts +29 -0
- package/src/providers/authentication/terra/provider.tsx +60 -0
- package/src/providers/authentication/terra/types.ts +23 -0
- package/src/providers/authentication/terra/utils.ts +49 -0
- package/src/providers/authentication/token/constants.ts +6 -0
- package/src/providers/authentication/token/dispatch.ts +29 -0
- package/src/providers/authentication/token/reducer.ts +26 -0
- package/src/providers/authentication/token/types.ts +36 -0
- package/src/providers/exploreState.tsx +3 -4
- package/src/providers/googleSignInAuthentication/common/types.ts +28 -0
- package/src/providers/googleSignInAuthentication/constants.ts +17 -0
- package/src/providers/googleSignInAuthentication/hooks/useGoogleSignInService.ts +53 -0
- package/src/providers/googleSignInAuthentication/profile/types.ts +15 -0
- package/src/providers/googleSignInAuthentication/profile/utils.ts +29 -0
- package/src/providers/googleSignInAuthentication/provider.tsx +53 -0
- package/src/providers/googleSignInAuthentication/service/constants.ts +16 -0
- package/src/providers/googleSignInAuthentication/service/service.ts +68 -0
- package/src/providers/googleSignInAuthentication/types.ts +7 -0
- package/src/providers/nextAuthAuthentication/hooks/useNextAuthService.ts +26 -0
- package/src/providers/nextAuthAuthentication/provider.tsx +42 -0
- package/src/providers/nextAuthAuthentication/service/service.ts +14 -0
- package/src/providers/nextAuthAuthentication/types.ts +9 -0
- package/src/routes/constants.ts +3 -0
- package/src/styles/common/mui/button.ts +20 -0
- package/src/styles/common/mui/paper.ts +11 -0
- package/src/styles/common/mui/popover.ts +19 -0
- package/src/theme/common/entities.ts +7 -0
- package/src/views/LoginView/loginView.tsx +15 -9
- package/tests/getProfileStatus.test.ts +290 -0
- package/tests/terraProfileProvider.test.tsx +121 -0
- package/tests/transformRoute.test.ts +21 -0
- package/tests/useRouteHistory.test.ts +97 -0
- package/tests/useSessionActive.test.ts +107 -0
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.d.ts +0 -5
- package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.js +0 -29
- package/lib/components/Login/login.stories.d.ts +0 -6
- package/lib/components/Login/login.stories.js +0 -31
- package/lib/components/common/Button/components/LoginButton/loginButton.d.ts +0 -3
- package/lib/components/common/Button/components/LoginButton/loginButton.js +0 -6
- package/lib/components/common/Button/components/LoginButton/loginButton.styles.d.ts +0 -7
- package/lib/components/common/Button/components/LoginButton/loginButton.styles.js +0 -11
- package/lib/hooks/useAuthentication/useAuthentication.d.ts +0 -6
- package/lib/hooks/useAuthentication/useAuthentication.js +0 -9
- package/lib/hooks/useAuthentication/useAuthenticationComplete.d.ts +0 -6
- package/lib/hooks/useAuthentication/useAuthenticationComplete.js +0 -55
- package/lib/hooks/useAuthentication/useAuthenticationStatus.d.ts +0 -20
- package/lib/hooks/useAuthentication/useAuthenticationStatus.js +0 -32
- package/lib/hooks/useAuthentication/useFetchGoogleProfile.d.ts +0 -21
- package/lib/hooks/useAuthentication/useFetchGoogleProfile.js +0 -41
- package/lib/hooks/useAuthentication/useTokenClient.d.ts +0 -11
- package/lib/hooks/useAuthentication/useTokenClient.js +0 -29
- package/lib/hooks/useAuthenticationConfig.d.ts +0 -6
- package/lib/hooks/useAuthenticationConfig.js +0 -14
- package/lib/providers/authentication.d.ts +0 -51
- package/lib/providers/authentication.js +0 -110
- package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.stories.tsx +0 -35
- package/src/components/Login/login.stories.tsx +0 -43
- package/src/components/common/Button/components/LoginButton/loginButton.styles.ts +0 -13
- package/src/components/common/Button/components/LoginButton/loginButton.tsx +0 -16
- package/src/hooks/useAuthentication/useAuthentication.tsx +0 -10
- package/src/hooks/useAuthentication/useAuthenticationComplete.ts +0 -66
- package/src/hooks/useAuthentication/useAuthenticationStatus.ts +0 -49
- package/src/hooks/useAuthentication/useFetchGoogleProfile.ts +0 -68
- package/src/hooks/useAuthentication/useTokenClient.ts +0 -54
- package/src/hooks/useAuthenticationConfig.ts +0 -18
- package/src/providers/authentication.tsx +0 -181
- package/tests/authentication.test.ts +0 -142
- package/tests/useAuthenticationStatus.test.ts +0 -155
- /package/lib/hooks/{useSessionTimeout.d.ts → authentication/session/useSessionTimeout.d.ts} +0 -0
- /package/lib/hooks/{useAuthentication → authentication/terra}/useAuthenticationNIHExpiry.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.js +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraNIHProfile.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraProfile.d.ts +0 -0
- /package/lib/{hooks/useAuthentication → providers/authentication/terra/hooks}/useFetchTerraTermsOfService.d.ts +0 -0
- /package/src/{hooks/useAuthentication → providers/authentication/terra/hooks}/common/utils.ts +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import Router, { useRouter } from "next/router";
|
|
2
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
3
|
+
import { useRouteRoot } from "./useRouteRoot";
|
|
4
|
+
const ROUTE_CHANGE_EVENT = "routeChangeComplete";
|
|
5
|
+
const MAX_HISTORY_LENGTH = 4;
|
|
6
|
+
export function useRouteHistory(maxHistory = MAX_HISTORY_LENGTH) {
|
|
7
|
+
const { asPath } = useRouter();
|
|
8
|
+
const rootPath = useRouteRoot();
|
|
9
|
+
const historyRef = useRef([asPath]);
|
|
10
|
+
const onRouteChange = useCallback((route) => {
|
|
11
|
+
if (route === historyRef.current[0])
|
|
12
|
+
return;
|
|
13
|
+
historyRef.current.unshift(route);
|
|
14
|
+
if (historyRef.current.length > maxHistory) {
|
|
15
|
+
historyRef.current.pop();
|
|
16
|
+
}
|
|
17
|
+
}, [maxHistory]);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
Router.events.on(ROUTE_CHANGE_EVENT, onRouteChange);
|
|
20
|
+
return () => {
|
|
21
|
+
Router.events.off(ROUTE_CHANGE_EVENT, onRouteChange);
|
|
22
|
+
};
|
|
23
|
+
}, [onRouteChange]);
|
|
24
|
+
const callbackUrl = useCallback((transformFn) => getCallbackUrl(historyRef.current, rootPath, transformFn), [rootPath]);
|
|
25
|
+
return { callbackUrl };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generates a callback URL based on the provided history and root path.
|
|
29
|
+
* Returns the callback URL determined by the transform function or the second item in history and if neither condition is met, returns the root path.
|
|
30
|
+
* @param history - Navigation history.
|
|
31
|
+
* @param rootPath - The default root path to return if no other conditions are met.
|
|
32
|
+
* @param [transformFn] - An optional function that transforms the history array to a specific route.
|
|
33
|
+
* @returns {string} - The callback UR.
|
|
34
|
+
*/
|
|
35
|
+
export function getCallbackUrl(history, rootPath, transformFn) {
|
|
36
|
+
if (transformFn) {
|
|
37
|
+
return transformFn(history) || rootPath;
|
|
38
|
+
}
|
|
39
|
+
return history[1] || rootPath;
|
|
40
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useRouteRoot(): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useRouter } from "next/router";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { useConfig } from "./useConfig";
|
|
4
|
+
export function useRouteRoot() {
|
|
5
|
+
const { config: { redirectRootToPath: path }, } = useConfig();
|
|
6
|
+
const { basePath } = useRouter();
|
|
7
|
+
return useMemo(() => `${basePath}${path}`, [basePath, path]);
|
|
8
|
+
}
|
package/lib/hooks/useSummary.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from "react";
|
|
2
|
+
import { useToken } from "./authentication/token/useToken";
|
|
2
3
|
import { useAsync } from "./useAsync";
|
|
3
|
-
import { useAuthentication } from "./useAuthentication/useAuthentication";
|
|
4
4
|
import { useConfig } from "./useConfig";
|
|
5
5
|
import { useEntityService } from "./useEntityService";
|
|
6
6
|
import { useExploreState } from "./useExploreState";
|
|
@@ -9,7 +9,7 @@ import { useExploreState } from "./useExploreState";
|
|
|
9
9
|
* @returns an object with the loaded data and a flag indicating is the data is loading
|
|
10
10
|
*/
|
|
11
11
|
export const useSummary = () => {
|
|
12
|
-
const { token } =
|
|
12
|
+
const { token } = useToken();
|
|
13
13
|
const { config } = useConfig();
|
|
14
14
|
const { exploreState } = useExploreState();
|
|
15
15
|
const { filterState } = exploreState;
|
|
@@ -25,7 +25,7 @@ export const useSummary = () => {
|
|
|
25
25
|
if (!summaryConfig) {
|
|
26
26
|
return { isLoading: false }; //TODO: return a summary placeholder
|
|
27
27
|
}
|
|
28
|
-
// Return the fetch status and summary data once fetch is complete
|
|
28
|
+
// Return the fetch status and summary data once fetch is complete.
|
|
29
29
|
return {
|
|
30
30
|
isLoading: apiIsLoading,
|
|
31
31
|
response,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AuthState, UpdateAuthStatePayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Update auth state.
|
|
4
|
+
* @param state - State.
|
|
5
|
+
* @param payload - Payload.
|
|
6
|
+
* @returns state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function updateAuthState(state: AuthState, payload: UpdateAuthStatePayload): AuthState;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RequestAuthAction, ResetStateAction, UpdateAuthStateAction, UpdateAuthStatePayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Auth is complete.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action.
|
|
6
|
+
*/
|
|
7
|
+
export declare function authComplete(payload: UpdateAuthStatePayload): UpdateAuthStateAction;
|
|
8
|
+
/**
|
|
9
|
+
* Request auth action.
|
|
10
|
+
* @returns Action.
|
|
11
|
+
*/
|
|
12
|
+
export declare function requestAuth(): RequestAuthAction;
|
|
13
|
+
/**
|
|
14
|
+
* Reset state action.
|
|
15
|
+
* @returns state.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resetState(): ResetStateAction;
|
|
18
|
+
/**
|
|
19
|
+
* Update auth state action.
|
|
20
|
+
* @param payload - Payload.
|
|
21
|
+
* @returns Action.
|
|
22
|
+
*/
|
|
23
|
+
export declare function updateAuthState(payload: UpdateAuthStatePayload): UpdateAuthStateAction;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AUTH_STATUS, AuthActionKind, } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Auth is complete.
|
|
4
|
+
* @param payload - Payload.
|
|
5
|
+
* @returns Action.
|
|
6
|
+
*/
|
|
7
|
+
export function authComplete(payload) {
|
|
8
|
+
return {
|
|
9
|
+
payload: { ...payload, status: AUTH_STATUS.SETTLED },
|
|
10
|
+
type: AuthActionKind.UpdateAuthState,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Request auth action.
|
|
15
|
+
* @returns Action.
|
|
16
|
+
*/
|
|
17
|
+
export function requestAuth() {
|
|
18
|
+
return {
|
|
19
|
+
payload: undefined,
|
|
20
|
+
type: AuthActionKind.RequestAuth,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Reset state action.
|
|
25
|
+
* @returns state.
|
|
26
|
+
*/
|
|
27
|
+
export function resetState() {
|
|
28
|
+
return {
|
|
29
|
+
payload: undefined,
|
|
30
|
+
type: AuthActionKind.ResetState,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Update auth state action.
|
|
35
|
+
* @param payload - Payload.
|
|
36
|
+
* @returns Action.
|
|
37
|
+
*/
|
|
38
|
+
export function updateAuthState(payload) {
|
|
39
|
+
return {
|
|
40
|
+
payload,
|
|
41
|
+
type: AuthActionKind.UpdateAuthState,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { updateAuthState } from "./actions";
|
|
2
|
+
import { AUTH_STATUS, AuthActionKind } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Auth reducer.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param action - Action.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export function authReducer(state, action) {
|
|
10
|
+
const { payload, type } = action;
|
|
11
|
+
switch (type) {
|
|
12
|
+
case AuthActionKind.RequestAuth: {
|
|
13
|
+
return { ...state, status: AUTH_STATUS.PENDING };
|
|
14
|
+
}
|
|
15
|
+
case AuthActionKind.ResetState: {
|
|
16
|
+
return { ...state, ...state.initialState };
|
|
17
|
+
}
|
|
18
|
+
case AuthActionKind.UpdateAuthState: {
|
|
19
|
+
return updateAuthState(state, payload);
|
|
20
|
+
}
|
|
21
|
+
default:
|
|
22
|
+
return state;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Dispatch } from "react";
|
|
2
|
+
import { ProviderId } from "../common/types";
|
|
3
|
+
export type AuthAction = RequestAuthAction | ResetStateAction | UpdateAuthStateAction;
|
|
4
|
+
export declare enum AuthActionKind {
|
|
5
|
+
RequestAuth = "REQUEST_AUTH",
|
|
6
|
+
ResetState = "RESET_STATE",
|
|
7
|
+
UpdateAuthState = "UPDATE_AUTH_STATE"
|
|
8
|
+
}
|
|
9
|
+
export interface AuthContextProps {
|
|
10
|
+
authDispatch: Dispatch<AuthAction> | null;
|
|
11
|
+
authState: AuthState;
|
|
12
|
+
service: Service | undefined;
|
|
13
|
+
}
|
|
14
|
+
export interface AuthState {
|
|
15
|
+
initialState?: AuthState;
|
|
16
|
+
isAuthenticated: boolean;
|
|
17
|
+
status: AUTH_STATUS;
|
|
18
|
+
}
|
|
19
|
+
export type RequestAuthAction = {
|
|
20
|
+
payload: RequestAuthPayload;
|
|
21
|
+
type: AuthActionKind.RequestAuth;
|
|
22
|
+
};
|
|
23
|
+
export type RequestAuthPayload = undefined;
|
|
24
|
+
export type ResetStateAction = {
|
|
25
|
+
payload: ResetStatePayload;
|
|
26
|
+
type: AuthActionKind.ResetState;
|
|
27
|
+
};
|
|
28
|
+
export type ResetStatePayload = undefined;
|
|
29
|
+
export interface Service {
|
|
30
|
+
[key: string]: unknown;
|
|
31
|
+
requestLogin: (providerId: ProviderId) => void;
|
|
32
|
+
requestLogout: (options?: {
|
|
33
|
+
callbackUrl?: string;
|
|
34
|
+
redirect?: boolean;
|
|
35
|
+
}) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare enum AUTH_STATUS {
|
|
38
|
+
PENDING = "PENDING",
|
|
39
|
+
SETTLED = "SETTLED"
|
|
40
|
+
}
|
|
41
|
+
export interface UpdateAuthStateAction {
|
|
42
|
+
payload: UpdateAuthStatePayload;
|
|
43
|
+
type: AuthActionKind.UpdateAuthState;
|
|
44
|
+
}
|
|
45
|
+
export interface UpdateAuthStatePayload {
|
|
46
|
+
isAuthenticated?: boolean;
|
|
47
|
+
status?: AUTH_STATUS;
|
|
48
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var AuthActionKind;
|
|
2
|
+
(function (AuthActionKind) {
|
|
3
|
+
AuthActionKind["RequestAuth"] = "REQUEST_AUTH";
|
|
4
|
+
AuthActionKind["ResetState"] = "RESET_STATE";
|
|
5
|
+
AuthActionKind["UpdateAuthState"] = "UPDATE_AUTH_STATE";
|
|
6
|
+
})(AuthActionKind || (AuthActionKind = {}));
|
|
7
|
+
export var AUTH_STATUS;
|
|
8
|
+
(function (AUTH_STATUS) {
|
|
9
|
+
AUTH_STATUS["PENDING"] = "PENDING";
|
|
10
|
+
AUTH_STATUS["SETTLED"] = "SETTLED";
|
|
11
|
+
})(AUTH_STATUS || (AUTH_STATUS = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AuthenticationState, UpdateAuthenticationPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Update authentication action.
|
|
4
|
+
* @param state - State.
|
|
5
|
+
* @param payload - Payload.
|
|
6
|
+
* @returns state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function updateAuthenticationAction(state: AuthenticationState, payload: UpdateAuthenticationPayload): AuthenticationState;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RequestAuthenticationAction, ResetStateAction, UpdateAuthenticationAction, UpdateAuthenticationPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication is complete.
|
|
4
|
+
* @returns Action.
|
|
5
|
+
*/
|
|
6
|
+
export declare function authenticationComplete(): UpdateAuthenticationAction;
|
|
7
|
+
/**
|
|
8
|
+
* Request authentication action.
|
|
9
|
+
* @returns Action.
|
|
10
|
+
*/
|
|
11
|
+
export declare function requestAuthentication(): RequestAuthenticationAction;
|
|
12
|
+
/**
|
|
13
|
+
* Reset authentication action.
|
|
14
|
+
* @returns Action.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resetState(): ResetStateAction;
|
|
17
|
+
/**
|
|
18
|
+
* Update authentication action.
|
|
19
|
+
* @param payload - Payload.
|
|
20
|
+
* @returns Action.
|
|
21
|
+
*/
|
|
22
|
+
export declare function updateAuthentication(payload: UpdateAuthenticationPayload): UpdateAuthenticationAction;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AUTHENTICATION_STATUS, AuthenticationActionKind, } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication is complete.
|
|
4
|
+
* @returns Action.
|
|
5
|
+
*/
|
|
6
|
+
export function authenticationComplete() {
|
|
7
|
+
return {
|
|
8
|
+
payload: { status: AUTHENTICATION_STATUS.SETTLED },
|
|
9
|
+
type: AuthenticationActionKind.UpdateAuthentication,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Request authentication action.
|
|
14
|
+
* @returns Action.
|
|
15
|
+
*/
|
|
16
|
+
export function requestAuthentication() {
|
|
17
|
+
return {
|
|
18
|
+
payload: undefined,
|
|
19
|
+
type: AuthenticationActionKind.RequestAuthentication,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Reset authentication action.
|
|
24
|
+
* @returns Action.
|
|
25
|
+
*/
|
|
26
|
+
export function resetState() {
|
|
27
|
+
return {
|
|
28
|
+
payload: undefined,
|
|
29
|
+
type: AuthenticationActionKind.ResetState,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Update authentication action.
|
|
34
|
+
* @param payload - Payload.
|
|
35
|
+
* @returns Action.
|
|
36
|
+
*/
|
|
37
|
+
export function updateAuthentication(payload) {
|
|
38
|
+
return {
|
|
39
|
+
payload,
|
|
40
|
+
type: AuthenticationActionKind.UpdateAuthentication,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthenticationAction, AuthenticationState } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Authentication reducer.
|
|
4
|
+
* Reducer for user profile and status.
|
|
5
|
+
* @param state - State.
|
|
6
|
+
* @param action - Action.
|
|
7
|
+
* @returns state.
|
|
8
|
+
*/
|
|
9
|
+
export declare function authenticationReducer(state: AuthenticationState, action: AuthenticationAction): AuthenticationState;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { updateAuthenticationAction } from "./actions";
|
|
2
|
+
import { AUTHENTICATION_STATUS, AuthenticationActionKind, } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Authentication reducer.
|
|
5
|
+
* Reducer for user profile and status.
|
|
6
|
+
* @param state - State.
|
|
7
|
+
* @param action - Action.
|
|
8
|
+
* @returns state.
|
|
9
|
+
*/
|
|
10
|
+
export function authenticationReducer(state, action) {
|
|
11
|
+
const { payload, type } = action;
|
|
12
|
+
switch (type) {
|
|
13
|
+
case AuthenticationActionKind.RequestAuthentication: {
|
|
14
|
+
return { ...state, status: AUTHENTICATION_STATUS.PENDING };
|
|
15
|
+
}
|
|
16
|
+
case AuthenticationActionKind.ResetState: {
|
|
17
|
+
return { ...state, ...state.initialState };
|
|
18
|
+
}
|
|
19
|
+
case AuthenticationActionKind.UpdateAuthentication: {
|
|
20
|
+
return updateAuthenticationAction(state, payload);
|
|
21
|
+
}
|
|
22
|
+
default:
|
|
23
|
+
return state;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Dispatch } from "react";
|
|
2
|
+
export declare enum AUTHENTICATION_STATUS {
|
|
3
|
+
PENDING = "PENDING",
|
|
4
|
+
SETTLED = "SETTLED"
|
|
5
|
+
}
|
|
6
|
+
export type AuthenticationAction = RequestAuthenticationAction | ResetStateAction | UpdateAuthenticationAction;
|
|
7
|
+
export declare enum AuthenticationActionKind {
|
|
8
|
+
RequestAuthentication = "REQUEST_AUTHENTICATION",
|
|
9
|
+
ResetState = "RESET_STATE",
|
|
10
|
+
UpdateAuthentication = "UPDATE_AUTHENTICATION"
|
|
11
|
+
}
|
|
12
|
+
export interface AuthenticationContextProps {
|
|
13
|
+
authenticationDispatch: Dispatch<AuthenticationAction> | null;
|
|
14
|
+
authenticationState: AuthenticationState;
|
|
15
|
+
}
|
|
16
|
+
export interface AuthenticationState {
|
|
17
|
+
initialState?: AuthenticationState;
|
|
18
|
+
profile: Profile<UserProfile>;
|
|
19
|
+
status: AUTHENTICATION_STATUS;
|
|
20
|
+
}
|
|
21
|
+
export interface BaseProfile {
|
|
22
|
+
id?: string;
|
|
23
|
+
name: string;
|
|
24
|
+
}
|
|
25
|
+
export type Profile<P extends BaseProfile> = P | undefined;
|
|
26
|
+
export type RequestAuthenticationAction = {
|
|
27
|
+
payload: RequestAuthenticationPayload;
|
|
28
|
+
type: AuthenticationActionKind.RequestAuthentication;
|
|
29
|
+
};
|
|
30
|
+
export type RequestAuthenticationPayload = undefined;
|
|
31
|
+
export type ResetStateAction = {
|
|
32
|
+
payload: ResetStatePayload;
|
|
33
|
+
type: AuthenticationActionKind.ResetState;
|
|
34
|
+
};
|
|
35
|
+
export type ResetStatePayload = undefined;
|
|
36
|
+
export type UpdateAuthenticationAction = {
|
|
37
|
+
payload: UpdateAuthenticationPayload;
|
|
38
|
+
type: AuthenticationActionKind.UpdateAuthentication;
|
|
39
|
+
};
|
|
40
|
+
export interface UpdateAuthenticationPayload {
|
|
41
|
+
profile?: Profile<UserProfile>;
|
|
42
|
+
status?: AUTHENTICATION_STATUS;
|
|
43
|
+
}
|
|
44
|
+
export interface UserProfile extends BaseProfile {
|
|
45
|
+
email: string;
|
|
46
|
+
image?: string;
|
|
47
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var AUTHENTICATION_STATUS;
|
|
2
|
+
(function (AUTHENTICATION_STATUS) {
|
|
3
|
+
AUTHENTICATION_STATUS["PENDING"] = "PENDING";
|
|
4
|
+
AUTHENTICATION_STATUS["SETTLED"] = "SETTLED";
|
|
5
|
+
})(AUTHENTICATION_STATUS || (AUTHENTICATION_STATUS = {}));
|
|
6
|
+
export var AuthenticationActionKind;
|
|
7
|
+
(function (AuthenticationActionKind) {
|
|
8
|
+
AuthenticationActionKind["RequestAuthentication"] = "REQUEST_AUTHENTICATION";
|
|
9
|
+
AuthenticationActionKind["ResetState"] = "RESET_STATE";
|
|
10
|
+
AuthenticationActionKind["UpdateAuthentication"] = "UPDATE_AUTHENTICATION";
|
|
11
|
+
})(AuthenticationActionKind || (AuthenticationActionKind = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetches data from given endpoint and options.
|
|
3
|
+
* @param endpoint - Endpoint.
|
|
4
|
+
* @param options - Request options.
|
|
5
|
+
* @param callback - Callback.
|
|
6
|
+
* @param callback.onError - Error callback.
|
|
7
|
+
* @param callback.onSuccess - Success callback.
|
|
8
|
+
*/
|
|
9
|
+
export declare function fetchProfile<R, E>(endpoint: string, options?: RequestInit, callback?: {
|
|
10
|
+
onError: (error: E) => void;
|
|
11
|
+
onSuccess: (response: R) => void;
|
|
12
|
+
}): void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetches data from given endpoint and options.
|
|
3
|
+
* @param endpoint - Endpoint.
|
|
4
|
+
* @param options - Request options.
|
|
5
|
+
* @param callback - Callback.
|
|
6
|
+
* @param callback.onError - Error callback.
|
|
7
|
+
* @param callback.onSuccess - Success callback.
|
|
8
|
+
*/
|
|
9
|
+
export function fetchProfile(endpoint, options, callback) {
|
|
10
|
+
fetch(endpoint, options)
|
|
11
|
+
.then((response) => response.json())
|
|
12
|
+
.then((r) => {
|
|
13
|
+
callback?.onSuccess(r);
|
|
14
|
+
})
|
|
15
|
+
.catch((e) => {
|
|
16
|
+
callback?.onError(e);
|
|
17
|
+
});
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ProviderId = string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CredentialsState, UpdateCredentialsPayload } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Update credentials action.
|
|
4
|
+
* @param state - State.
|
|
5
|
+
* @param payload - Payload.
|
|
6
|
+
* @returns state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function updateCredentialsAction(state: CredentialsState, payload: UpdateCredentialsPayload): CredentialsState;
|