Commit 25559107 authored by wycers's avatar wycers
Browse files

status

parent 7ad84066
Loading
Loading
Loading
Loading
+39 −29
Original line number Diff line number Diff line
@@ -24,15 +24,15 @@ const schema = z.discriminatedUnion('status', [
        systemMessage: z.string()
    }),
    z.object({
        status: z.union([z.literal("Accepted"),
        z.literal("FileError"),
        z.literal("RuntimeError"),
        z.literal("TimeLimitExceeded"),
        z.literal("MemoryLimitExceeded"),
        z.literal("OutputLimitExceeded"),
        z.literal("PartiallyCorrect"),
        z.literal("WrongAnswer"),
        z.literal("JudgementFailed")
        status: z.enum(["Accepted",
            "FileError",
            "RuntimeError",
            "TimeLimitExceeded",
            "MemoryLimitExceeded",
            "OutputLimitExceeded",
            "PartiallyCorrect",
            "WrongAnswer",
            "JudgementFailed"
        ]),
        compile: z.object({ success: z.literal(true), message: z.string() }),
        testcaseResult: z.record(z.string(), z.object({
@@ -124,12 +124,23 @@ export const PUT = async ({ request, params }) => {
                    isValid: false
                }
            })

            return json({ ok: true })
        }

        if (res.status === 'ConfigurationError') {

            return json({ ok: true })
        }
        if (res.status === 'WrongAnswer') {
        if (res.status === 'SystemError') {

            return json({ ok: true })
        }

        const feedback = await db.submissionFeedback.create({
            data: {
                score: res.score,
                    description: "Wrong Answer",
                description: res.status,
                descriptionHTML: JSON.stringify(_.entries(res.testcaseResult).map(([key, v]) => {
                    const { input, output, userOutput, userError, ...data } = v
                    return data
@@ -145,7 +156,6 @@ export const PUT = async ({ request, params }) => {
                isValid: false
            }
        })
        }

    }
    return json({ ok: true })
+1 −0
Original line number Diff line number Diff line
@@ -103,6 +103,7 @@
				<!-- <Alert.Description></Alert.Description> -->
			</Alert.Root>
		{:else if result.success}
			<div>Score: {feedback.score}</div>
			{@const testcases = result.data}

			<Accordion.Root>