From bd91cb70445647fe29e4bf36204ad604aea668dc Mon Sep 17 00:00:00 2001 From: orosmatthew Date: Tue, 9 May 2023 16:20:23 -0400 Subject: [PATCH] [web] Auto refresh submisisons --- .../contests/[contestId]/+page.server.ts | 2 ++ .../admin/contests/create/+page.server.ts | 19 ----------- web/src/routes/admin/reviews/+page.server.ts | 4 +-- web/src/routes/admin/reviews/+page.svelte | 26 +++++++++++++++ .../routes/admin/submissions/+page.server.ts | 1 + web/src/routes/admin/submissions/+page.svelte | 32 +++++++++++++++++-- 6 files changed, 61 insertions(+), 23 deletions(-) diff --git a/web/src/routes/admin/contests/[contestId]/+page.server.ts b/web/src/routes/admin/contests/[contestId]/+page.server.ts index 329635e..22557cb 100644 --- a/web/src/routes/admin/contests/[contestId]/+page.server.ts +++ b/web/src/routes/admin/contests/[contestId]/+page.server.ts @@ -64,6 +64,8 @@ export const actions = { return { success: false }; } + await db.submission.deleteMany({ where: { contestId: contest.id } }); + contest.teams.forEach(async (team) => { await db.activeTeam.create({ data: { teamId: team.id, contestId: contest.id } }); }); diff --git a/web/src/routes/admin/contests/create/+page.server.ts b/web/src/routes/admin/contests/create/+page.server.ts index 343641e..dd670db 100644 --- a/web/src/routes/admin/contests/create/+page.server.ts +++ b/web/src/routes/admin/contests/create/+page.server.ts @@ -1,8 +1,5 @@ import { db } from '$lib/server/prisma'; -import path, { join } from 'path'; import type { Actions, PageServerLoad } from './$types'; -import fs from 'fs'; -import { simpleGit } from 'simple-git'; import { createRepos } from '../util'; export const load = (async () => { @@ -18,22 +15,6 @@ export const load = (async () => { }; }) satisfies PageServerLoad; -function copyFolderSync(source: string, target: string) { - if (!fs.existsSync(target)) { - fs.mkdirSync(target); - } - - fs.readdirSync(source).forEach((file) => { - const sourcePath = path.join(source, file); - const targetPath = path.join(target, file); - - if (fs.lstatSync(sourcePath).isDirectory()) { - copyFolderSync(sourcePath, targetPath); - } else { - fs.copyFileSync(sourcePath, targetPath); - } - }); -} export const actions = { create: async ({ request }) => { const data = await request.formData(); diff --git a/web/src/routes/admin/reviews/+page.server.ts b/web/src/routes/admin/reviews/+page.server.ts index a328a89..8831c1f 100644 --- a/web/src/routes/admin/reviews/+page.server.ts +++ b/web/src/routes/admin/reviews/+page.server.ts @@ -1,12 +1,13 @@ import { db } from '$lib/server/prisma'; import { SubmissionState } from '@prisma/client'; -import type {PageServerLoad } from './$types'; +import type { PageServerLoad } from './$types'; export const load = (async () => { const submissions = await db.submission.findMany({ where: { state: SubmissionState.InReview } }); const teams = await db.team.findMany(); const problems = await db.problem.findMany(); return { + timestamp: new Date(), reviewList: submissions.map((row) => { return { id: row.id, createdAt: row.createdAt }; }), @@ -18,4 +19,3 @@ export const load = (async () => { }) }; }) satisfies PageServerLoad; - diff --git a/web/src/routes/admin/reviews/+page.svelte b/web/src/routes/admin/reviews/+page.svelte index 67ed3d3..9aa1dc9 100644 --- a/web/src/routes/admin/reviews/+page.svelte +++ b/web/src/routes/admin/reviews/+page.svelte @@ -1,7 +1,26 @@ @@ -10,6 +29,13 @@

Reviews

+
+ {#if updating} +
+ {/if} + Last Updated: {data.timestamp.toLocaleTimeString()} +
+
    {#if data.reviewList.length === 0}
    No Submission to Review!
    diff --git a/web/src/routes/admin/submissions/+page.server.ts b/web/src/routes/admin/submissions/+page.server.ts index a31b7a6..2067a22 100644 --- a/web/src/routes/admin/submissions/+page.server.ts +++ b/web/src/routes/admin/submissions/+page.server.ts @@ -6,6 +6,7 @@ export const load = (async () => { const problems = await db.problem.findMany(); const teams = await db.team.findMany(); return { + timestamp: new Date(), submissions: submissions.map((row) => { return { id: row.id, diff --git a/web/src/routes/admin/submissions/+page.svelte b/web/src/routes/admin/submissions/+page.svelte index e86a3f9..138c672 100644 --- a/web/src/routes/admin/submissions/+page.svelte +++ b/web/src/routes/admin/submissions/+page.svelte @@ -1,12 +1,30 @@ @@ -15,7 +33,17 @@

    Submissions

    -

    Rows are color coded: Red - Incorrect, Green - Correct, Yellow - In Review

    +
    +
    +

    Rows are color coded: Red - Incorrect, Green - Correct, Yellow - In Review

    +
    +
    + {#if updating} +
    + {/if} + Last Updated: {data.timestamp.toLocaleTimeString()} +
    +