remix-demo

react router (remix) demo

git clone https://9o.is/git/remix-demo.git

delete-user.ts

(789B)


      1 /*
      2 Use this to delete a user by their email
      3 Simply call this with:
      4 
      5 npx ts-node --require tsconfig-paths/register ./cypress/support/delete-user.ts username@example.com
      6 
      7 and that user will get deleted
      8 */
      9 
     10 import { PrismaClientKnownRequestError } from "@prisma/client/runtime";
     11 import { installGlobals } from "@remix-run/node";
     12 
     13 import { prisma } from "~/db.server";
     14 
     15 installGlobals();
     16 
     17 async function deleteUser(email: string) {
     18   try {
     19     await prisma.user.delete({ where: { email } });
     20   } catch (error) {
     21     if (
     22       error instanceof PrismaClientKnownRequestError &&
     23       error.code === "P2025"
     24     ) {
     25       console.log("User not found, so no need to delete");
     26     } else {
     27       throw error;
     28     }
     29   } finally {
     30     await prisma.$disconnect();
     31   }
     32 }
     33 
     34 deleteUser(process.argv[2]);