Skip to content

Commit 3a8bae3

Browse files
committed
feature(project): add ProjectValidator
1 parent 72944d1 commit 3a8bae3

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import { Handler } from 'express'
2+
import BaseValidator from 'validators/baseValidator'
3+
import * as Joi from '@hapi/joi'
4+
5+
export default class ProjectValidator extends BaseValidator {
6+
POST: Handler
7+
8+
constructor() {
9+
super()
10+
this.POST = this.requestValidator(this.POSTSchema)
11+
}
12+
13+
POSTSchema = Joi.object({
14+
problem: Joi
15+
.string()
16+
.uri()
17+
.required(),
18+
submission: Joi
19+
.string()
20+
.uri()
21+
.required(),
22+
submissionDirs: Joi
23+
.array(),
24+
mode: Joi
25+
.string()
26+
.valid('sync', 'callback', 'poll'),
27+
callback: Joi
28+
.string()
29+
.uri()
30+
.when('mode', { is: 'callback', then: Joi.required() }),
31+
timelimit: Joi
32+
.number(),
33+
})
34+
}

0 commit comments

Comments
 (0)