X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fvideos%2Fvideo-playlists.ts;h=5823795be4a7af41c59b3036711effed4539f285;hb=13176a07a95984a53cc59aec5217f2ce9806d1bc;hp=638122a2e871997e8ca304c3d3a634c9ba5efb0b;hpb=3e753302d8c911b59971c16a8018df0e1ab78465;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/videos/video-playlists.ts b/server/middlewares/validators/videos/video-playlists.ts index 638122a2e..5823795be 100644 --- a/server/middlewares/validators/videos/video-playlists.ts +++ b/server/middlewares/validators/videos/video-playlists.ts @@ -1,12 +1,20 @@ import * as express from 'express' -import { body, param, query, ValidationChain } from 'express-validator/check' +import { body, param, query, ValidationChain } from 'express-validator' import { UserRight, VideoPlaylistCreate, VideoPlaylistUpdate } from '../../../../shared' import { logger } from '../../../helpers/logger' import { UserModel } from '../../../models/account/user' import { areValidationErrors } from '../utils' import { isVideoImage } from '../../../helpers/custom-validators/videos' import { CONSTRAINTS_FIELDS } from '../../../initializers/constants' -import { isArrayOf, isIdOrUUIDValid, isIdValid, isUUIDValid, toIntArray, toValueOrNull } from '../../../helpers/custom-validators/misc' +import { + isArrayOf, + isIdOrUUIDValid, + isIdValid, + isUUIDValid, + toIntArray, + toIntOrNull, + toValueOrNull +} from '../../../helpers/custom-validators/misc' import { isVideoPlaylistDescriptionValid, isVideoPlaylistNameValid, @@ -199,8 +207,8 @@ const videoPlaylistsAddVideoValidator = [ const videoPlaylistsUpdateOrRemoveVideoValidator = [ param('playlistId') .custom(isIdOrUUIDValid).withMessage('Should have a valid playlist id/uuid'), - param('videoId') - .custom(isIdOrUUIDValid).withMessage('Should have an video id/uuid'), + param('playlistElementId') + .custom(isIdValid).withMessage('Should have an element id/uuid'), body('startTimestamp') .optional() .custom(isVideoPlaylistTimestampValid).withMessage('Should have a valid start timestamp'), @@ -214,12 +222,10 @@ const videoPlaylistsUpdateOrRemoveVideoValidator = [ if (areValidationErrors(req, res)) return if (!await doesVideoPlaylistExist(req.params.playlistId, res, 'all')) return - if (!await doesVideoExist(req.params.videoId, res, 'id')) return const videoPlaylist = res.locals.videoPlaylist - const video = res.locals.video - const videoPlaylistElement = await VideoPlaylistElementModel.loadByPlaylistAndVideo(videoPlaylist.id, video.id) + const videoPlaylistElement = await VideoPlaylistElementModel.loadById(req.params.playlistElementId) if (!videoPlaylistElement) { res.status(404) .json({ error: 'Video playlist element not found' }) @@ -374,12 +380,11 @@ function getCommonPlaylistEditAttributes () { .custom(isVideoPlaylistDescriptionValid).withMessage('Should have a valid description'), body('privacy') .optional() - .toInt() + .customSanitizer(toIntOrNull) .custom(isVideoPlaylistPrivacyValid).withMessage('Should have correct playlist privacy'), body('videoChannelId') .optional() - .customSanitizer(toValueOrNull) - .toInt() + .customSanitizer(toIntOrNull) ] as (ValidationChain | express.Handler)[] }