From 4f6a37df171d413391e8c09cb06d8774c9af8036 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Sat, 8 Mar 2025 21:03:32 +0800 Subject: [PATCH] fix(prisma): update enum values for EditorLanguage to lowercase ('c' and 'cpp') --- prisma/schema.prisma | 4 ++-- .../@editor/components/language-selector.tsx | 2 +- src/app/actions/judge.ts | 2 +- src/config/editor-language.ts | 10 +++++----- src/config/judge.ts | 18 +++++++++--------- src/config/language-server.ts | 10 +++++----- src/config/problem/value.ts | 6 +++--- src/lib/shiki.ts | 2 +- src/lib/utils.ts | 2 +- src/store/useCodeEditorStore.ts | 2 +- 10 files changed, 29 insertions(+), 29 deletions(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 55a417b..8d4a7f4 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -40,8 +40,8 @@ model Problem { } enum EditorLanguage { - C - CPP + c + cpp } model Template { diff --git a/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx b/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx index f98f911..b149344 100644 --- a/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx +++ b/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx @@ -8,8 +8,8 @@ import { SelectValue, } from "@/components/ui/select"; import { getPath } from "@/lib/utils"; +import { EditorLanguage } from "@prisma/client"; import { Skeleton } from "@/components/ui/skeleton"; -import { EditorLanguage } from "@/types/editor-language"; import LanguageServerConfig from "@/config/language-server"; import { EditorLanguageConfig } from "@/config/editor-language"; import { useCodeEditorStore } from "@/store/useCodeEditorStore"; diff --git a/src/app/actions/judge.ts b/src/app/actions/judge.ts index 715051b..e4946a4 100644 --- a/src/app/actions/judge.ts +++ b/src/app/actions/judge.ts @@ -4,7 +4,7 @@ import tar from "tar-stream"; import Docker from "dockerode"; import { Readable, Writable } from "stream"; import { JudgeConfig } from "@/config/judge"; -import { EditorLanguage } from "@/types/editor-language"; +import { EditorLanguage } from "@prisma/client"; import { ExitCode, JudgeResultMetadata } from "@/types/judge"; // Docker client initialization diff --git a/src/config/editor-language.ts b/src/config/editor-language.ts index 8c21ade..01c7933 100644 --- a/src/config/editor-language.ts +++ b/src/config/editor-language.ts @@ -4,15 +4,15 @@ import { EditorLanguageMetadata } from "@/types/editor-language"; // Define language configurations const EditorLanguageConfig: Record = { - [EditorLanguage.C]: { - id: EditorLanguage.C, + [EditorLanguage.c]: { + id: EditorLanguage.c, label: "C", fileName: "main", fileExtension: ".c", icon: COriginal, }, - [EditorLanguage.CPP]: { - id: EditorLanguage.CPP, + [EditorLanguage.cpp]: { + id: EditorLanguage.cpp, label: "C++", fileName: "main", fileExtension: ".cpp", @@ -21,6 +21,6 @@ const EditorLanguageConfig: Record = { }; // Default language configuration -const DefaultEditorLanguageConfig = EditorLanguageConfig[EditorLanguage.C]; // Default to C language +const DefaultEditorLanguageConfig = EditorLanguageConfig[EditorLanguage.c]; // Default to C language export { EditorLanguageConfig, DefaultEditorLanguageConfig }; diff --git a/src/config/judge.ts b/src/config/judge.ts index 33969fd..1797071 100644 --- a/src/config/judge.ts +++ b/src/config/judge.ts @@ -1,9 +1,9 @@ -import { EditorLanguage } from "@/types/editor-language"; +import { EditorLanguage } from "@prisma/client"; import { EditorLanguageConfig } from "./editor-language"; import { DockerMetadata, JudgeMetadata } from "@/types/judge"; export const DockerConfig: Record = { - [EditorLanguage.C]: { + [EditorLanguage.c]: { image: "gcc", tag: "latest", workingDir: "/src", @@ -12,7 +12,7 @@ export const DockerConfig: Record = { compileOutputLimit: 1 * 1024 * 1024, runOutputLimit: 1 * 1024 * 1024, }, - [EditorLanguage.CPP]: { + [EditorLanguage.cpp]: { image: "gcc", tag: "latest", workingDir: "/src", @@ -24,12 +24,12 @@ export const DockerConfig: Record = { } export const JudgeConfig: Record = { - [EditorLanguage.C]: { - editorLanguageMetadata: EditorLanguageConfig[EditorLanguage.C], - dockerMetadata: DockerConfig[EditorLanguage.C], + [EditorLanguage.c]: { + editorLanguageMetadata: EditorLanguageConfig[EditorLanguage.c], + dockerMetadata: DockerConfig[EditorLanguage.c], }, - [EditorLanguage.CPP]: { - editorLanguageMetadata: EditorLanguageConfig[EditorLanguage.CPP], - dockerMetadata: DockerConfig[EditorLanguage.CPP], + [EditorLanguage.cpp]: { + editorLanguageMetadata: EditorLanguageConfig[EditorLanguage.cpp], + dockerMetadata: DockerConfig[EditorLanguage.cpp], }, }; diff --git a/src/config/language-server.ts b/src/config/language-server.ts index c2bb344..47c56aa 100644 --- a/src/config/language-server.ts +++ b/src/config/language-server.ts @@ -1,21 +1,21 @@ -import { EditorLanguage } from "@/types/editor-language"; +import { EditorLanguage } from "@prisma/client"; import { EditorLanguageConfig } from "./editor-language"; import { LanguageServerMetadata } from "@/types/language-server"; const LanguageServerConfig: Record = { - [EditorLanguage.C]: { + [EditorLanguage.c]: { protocol: process.env.NEXT_PUBLIC_LSP_C_PROTOCOL || "ws", hostname: process.env.NEXT_PUBLIC_LSP_C_HOSTNAME || "localhost", port: process.env.NEXT_PUBLIC_LSP_C_PORT ? parseInt(process.env.NEXT_PUBLIC_LSP_C_PORT, 10) : 4594, path: process.env.NEXT_PUBLIC_LSP_C_PATH || "/clangd", - lang: EditorLanguageConfig[EditorLanguage.C], + lang: EditorLanguageConfig[EditorLanguage.c], }, - [EditorLanguage.CPP]: { + [EditorLanguage.cpp]: { protocol: process.env.NEXT_PUBLIC_LSP_CPP_PROTOCOL || "ws", hostname: process.env.NEXT_PUBLIC_LSP_CPP_HOSTNAME || "localhost", port: process.env.NEXT_PUBLIC_LSP_CPP_PORT ? parseInt(process.env.NEXT_PUBLIC_LSP_CPP_PORT, 10) : 4595, path: process.env.NEXT_PUBLIC_LSP_CPP_PATH || "/clangd", - lang: EditorLanguageConfig[EditorLanguage.CPP], + lang: EditorLanguageConfig[EditorLanguage.cpp], }, }; diff --git a/src/config/problem/value.ts b/src/config/problem/value.ts index 72f74d4..b572832 100644 --- a/src/config/problem/value.ts +++ b/src/config/problem/value.ts @@ -1,13 +1,13 @@ -import { EditorLanguage } from "@/types/editor-language"; +import { EditorLanguage } from "@prisma/client"; export const TEMP_DEFAULT_EDITOR_VALUE: Record = { - [EditorLanguage.C]: `/** + [EditorLanguage.c]: `/** * Note: The returned array must be malloced, assume caller calls free(). */ int* twoSum(int* nums, int numsSize, int target, int* returnSize) { }`, - [EditorLanguage.CPP]: `class Solution { + [EditorLanguage.cpp]: `class Solution { public: vector twoSum(vector& nums, int target) { diff --git a/src/lib/shiki.ts b/src/lib/shiki.ts index cd6795c..5fc08ec 100644 --- a/src/lib/shiki.ts +++ b/src/lib/shiki.ts @@ -1,6 +1,6 @@ +import { EditorLanguage } from "@prisma/client"; import { MonacoTheme } from "@/types/monaco-theme"; import { createHighlighter, Highlighter } from "shiki"; -import { EditorLanguage } from "@/types/editor-language"; // Get all values from the ProgrammingLanguage and Theme enums const themes = Object.values(MonacoTheme); diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 841e266..9910376 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,6 +1,6 @@ import { twMerge } from "tailwind-merge"; import { clsx, type ClassValue } from "clsx"; -import { EditorLanguage } from "@/types/editor-language"; +import { EditorLanguage } from "@prisma/client"; import LanguageServerConfig from "@/config/language-server"; export function cn(...inputs: ClassValue[]) { diff --git a/src/store/useCodeEditorStore.ts b/src/store/useCodeEditorStore.ts index 373ecdd..e55b591 100644 --- a/src/store/useCodeEditorStore.ts +++ b/src/store/useCodeEditorStore.ts @@ -1,8 +1,8 @@ import { create } from "zustand"; import { getPath } from "@/lib/utils"; import type { editor } from "monaco-editor"; +import { EditorLanguage } from "@prisma/client"; import { JudgeResultMetadata } from "@/types/judge"; -import { EditorLanguage } from "@/types/editor-language"; import { createJSONStorage, persist } from "zustand/middleware"; import { LanguageServerMetadata } from "@/types/language-server"; import { DefaultEditorOptionConfig } from "@/config/editor-option";