X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Ffeeds.ts;h=1bef9891b358e304613c3d440444d44031e6db4d;hb=c8861d5dc0436ef4342ce517241e3591fa256a13;hp=3c8532bd93355d6e7910959518cfbf94ce867820;hpb=fe3a55b071c99b346e9e9ab786f5d219e5a064cd;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/feeds.ts b/server/middlewares/validators/feeds.ts index 3c8532bd9..1bef9891b 100644 --- a/server/middlewares/validators/feeds.ts +++ b/server/middlewares/validators/feeds.ts @@ -1,28 +1,34 @@ import * as express from 'express' -import { param, query } from 'express-validator/check' -import { isAccountIdExist, isAccountNameValid } from '../../helpers/custom-validators/accounts' -import { join } from 'path' -import { isIdOrUUIDValid } from '../../helpers/custom-validators/misc' +import { param, query } from 'express-validator' +import { isIdOrUUIDValid, isIdValid } from '../../helpers/custom-validators/misc' import { logger } from '../../helpers/logger' import { areValidationErrors } from './utils' import { isValidRSSFeed } from '../../helpers/custom-validators/feeds' -import { isVideoChannelExist } from '../../helpers/custom-validators/video-channels' -import { isVideoExist } from '../../helpers/custom-validators/videos' +import { doesVideoExist } from '../../helpers/middlewares/videos' +import { + doesAccountIdExist, + doesAccountNameWithHostExist, + doesVideoChannelIdExist, + doesVideoChannelNameWithHostExist +} from '../../helpers/middlewares' const videoFeedsValidator = [ param('format').optional().custom(isValidRSSFeed).withMessage('Should have a valid format (rss, atom, json)'), query('format').optional().custom(isValidRSSFeed).withMessage('Should have a valid format (rss, atom, json)'), - query('accountId').optional().custom(isIdOrUUIDValid), - query('accountName').optional().custom(isAccountNameValid), - query('videoChannelId').optional().custom(isIdOrUUIDValid), + query('accountId').optional().custom(isIdValid), + query('accountName').optional(), + query('videoChannelId').optional().custom(isIdValid), + query('videoChannelName').optional(), async (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking feeds parameters', { parameters: req.query }) if (areValidationErrors(req, res)) return - if (req.query.accountId && !await isAccountIdExist(req.query.accountId, res)) return - if (req.query.videoChannelId && !await isVideoChannelExist(req.query.videoChannelId, res)) return + if (req.query.accountId && !await doesAccountIdExist(req.query.accountId, res)) return + if (req.query.videoChannelId && !await doesVideoChannelIdExist(req.query.videoChannelId, res)) return + if (req.query.accountName && !await doesAccountNameWithHostExist(req.query.accountName, res)) return + if (req.query.videoChannelName && !await doesVideoChannelNameWithHostExist(req.query.videoChannelName, res)) return return next() } @@ -38,7 +44,7 @@ const videoCommentsFeedsValidator = [ if (areValidationErrors(req, res)) return - if (req.query.videoId && !await isVideoExist(req.query.videoId, res)) return + if (req.query.videoId && !await doesVideoExist(req.query.videoId, res)) return return next() }