feat: transfer completed and pending documents to deleted email
This commit is contained in:
@@ -131,8 +131,6 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
|
|||||||
|
|
||||||
const { token } = deleteAccountTwoFactorTokenForm.getValues();
|
const { token } = deleteAccountTwoFactorTokenForm.getValues();
|
||||||
|
|
||||||
console.log(token);
|
|
||||||
|
|
||||||
if (!token) {
|
if (!token) {
|
||||||
throw new Error('Please enter your Two Factor Authentication token.');
|
throw new Error('Please enter your Two Factor Authentication token.');
|
||||||
}
|
}
|
||||||
@@ -241,14 +239,7 @@ export const ProfileForm = ({ className, user }: ProfileFormProps) => {
|
|||||||
>
|
>
|
||||||
<Dialog>
|
<Dialog>
|
||||||
<DialogTrigger asChild>
|
<DialogTrigger asChild>
|
||||||
<Button
|
<Button variant="destructive">Delete Account</Button>
|
||||||
onClick={() => {
|
|
||||||
console.log(user);
|
|
||||||
}}
|
|
||||||
variant="destructive"
|
|
||||||
>
|
|
||||||
Delete Account
|
|
||||||
</Button>
|
|
||||||
</DialogTrigger>
|
</DialogTrigger>
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
|
|||||||
@@ -13,10 +13,32 @@ export const deleteUser = async ({ email }: DeleteUserOptions) => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const defaultDeleteUser = await prisma.user.findFirst({
|
||||||
|
where: {
|
||||||
|
email: 'deleted@documenso.com',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
if (!user) {
|
if (!user) {
|
||||||
throw new Error(`User with email ${email} not found`);
|
throw new Error(`User with email ${email} not found`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!defaultDeleteUser) {
|
||||||
|
throw new Error(`Default delete account not found`);
|
||||||
|
}
|
||||||
|
|
||||||
|
await prisma.document.updateMany({
|
||||||
|
where: {
|
||||||
|
userId: user.id,
|
||||||
|
status: {
|
||||||
|
in: ['PENDING', 'COMPLETED'],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
userId: defaultDeleteUser.id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
return await prisma.user.delete({
|
return await prisma.user.delete({
|
||||||
where: {
|
where: {
|
||||||
id: user.id,
|
id: user.id,
|
||||||
|
|||||||
@@ -139,10 +139,7 @@ export const profileRouter = router({
|
|||||||
deleteAccount: authenticatedProcedure.mutation(async ({ ctx }) => {
|
deleteAccount: authenticatedProcedure.mutation(async ({ ctx }) => {
|
||||||
try {
|
try {
|
||||||
const user = ctx.user;
|
const user = ctx.user;
|
||||||
|
await deleteStripeCustomer(user);
|
||||||
const deletedUser = await deleteStripeCustomer(user);
|
|
||||||
|
|
||||||
console.log(deletedUser);
|
|
||||||
|
|
||||||
return await deleteUser(user);
|
return await deleteUser(user);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user