X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fuser-subscriptions.ts;h=d01043c176c8a6fb3490af8945e7adb388f3ddcc;hb=2f061e065ab43cc0b73595b619639a92952aeeba;hp=ab7962923f7eceed492598d4317a7a7fb93b9605;hpb=10363c74c1d869f0e0c7bc4d0367b1f34d1bb6a4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/user-subscriptions.ts b/server/middlewares/validators/user-subscriptions.ts index ab7962923..d01043c17 100644 --- a/server/middlewares/validators/user-subscriptions.ts +++ b/server/middlewares/validators/user-subscriptions.ts @@ -1,19 +1,18 @@ -import * as express from 'express' +import { arrayify } from '@shared/core-utils' +import express from 'express' import { body, param, query } from 'express-validator' -import { HttpStatusCode } from '../../../shared/core-utils/miscs/http-error-codes' +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'), + query('search') + .optional() + .not().isEmpty(), (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking userSubscriptionListValidator parameters', { parameters: req.query }) - if (areValidationErrors(req, res)) return return next() @@ -21,11 +20,10 @@ const userSubscriptionListValidator = [ ] const userSubscriptionAddValidator = [ - body('uri').custom(isValidActorHandle).withMessage('Should have a valid URI to follow (username@domain)'), + body('uri') + .custom(isValidActorHandle).withMessage('Should have a valid URI to follow (username@domain)'), (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking userSubscriptionAddValidator parameters', { parameters: req.body }) - if (areValidationErrors(req, res)) return return next() @@ -34,12 +32,10 @@ const userSubscriptionAddValidator = [ const areSubscriptionsExistValidator = [ query('uris') - .customSanitizer(toArray) - .custom(areValidActorHandles).withMessage('Should have a valid uri array'), + .customSanitizer(arrayify) + .custom(areValidActorHandles).withMessage('Should have a valid array of URIs'), (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking areSubscriptionsExistValidator parameters', { parameters: req.query }) - if (areValidationErrors(req, res)) return return next() @@ -47,18 +43,22 @@ const areSubscriptionsExistValidator = [ ] const userSubscriptionGetValidator = [ - param('uri').custom(isValidActorHandle).withMessage('Should have a valid URI to unfollow'), + param('uri') + .custom(isValidActorHandle), async (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking userSubscriptionGetValidator parameters', { parameters: req.params }) - if (areValidationErrors(req, res)) return let [ name, host ] = req.params.uri.split('@') if (host === WEBSERVER.HOST) host = null const user = res.locals.oauth.token.User - const subscription = await ActorFollowModel.loadByActorAndTargetNameAndHostForAPI(user.Account.Actor.id, name, host) + const subscription = await ActorFollowModel.loadByActorAndTargetNameAndHostForAPI({ + actorId: user.Account.Actor.id, + targetName: name, + targetHost: host, + state: 'accepted' + }) if (!subscription || !subscription.ActorFollowing.VideoChannel) { return res.fail({