From 1009685efd342331e34080051603520a8ff51f34 Mon Sep 17 00:00:00 2001 From: giancarlo Date: Sun, 28 Apr 2024 21:00:41 +0700 Subject: [PATCH] Move sign out command before account deletion and modify private path prefixes The sign out command is moved ahead of the account deletion service to ensure users are logged out before their account gets deleted. The "/join" prefix is removed from the list of private path prefixes. Additionally, a global loader component is added to the join loading page. --- apps/web/app/join/loading.tsx | 3 +++ .../accounts/src/server/personal-accounts-server-actions.ts | 6 +++--- packages/supabase/src/hooks/use-auth-change-listener.ts | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 apps/web/app/join/loading.tsx diff --git a/apps/web/app/join/loading.tsx b/apps/web/app/join/loading.tsx new file mode 100644 index 000000000..4ea53181d --- /dev/null +++ b/apps/web/app/join/loading.tsx @@ -0,0 +1,3 @@ +import { GlobalLoader } from '@kit/ui/global-loader'; + +export default GlobalLoader; diff --git a/packages/features/accounts/src/server/personal-accounts-server-actions.ts b/packages/features/accounts/src/server/personal-accounts-server-actions.ts index 494f72254..710883eee 100644 --- a/packages/features/accounts/src/server/personal-accounts-server-actions.ts +++ b/packages/features/accounts/src/server/personal-accounts-server-actions.ts @@ -37,6 +37,9 @@ export const deletePersonalAccountAction = enhanceAction( // create a new instance of the personal accounts service const service = createDeletePersonalAccountService(); + // sign out the user before deleting their account + await client.auth.signOut(); + // delete the user's account and cancel all subscriptions await service.deletePersonalAccount({ adminClient: getSupabaseServerActionClient({ admin: true }), @@ -45,9 +48,6 @@ export const deletePersonalAccountAction = enhanceAction( emailSettings, }); - // sign out the user after deleting their account - await client.auth.signOut(); - // clear the cache for all pages revalidatePath('/', 'layout'); diff --git a/packages/supabase/src/hooks/use-auth-change-listener.ts b/packages/supabase/src/hooks/use-auth-change-listener.ts index 3b98c18ea..a0666b491 100644 --- a/packages/supabase/src/hooks/use-auth-change-listener.ts +++ b/packages/supabase/src/hooks/use-auth-change-listener.ts @@ -11,7 +11,7 @@ import { useRevalidateUserSession, useUserSession } from './use-user-session'; * @name PRIVATE_PATH_PREFIXES * @description A list of private path prefixes */ -const PRIVATE_PATH_PREFIXES = ['/home', '/admin', '/join', '/update-password']; +const PRIVATE_PATH_PREFIXES = ['/home', '/admin', '/update-password']; /** * @name useAuthChangeListener