X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fwebfinger.ts;h=dcfba99fa84551bddaf5c256c7be6c154de3b7ea;hb=2c015b54192f2080f756c424173bac2bd53e7ca9;hp=d50e6527fe4ac7ab3d9764c6372e90b96df91163;hpb=453e83ea5d81d203ba34bc43cd5c2c750ba40568;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/webfinger.ts b/server/middlewares/validators/webfinger.ts index d50e6527f..dcfba99fa 100644 --- a/server/middlewares/validators/webfinger.ts +++ b/server/middlewares/validators/webfinger.ts @@ -1,32 +1,31 @@ -import * as express from 'express' +import express from 'express' import { query } from 'express-validator' +import { HttpStatusCode } from '../../../shared/models/http/http-error-codes' import { isWebfingerLocalResourceValid } from '../../helpers/custom-validators/webfinger' -import { logger } from '../../helpers/logger' -import { ActorModel } from '../../models/activitypub/actor' -import { areValidationErrors } from './utils' import { getHostWithPort } from '../../helpers/express-utils' +import { ActorModel } from '../../models/actor/actor' +import { areValidationErrors } from './shared' const webfingerValidator = [ - query('resource').custom(isWebfingerLocalResourceValid).withMessage('Should have a valid webfinger resource'), + query('resource') + .custom(isWebfingerLocalResourceValid), async (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking webfinger parameters', { parameters: req.query }) - if (areValidationErrors(req, res)) return // Remove 'acct:' from the beginning of the string const nameWithHost = getHostWithPort(req.query.resource.substr(5)) const [ name ] = nameWithHost.split('@') - // FIXME: we don't need the full actor - const actor = await ActorModel.loadLocalByName(name) + const actor = await ActorModel.loadLocalUrlByName(name) if (!actor) { - return res.status(404) - .send({ error: 'Actor not found' }) - .end() + return res.fail({ + status: HttpStatusCode.NOT_FOUND_404, + message: 'Actor not found' + }) } - res.locals.actorFull = actor + res.locals.actorUrl = actor return next() } ]