"use server"; import { revalidatePath } from "next/cache"; import { requireStaff } from "@/lib/admin/guard"; import { prisma } from "@/lib/prisma"; export async function getBadgeData({ code }: { code: string }) { await requireStaff(); const badge = await prisma.websiteBadges.findUnique({ where: { badgeKey: code }, select: { badgeName: true, badgeDescription: true }, }); if (!badge) return { ok: false as const, data: null }; return { ok: true as const, data: { name: badge.badgeName, desc: badge.badgeDescription } }; } export async function updateBadge({ code, name, desc }: { code: string; name: string; desc: string }) { await requireStaff(); await prisma.websiteBadges.upsert({ where: { badgeKey: code }, update: { badgeName: name, badgeDescription: desc, updatedAt: new Date() }, create: { badgeKey: code, badgeName: name, badgeDescription: desc, createdAt: new Date(), updatedAt: new Date() }, }); revalidatePath("/admin/import/badges"); }