19 lines
683 B
TypeScript
19 lines
683 B
TypeScript
"use server";
|
|
|
|
import { requireStaff } from "@/lib/admin/guard";
|
|
import { prisma } from "@/lib/prisma";
|
|
|
|
export async function importBadgeFromRemote({ code, name, description }: { code: string; name: string; description: string }) {
|
|
await requireStaff();
|
|
try {
|
|
await prisma.websiteBadges.upsert({
|
|
where: { badgeKey: code },
|
|
update: { badgeName: name, badgeDescription: description, updatedAt: new Date() },
|
|
create: { badgeKey: code, badgeName: name, badgeDescription: description, createdAt: new Date(), updatedAt: new Date() },
|
|
});
|
|
return { ok: true as const };
|
|
} catch {
|
|
return { ok: false as const, error: "Failed to import badge" };
|
|
}
|
|
}
|