mirror of
https://github.com/massbug/judge4c.git
synced 2025-05-18 07:16:34 +00:00
feat(actions): add language server configuration handling
This commit is contained in:
parent
3e4b396bfe
commit
494b899f09
29
src/app/actions/language-server.ts
Normal file
29
src/app/actions/language-server.ts
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
"use server";
|
||||||
|
|
||||||
|
import prisma from "@/lib/prisma";
|
||||||
|
import { EditorLanguage } from "@prisma/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 },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user