Resolves #9623 ## Description This PR renames the following functions to better reflect their purpose. - Backend: - Verify → GetAuthTokensFromLoginToken - Challenge → GetLoginTokenFromCredentials - Frontend: - challenge → getLoginTokenFromCredentials - verify → getAuthTokensFromLoginToken ## Testing _Sign in works as expected:_ https://github.com/user-attachments/assets/7e8f73c7-2c7d-4cd2-9965-5ad9f5334cd3 _Sign up works as expected:_ https://github.com/user-attachments/assets/d1794ee4-8b59-4934-84df-d819eabd5224 --------- Co-authored-by: Charles Bochet <charles@twenty.com>
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
import { useEffect } from 'react';
|
|
import { useSearchParams } from 'react-router-dom';
|
|
|
|
import { useAuth } from '@/auth/hooks/useAuth';
|
|
import { useIsLogged } from '@/auth/hooks/useIsLogged';
|
|
import { isAppWaitingForFreshObjectMetadataState } from '@/object-metadata/states/isAppWaitingForFreshObjectMetadataState';
|
|
import { AppPath } from '@/types/AppPath';
|
|
import { SnackBarVariant } from '@/ui/feedback/snack-bar-manager/components/SnackBar';
|
|
import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar';
|
|
import { useSetRecoilState } from 'recoil';
|
|
import { isDefined } from 'twenty-ui';
|
|
import { useNavigateApp } from '~/hooks/useNavigateApp';
|
|
|
|
export const VerifyEffect = () => {
|
|
const [searchParams] = useSearchParams();
|
|
const loginToken = searchParams.get('loginToken');
|
|
const errorMessage = searchParams.get('errorMessage');
|
|
|
|
const { enqueueSnackBar } = useSnackBar();
|
|
|
|
const isLogged = useIsLogged();
|
|
const navigate = useNavigateApp();
|
|
|
|
const { getAuthTokensFromLoginToken } = useAuth();
|
|
|
|
const setIsAppWaitingForFreshObjectMetadata = useSetRecoilState(
|
|
isAppWaitingForFreshObjectMetadataState,
|
|
);
|
|
|
|
useEffect(() => {
|
|
if (isDefined(errorMessage)) {
|
|
enqueueSnackBar(errorMessage, {
|
|
dedupeKey: 'get-auth-tokens-from-login-token-failed-dedupe-key',
|
|
variant: SnackBarVariant.Error,
|
|
});
|
|
}
|
|
|
|
if (isDefined(loginToken)) {
|
|
setIsAppWaitingForFreshObjectMetadata(true);
|
|
getAuthTokensFromLoginToken(loginToken);
|
|
} else if (!isLogged) {
|
|
navigate(AppPath.SignInUp);
|
|
}
|
|
// Verify only needs to run once at mount
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
}, []);
|
|
|
|
return <></>;
|
|
};
|