mirror of
https://github.com/massbug/judge4c.git
synced 2025-08-23 10:03:33 +00:00
30 lines
796 B
TypeScript
30 lines
796 B
TypeScript
|
"use server";
|
||
|
|
||
|
import prisma from "@/lib/prisma";
|
||
|
import { EditorLanguage } from "@/generated/client";
|
||
|
import { SettingsLanguageServerFormValues } from "@/app/(app)/dashboard/@admin/settings/language-server/form";
|
||
|
|
||
|
export const getLanguageServerConfig = async (language: EditorLanguage) => {
|
||
|
return await prisma.languageServerConfig.findUnique({
|
||
|
where: { language },
|
||
|
});
|
||
|
};
|
||
|
|
||
|
export const handleLanguageServerConfigSubmit = async (
|
||
|
language: EditorLanguage,
|
||
|
data: SettingsLanguageServerFormValues
|
||
|
) => {
|
||
|
const existing = await getLanguageServerConfig(language);
|
||
|
|
||
|
if (existing) {
|
||
|
await prisma.languageServerConfig.update({
|
||
|
where: { language },
|
||
|
data,
|
||
|
});
|
||
|
} else {
|
||
|
await prisma.languageServerConfig.create({
|
||
|
data: { ...data, language },
|
||
|
});
|
||
|
}
|
||
|
};
|