Skip to content

Commit 5b11647

Browse files
committed
judge server working properly
1 parent 5cac727 commit 5b11647

10 files changed

Lines changed: 29 additions & 26 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
node_modules/
22
server/solutions/
3-
judge0/result/
3+
judge0/result/
4+
solutions/
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const mongoose = require('mongoose');
2-
const {Problem} = require('./problem/problem')
2+
const {Problem} = require('./../problem/problem')
33

44
var contestSchema = new mongoose.Schema({
55
'name':{

contest/models/ranking/rank.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"user":{
3+
"type":"string"
4+
}
5+
}

judge/compileProblem.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,9 @@ const base64tofile = async (base64,lang)=>{
112112
async function compileAndRunProblem(contest,problem,id,lang ,description){
113113
const filename= await base64tofile(description,lang);
114114
const file = await compileProblem(lang,filename);
115-
console.log(contest,problem)
116115
const result= await runCompiled(lang,file,contest,problem);
117116
const serverRes= await serverResult(contest,problem);
118117
const Result = await checkResult(result,serverRes);
119-
console.log(Result)
120118
return Result;
121119

122120
}

judge/result/output/MARH1/ab22.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
fdhdjdjd
1+
fdhdjdjd

judge/routes/solution.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,11 @@ router.get('/:id',(req,res)=>{
1414
}else if(solution){
1515
const sol2 = Object.assign({}, solution);
1616
const contest = sol2._doc.contest;
17-
const problem = solution._doc.problem;
18-
const description=solution._doc.description;
19-
const id = solution._doc.id;
20-
const language= solution._doc.language;
17+
const problem = sol2._doc.problem;
18+
const description=sol2._doc.description;
19+
const id = sol2._doc.id;
20+
const language= sol2._doc.language;
2121

22-
// console.log(sol2._doc.contest);
2322
judge.compileAndRunProblem(contest,problem,id,language ,description).then((result)=>{
2423
res.send(result + '***' + req.params.id);
2524
}).catch((e)=>{

server/routes/contest.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const express = require('express');
22
const fs = require('fs');
33
const path = require('path');
44
const _ = require('lodash');
5-
const Contest = require('./../../contest/models/contest');
5+
const Contest = require('./../../contest/models/contest/contest');
66
const Problem = require('./../../contest/models/problem/problem');
77
const problemRoute = require('./problems')
88

server/routes/problems.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ const express = require('express');
22
const _ = require('lodash')
33
const db = require('./../utils/db/db');
44
const Problem = require('./../../contest/models/problem/problem');
5-
const Contest = require('./../../contest/models/contest')
5+
const Contest = require('./../../contest/models/contest/contest')
66
const router = express.Router({mergeParams: true})
77

88
router.get('/:code',(req,res)=>{

server/routes/solution.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,7 @@ var upload = multer({dest:'solutions/'})
1616
var originalname = 'solution';
1717
router.post('/',upload.single(originalname),async (req,res)=>{
1818
var solution;
19-
20-
if (!req.file) {
21-
var count =await Solution.getObjCount(req.body.username,req.body.contest,req.body.problem)+1;
22-
solution = new Solution({
23-
problem:req.body.problem,
24-
contest:req.body.contest,
25-
username:req.body.username,
26-
id:req.body.contest+req.body.problem+req.body.username+count,
27-
language:req.body.language.toLowerCase(),
28-
description:req.body.description.toString('base64'),
29-
submitted_on:new Date()
30-
});
31-
}
32-
else if(req.file){
19+
if(req.file){
3320
var count =await Solution.getObjCount(req.body.username,req.body.contest,req.body.problem)+1;
3421
solution = new Solution({
3522
problem:req.body.problem,
@@ -41,6 +28,19 @@ router.post('/',upload.single(originalname),async (req,res)=>{
4128
submitted_on:new Date()
4229
});
4330
}
31+
32+
else if (!req.file) {
33+
var count =await Solution.getObjCount(req.body.username,req.body.contest,req.body.problem)+1;
34+
solution = new Solution({
35+
problem:req.body.problem,
36+
contest:req.body.contest,
37+
username:req.body.username,
38+
id:req.body.contest+req.body.problem+req.body.username+count,
39+
language:req.body.language.toLowerCase(),
40+
description:req.body.description.toString('base64'),
41+
submitted_on:new Date()
42+
});
43+
}
4444

4545
solution.save().then((sol) => {
4646
const agentOptions = new Object();

0 commit comments

Comments
 (0)