diff --git a/src/app/lib/del.ts b/src/app/lib/del.ts index 730972f..f30819a 100644 --- a/src/app/lib/del.ts +++ b/src/app/lib/del.ts @@ -3,34 +3,30 @@ import { revalidatePath } from "next/cache"; import prisma from "./db"; import { redirect } from "next/navigation"; +const tableMap = { + "/story": "story", + "/publication": "pub", + "/submission": "sub" +} + export async function deleteRecord(id: number, pathname: "/story" | "/publication" | "/submission") { - let res = {} - switch (pathname) { - case "/story": - res = await prisma.story.delete({ - where: { id } - }) - console.log(`deleted: ${res}`) - break; - case "/publication": - res = await prisma.pub.delete({ - where: { id } - }) - console.log(`deleted: ${res}`) - break; - case "/submission": - res = await prisma.sub.delete({ - where: { id } - }) - console.log(`deleted: ${res}`) - break; - default: - break; - } + const table = tableMap[pathname] + const res = await prisma[table].delete({ where: { id } }) + console.log(`deleted from ${table}: ${res.id}`) console.log("revalidating: " + pathname) revalidatePath(pathname) redirect(pathname) } +export async function deleteRecords(ids: number[], pathname: "/story" | "/publication" | "/submission") { + const table = tableMap[pathname] + ids.forEach(async (id) => { + const res = await prisma.story.delete({ + where: { id } + }) + console.log(`deleted from ${table}: ${res.id}`) + }) +} +