X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fuser-subscriptions.ts;h=48ce90d7b0f7f30a82f76034e214b958ebf644a3;hb=082d32eb8873190e48329b61b91f87d71f3cf812;hp=5d4cc94c52c3db5e2e3424980e89edbdde00d550;hpb=610d0be13b3d01f653ef269271dd667a57c85ef2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/user-subscriptions.ts b/server/middlewares/validators/user-subscriptions.ts index 5d4cc94c5..48ce90d7b 100644 --- a/server/middlewares/validators/user-subscriptions.ts +++ b/server/middlewares/validators/user-subscriptions.ts @@ -1,11 +1,24 @@ -import * as express from 'express' +import express from 'express' import { body, param, query } from 'express-validator' -import { logger } from '../../helpers/logger' -import { areValidationErrors } from './utils' -import { ActorFollowModel } from '../../models/activitypub/actor-follow' +import { HttpStatusCode } from '../../../shared/models/http/http-error-codes' import { areValidActorHandles, isValidActorHandle } from '../../helpers/custom-validators/activitypub/actor' import { toArray } from '../../helpers/custom-validators/misc' +import { logger } from '../../helpers/logger' import { WEBSERVER } from '../../initializers/constants' +import { ActorFollowModel } from '../../models/actor/actor-follow' +import { areValidationErrors } from './shared' + +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)'), @@ -48,11 +61,10 @@ const userSubscriptionGetValidator = [ const subscription = await ActorFollowModel.loadByActorAndTargetNameAndHostForAPI(user.Account.Actor.id, name, host) if (!subscription || !subscription.ActorFollowing.VideoChannel) { - return res - .status(404) - .json({ - error: `Subscription ${req.params.uri} not found.` - }) + return res.fail({ + status: HttpStatusCode.NOT_FOUND_404, + message: `Subscription ${req.params.uri} not found.` + }) } res.locals.subscription = subscription @@ -64,6 +76,7 @@ const userSubscriptionGetValidator = [ export { areSubscriptionsExistValidator, + userSubscriptionListValidator, userSubscriptionAddValidator, userSubscriptionGetValidator }