X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=server%2Fmiddlewares%2Fvalidators%2Fuser-subscriptions.ts;h=a54ecb704e544d447415e9f353d28c5b0884acb8;hb=daf6e4801052d3ca6be2fafd20bae2323b1ce175;hp=c5f8d9d4ce996b7fa9704a2181cfd9dc8650cea0;hpb=f37dc0dd14d9ce0b59c454c2c1b935fcbe9727e9;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/user-subscriptions.ts b/server/middlewares/validators/user-subscriptions.ts index c5f8d9d4c..a54ecb704 100644 --- a/server/middlewares/validators/user-subscriptions.ts +++ b/server/middlewares/validators/user-subscriptions.ts @@ -1,13 +1,23 @@ import * as express from 'express' -import 'express-validator' -import { body, param, query } from 'express-validator/check' +import { body, param, query } from 'express-validator' import { logger } from '../../helpers/logger' import { areValidationErrors } from './utils' import { ActorFollowModel } from '../../models/activitypub/actor-follow' import { areValidActorHandles, isValidActorHandle } from '../../helpers/custom-validators/activitypub/actor' -import { UserModel } from '../../models/account/user' -import { CONFIG } from '../../initializers' import { toArray } from '../../helpers/custom-validators/misc' +import { WEBSERVER } from '../../initializers/constants' + +const userSubscriptionListValidator = [ + query('search').optional().not().isEmpty().withMessage('Should have a valid search'), + + (req: express.Request, res: express.Response, next: express.NextFunction) => { + logger.debug('Checking userSubscriptionListValidator parameters', { parameters: req.query }) + + if (areValidationErrors(req, res)) return + + return next() + } +] const userSubscriptionAddValidator = [ body('uri').custom(isValidActorHandle).withMessage('Should have a valid URI to follow (username@domain)'), @@ -44,9 +54,9 @@ const userSubscriptionGetValidator = [ if (areValidationErrors(req, res)) return let [ name, host ] = req.params.uri.split('@') - if (host === CONFIG.WEBSERVER.HOST) host = null + if (host === WEBSERVER.HOST) host = null - const user: UserModel = res.locals.oauth.token.User + const user = res.locals.oauth.token.User const subscription = await ActorFollowModel.loadByActorAndTargetNameAndHostForAPI(user.Account.Actor.id, name, host) if (!subscription || !subscription.ActorFollowing.VideoChannel) { @@ -55,7 +65,6 @@ const userSubscriptionGetValidator = [ .json({ error: `Subscription ${req.params.uri} not found.` }) - .end() } res.locals.subscription = subscription @@ -67,6 +76,7 @@ const userSubscriptionGetValidator = [ export { areSubscriptionsExistValidator, + userSubscriptionListValidator, userSubscriptionAddValidator, userSubscriptionGetValidator }