* add eslint config * migrate autoLock to features * migrate teamService to features * migrate userCreationService * migrate insights services to features * migrate ProfileRepository * update imports * migrate filter segmen tests * migrate filter segment repository * migrate getBusyTimes * migrate getLocaleFromRequest * refactor csvUtils * make filename clearer * migrate getLuckyUser integration test * migrate autoLock test to features * wip * refactors * migrate useBookerUrl * migrate more * wip * Migrate eventTypeRepository * membership repository * update imports * update imports * migrate * move organization repository * update imports * update imports * wip * wip * wip * wip * wip * wip * wip * wip * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix tests * fix type checks * fix * fix * migrate * update imports * fix tests * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix * fix
17 lines
547 B
TypeScript
17 lines
547 B
TypeScript
import type { User } from "@calcom/prisma/client";
|
|
|
|
import { deleteStripeCustomer } from "@calcom/app-store/stripepayment/lib/customer";
|
|
import prisma from "@calcom/prisma";
|
|
|
|
export async function deleteUser(user: Pick<User, "id" | "email" | "metadata">) {
|
|
// If 2FA is disabled or totpCode is valid then delete the user from stripe and database
|
|
await deleteStripeCustomer(user).catch(console.warn);
|
|
// Remove my account
|
|
// TODO: Move this to Repository pattern.
|
|
await prisma.user.delete({
|
|
where: {
|
|
id: user.id,
|
|
},
|
|
});
|
|
}
|