From 18a58ac99b26aff37e5aec6a4a4e64dc7144f346 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 29 Aug 2024 12:29:47 +0800 Subject: [PATCH] redirect archived user to /export page when login --- packages/api/src/routers/auth/auth_router.ts | 8 +++++--- packages/api/src/routers/auth/google_auth.ts | 18 +++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/api/src/routers/auth/auth_router.ts b/packages/api/src/routers/auth/auth_router.ts index c34b628ab..4081c0b79 100644 --- a/packages/api/src/routers/auth/auth_router.ts +++ b/packages/api/src/routers/auth/auth_router.ts @@ -378,9 +378,11 @@ export function authRouter() { } } - redirectUri = redirectUri - ? redirectUri - : `${env.client.url}${DEFAULT_HOME_PATH}` + if (user.status === StatusType.Archived) { + redirectUri = `${env.client.url}/export` + } + + redirectUri = redirectUri ?? `${env.client.url}${DEFAULT_HOME_PATH}` const message = res.get('Message') if (message) { diff --git a/packages/api/src/routers/auth/google_auth.ts b/packages/api/src/routers/auth/google_auth.ts index 21fcafba1..5f2fa87f8 100644 --- a/packages/api/src/routers/auth/google_auth.ts +++ b/packages/api/src/routers/auth/google_auth.ts @@ -6,10 +6,10 @@ import { env, homePageURL } from '../../env' import { LoginErrorCode } from '../../generated/graphql' import { userRepository } from '../../repository/user' import { logger } from '../../utils/logger' +import { DEFAULT_HOME_PATH } from '../../utils/navigation' import { createSsoToken, ssoRedirectURL } from '../../utils/sso' import { DecodeTokenResult } from './auth_types' import { createPendingUserToken, createWebAuthToken } from './jwt_helpers' -import { DEFAULT_HOME_PATH } from '../../utils/navigation' export const googleAuthMobile = (): OAuth2Client => new google.auth.OAuth2(env.google.auth.clientId, env.google.auth.secret) @@ -132,7 +132,6 @@ export async function handleGoogleWebAuth( const user = await userRepository.findOneBy({ email, source: 'GOOGLE', - status: StatusType.Active, }) const userId = user?.id @@ -158,15 +157,16 @@ export async function handleGoogleWebAuth( } } + let redirectURL = `${baseURL()}${ + user.status === StatusType.Archived ? '/export' : DEFAULT_HOME_PATH + }` + const authToken = await createWebAuthToken(userId) if (authToken) { - const ssoToken = createSsoToken( - authToken, - `${baseURL()}${DEFAULT_HOME_PATH}` - ) - const redirectURL = isVercel - ? ssoRedirectURL(ssoToken) - : `${baseURL()}${DEFAULT_HOME_PATH}` + if (isVercel) { + const ssoToken = createSsoToken(authToken, redirectURL) + redirectURL = ssoRedirectURL(ssoToken) + } return { authToken,