32 lines
896 B
TypeScript
32 lines
896 B
TypeScript
import { NextResponse } from "next/server";
|
|
import { prisma } from "@/lib/prisma";
|
|
import { requireAdmin } from "@/lib/admin-auth";
|
|
|
|
export async function POST(request: Request) {
|
|
const authError = await requireAdmin();
|
|
if (authError) return authError;
|
|
|
|
try {
|
|
const body = await request.json();
|
|
const ids: number[] = body.ids;
|
|
|
|
if (!Array.isArray(ids) || ids.length === 0) {
|
|
return NextResponse.json({ error: "ids数组不能为空" }, { status: 400 });
|
|
}
|
|
|
|
const result = await prisma.pendingSkill.deleteMany({
|
|
where: { id: { in: ids } },
|
|
});
|
|
|
|
return NextResponse.json({
|
|
success: true,
|
|
total: ids.length,
|
|
rejected: result.count,
|
|
skipped: ids.length - result.count,
|
|
});
|
|
} catch (error: unknown) {
|
|
const err = error as { message?: string };
|
|
return NextResponse.json({ error: err.message }, { status: 500 });
|
|
}
|
|
}
|