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()} +
+