X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Ffeeds.ts;h=969ce2526ef98009c5d4a254eee2dd71b9e8a181;hb=662fb3ab5e3aafa49c96809a61239c9046a5c485;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..969ce2526 100644 --- a/server/middlewares/validators/feeds.ts +++ b/server/middlewares/validators/feeds.ts @@ -1,13 +1,13 @@ 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 { isAccountIdExist, isAccountNameValid, isAccountNameWithHostExist } from '../../helpers/custom-validators/accounts' import { isIdOrUUIDValid } 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 { isVideoChannelIdExist, isVideoChannelNameWithHostExist } from '../../helpers/custom-validators/video-channels' import { isVideoExist } from '../../helpers/custom-validators/videos' +import { isActorPreferredUsernameValid } from '../../helpers/custom-validators/activitypub/actor' const videoFeedsValidator = [ param('format').optional().custom(isValidRSSFeed).withMessage('Should have a valid format (rss, atom, json)'), @@ -15,6 +15,7 @@ const videoFeedsValidator = [ query('accountId').optional().custom(isIdOrUUIDValid), query('accountName').optional().custom(isAccountNameValid), query('videoChannelId').optional().custom(isIdOrUUIDValid), + query('videoChannelName').optional().custom(isActorPreferredUsernameValid), async (req: express.Request, res: express.Response, next: express.NextFunction) => { logger.debug('Checking feeds parameters', { parameters: req.query }) @@ -22,7 +23,9 @@ const videoFeedsValidator = [ 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.videoChannelId && !await isVideoChannelIdExist(req.query.videoChannelId, res)) return + if (req.query.accountName && !await isAccountNameWithHostExist(req.query.accountName, res)) return + if (req.query.videoChannelName && !await isVideoChannelNameWithHostExist(req.query.videoChannelName, res)) return return next() }