diff options
Diffstat (limited to 'server/middlewares/validators/videos.ts')
-rw-r--r-- | server/middlewares/validators/videos.ts | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/server/middlewares/validators/videos.ts b/server/middlewares/validators/videos.ts index 29c1ee0ef..1d19ebfd9 100644 --- a/server/middlewares/validators/videos.ts +++ b/server/middlewares/validators/videos.ts | |||
@@ -24,10 +24,23 @@ function videosAddValidator (req: express.Request, res: express.Response, next: | |||
24 | logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) | 24 | logger.debug('Checking videosAdd parameters', { parameters: req.body, files: req.files }) |
25 | 25 | ||
26 | checkErrors(req, res, () => { | 26 | checkErrors(req, res, () => { |
27 | const videoFile = req.files['videofile'][0] | 27 | const videoFile: Express.Multer.File = req.files['videofile'][0] |
28 | const user = res.locals.oauth.token.User | ||
28 | 29 | ||
29 | db.Video.getDurationFromFile(videoFile.path) | 30 | user.isAbleToUploadVideo(videoFile) |
31 | .then(isAble => { | ||
32 | if (isAble === false) { | ||
33 | res.status(403).send('The user video quota is exceeded with this video.') | ||
34 | |||
35 | return undefined | ||
36 | } | ||
37 | |||
38 | return db.Video.getDurationFromFile(videoFile.path) | ||
39 | }) | ||
30 | .then(duration => { | 40 | .then(duration => { |
41 | // Previous test failed, abort | ||
42 | if (duration === undefined) return | ||
43 | |||
31 | if (!isVideoDurationValid('' + duration)) { | 44 | if (!isVideoDurationValid('' + duration)) { |
32 | return res.status(400).send('Duration of the video file is too big (max: ' + CONSTRAINTS_FIELDS.VIDEOS.DURATION.max + 's).') | 45 | return res.status(400).send('Duration of the video file is too big (max: ' + CONSTRAINTS_FIELDS.VIDEOS.DURATION.max + 's).') |
33 | } | 46 | } |