From 494b899f094b13ec81ae5eab271a4f3c3d27c198 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Tue, 18 Mar 2025 14:33:51 +0800 Subject: [PATCH] feat(actions): add language server configuration handling --- src/app/actions/language-server.ts | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/app/actions/language-server.ts 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 }, + }); + } +};