All Contests
diff --git a/web/src/routes/admin/contests/create/+page.server.ts b/web/src/routes/admin/contests/create/+page.server.ts
index c8c453d..10b304e 100644
--- a/web/src/routes/admin/contests/create/+page.server.ts
+++ b/web/src/routes/admin/contests/create/+page.server.ts
@@ -34,7 +34,7 @@ function copyFolderSync(source: string, target: string) {
});
}
export const actions = {
- create: async ({ request, params }) => {
+ create: async ({ request }) => {
const data = await request.formData();
const name = data.get('name');
const problems = (await db.problem.findMany()).filter((problem) => {
@@ -75,9 +75,14 @@ export const actions = {
await git.init();
await git.checkoutLocalBranch('master');
createdContest.problems.forEach((problem) => {
- copyFolderSync(
- 'templates/java/problem',
- join('temp', team.id.toString(), problem.friendlyName)
+ fs.mkdirSync(join('temp', team.id.toString(), problem.pascalName));
+ fs.writeFileSync(
+ join('temp', team.id.toString(), problem.pascalName, problem.pascalName + '.java'),
+ `public class ${problem.pascalName} {
+ public static void main(String[] args) {
+ System.out.println("Hello ${problem.pascalName}!");
+ }
+}`
);
});
await git.add('.');
diff --git a/web/src/routes/admin/problems/[problemId]/+page.server.ts b/web/src/routes/admin/problems/[problemId]/+page.server.ts
index 9f0727d..cb87d39 100644
--- a/web/src/routes/admin/problems/[problemId]/+page.server.ts
+++ b/web/src/routes/admin/problems/[problemId]/+page.server.ts
@@ -22,17 +22,19 @@ export const actions = {
}
const data = await request.formData();
const name = data.get('name');
+ const pascalName = data.get('pascalName');
const sampleInput = data.get('sampleInput');
const sampleOutput = data.get('sampleOutput');
const realInput = data.get('realInput');
const realOutput = data.get('realOutput');
- if (!name || !sampleInput || !sampleOutput || !realInput || !realOutput) {
+ if (!name || !pascalName || !sampleInput || !sampleOutput || !realInput || !realOutput) {
return { success: false };
}
await db.problem.update({
where: { id: problemId },
data: {
+ pascalName: pascalName.toString(),
friendlyName: name.toString(),
sampleInput: sampleInput.toString(),
sampleOutput: sampleOutput.toString(),
diff --git a/web/src/routes/admin/problems/[problemId]/+page.svelte b/web/src/routes/admin/problems/[problemId]/+page.svelte
index b00588e..ea1c09f 100644
--- a/web/src/routes/admin/problems/[problemId]/+page.svelte
+++ b/web/src/routes/admin/problems/[problemId]/+page.svelte
@@ -61,8 +61,8 @@
{/if}