chore: code refactor to avoid repetitions

This commit is contained in:
Ephraim Atta-Duncan
2024-02-15 11:33:43 +00:00
parent c680cfc24f
commit fddd860d15
2 changed files with 16 additions and 19 deletions

View File

@ -113,18 +113,22 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
}
};
const deleteAccoutAndSignOut = async () => {
await deleteAccount();
toast({
title: 'Account deleted',
description: 'Your account has been deleted successfully.',
duration: 5000,
});
return await signOut({ callbackUrl: '/' });
};
const onDeleteAccount = async (hasTwoFactorAuthentication: boolean) => {
try {
if (!hasTwoFactorAuthentication) {
await deleteAccount();
toast({
title: 'Account deleted',
description: 'Your account has been deleted successfully.',
duration: 5000,
});
return await signOut({ callbackUrl: '/' });
return await deleteAccoutAndSignOut();
}
const { token } = deleteAccountTwoFactorTokenForm.getValues();
@ -140,15 +144,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
throw new Error('We were unable to validate your Two Factor Authentication token.');
});
await deleteAccount();
toast({
title: 'Account deleted',
description: 'Your account has been deleted successfully.',
duration: 5000,
});
await signOut({ callbackUrl: '/' });
await deleteAccoutAndSignOut();
} catch (err) {
if (err instanceof TRPCClientError && err.data?.code === 'BAD_REQUEST') {
toast({

View File

@ -1,4 +1,5 @@
import { prisma } from '@documenso/prisma';
import { DocumentStatus } from '@documenso/prisma/client';
export type DeleteUserOptions = {
email: string;
@ -31,7 +32,7 @@ export const deletedServiceAccount = async ({ email }: DeleteUserOptions) => {
where: {
userId: user.id,
status: {
in: ['PENDING', 'COMPLETED'],
in: [DocumentStatus.PENDING, DocumentStatus.COMPLETED],
},
},
data: {