diff --git a/src/app/actions/language-server.ts b/src/app/actions/language-server.ts new file mode 100644 index 0000000..7c9223c --- /dev/null +++ b/src/app/actions/language-server.ts @@ -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 }, + }); + } +};