X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fredundancy.ts;h=8098e3a449a94a89f86e132c809de4a9e742ff92;hb=d5d9b6d7bfb7e9426b6462f7fdf285df39eea820;hp=e65d3b8d3d874c4495f3e11e1f2890e19e307cc1;hpb=f6e0de3f48993b2c0ef9bd2c24d2d7443acc6ace;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/redundancy.ts b/server/middlewares/validators/redundancy.ts index e65d3b8d3..8098e3a44 100644 --- a/server/middlewares/validators/redundancy.ts +++ b/server/middlewares/validators/redundancy.ts @@ -25,8 +25,12 @@ const videoFileRedundancyGetValidator = [ if (!await doesVideoExist(req.params.videoId, res)) return const video = res.locals.videoAll + + const paramResolution = req.params.resolution as unknown as number // We casted to int above + const paramFPS = req.params.fps as unknown as number // We casted to int above + const videoFile = video.VideoFiles.find(f => { - return f.resolution === req.params.resolution && (!req.params.fps || f.fps === req.params.fps) + return f.resolution === paramResolution && (!req.params.fps || paramFPS) }) if (!videoFile) return res.status(404).json({ error: 'Video file not found.' }) @@ -41,8 +45,12 @@ const videoFileRedundancyGetValidator = [ ] const videoPlaylistRedundancyGetValidator = [ - param('videoId').custom(isIdOrUUIDValid).not().isEmpty().withMessage('Should have a valid video id'), - param('streamingPlaylistType').custom(exists).withMessage('Should have a valid streaming playlist type'), + param('videoId') + .custom(isIdOrUUIDValid) + .not().isEmpty().withMessage('Should have a valid video id'), + param('streamingPlaylistType') + .customSanitizer(toIntOrNull) + .custom(exists).withMessage('Should have a valid streaming playlist type'), async (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking videoPlaylistRedundancyGetValidator parameters', { parameters: req.params }) @@ -51,7 +59,9 @@ const videoPlaylistRedundancyGetValidator = [ if (!await doesVideoExist(req.params.videoId, res)) return const video = res.locals.videoAll - const videoStreamingPlaylist = video.VideoStreamingPlaylists.find(p => p === req.params.streamingPlaylistType) + + const paramPlaylistType = req.params.streamingPlaylistType as unknown as number // We casted to int above + const videoStreamingPlaylist = video.VideoStreamingPlaylists.find(p => p.type === paramPlaylistType) if (!videoStreamingPlaylist) return res.status(404).json({ error: 'Video playlist not found.' }) res.locals.videoStreamingPlaylist = videoStreamingPlaylist