33 lines
825 B
TypeScript
33 lines
825 B
TypeScript
"use server";
|
|
|
|
import { appSettings } from "@minecraft-account-manager/database";
|
|
import { redirect } from "next/navigation";
|
|
import { requireAdminSession } from "@/lib/auth/require-admin";
|
|
import { db } from "@/lib/database";
|
|
|
|
export async function saveDiscordSettings(formData: FormData) {
|
|
await requireAdminSession();
|
|
|
|
const registrationMessage = String(formData.get("registrationMessage") ?? "").trim();
|
|
|
|
if (registrationMessage.length < 10 || registrationMessage.length > 500) {
|
|
redirect("/admin?error=invalid-message");
|
|
}
|
|
|
|
await db
|
|
.insert(appSettings)
|
|
.values({
|
|
id: "default",
|
|
registrationMessage,
|
|
})
|
|
.onConflictDoUpdate({
|
|
target: appSettings.id,
|
|
set: {
|
|
registrationMessage,
|
|
updatedAt: new Date(),
|
|
},
|
|
});
|
|
|
|
redirect("/admin?saved=1");
|
|
}
|