X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fserver.ts;h=d040e8a1f286b628268d3db9cb1c6331c2bea9d8;hb=HEAD;hp=e62a17163905848a7200db29fac7e4177136fb39;hpb=0f6acda11681de90d38dd18669863c6e270851ee;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/server.ts b/server/middlewares/validators/server.ts index e62a17163..d040e8a1f 100644 --- a/server/middlewares/validators/server.ts +++ b/server/middlewares/validators/server.ts @@ -1,27 +1,26 @@ -import * as express from 'express' -import { logger } from '../../helpers/logger' -import { areValidationErrors } from './utils' +import express from 'express' +import { body } from 'express-validator' +import { HttpStatusCode } from '../../../shared/models/http/http-error-codes' import { isHostValid, isValidContactBody } from '../../helpers/custom-validators/servers' -import { ServerModel } from '../../models/server/server' -import { body } from 'express-validator/check' import { isUserDisplayNameValid } from '../../helpers/custom-validators/users' -import { Emailer } from '../../lib/emailer' +import { logger } from '../../helpers/logger' +import { CONFIG, isEmailEnabled } from '../../initializers/config' import { Redis } from '../../lib/redis' -import { CONFIG } from '../../initializers/constants' +import { ServerModel } from '../../models/server/server' +import { areValidationErrors } from './shared' const serverGetValidator = [ body('host').custom(isHostValid).withMessage('Should have a valid host'), async (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking serverGetValidator parameters', { parameters: req.body }) - if (areValidationErrors(req, res)) return const server = await ServerModel.loadByHost(req.body.host) if (!server) { - return res.status(404) - .send({ error: 'Server host not found.' }) - .end() + return res.fail({ + status: HttpStatusCode.NOT_FOUND_404, + message: 'Server host not found.' + }) } res.locals.server = server @@ -32,38 +31,36 @@ const serverGetValidator = [ const contactAdministratorValidator = [ body('fromName') - .custom(isUserDisplayNameValid).withMessage('Should have a valid name'), + .custom(isUserDisplayNameValid), body('fromEmail') - .isEmail().withMessage('Should have a valid email'), + .isEmail(), body('body') - .custom(isValidContactBody).withMessage('Should have a valid body'), + .custom(isValidContactBody), async (req: express.Request, res: express.Response, next: express.NextFunction) => { - logger.debug('Checking contactAdministratorValidator parameters', { parameters: req.body }) - if (areValidationErrors(req, res)) return if (CONFIG.CONTACT_FORM.ENABLED === false) { - return res - .status(409) - .send({ error: 'Contact form is not enabled on this instance.' }) - .end() + return res.fail({ + status: HttpStatusCode.CONFLICT_409, + message: 'Contact form is not enabled on this instance.' + }) } - if (Emailer.isEnabled() === false) { - return res - .status(409) - .send({ error: 'Emailer is not enabled on this instance.' }) - .end() + if (isEmailEnabled() === false) { + return res.fail({ + status: HttpStatusCode.CONFLICT_409, + message: 'Emailer is not enabled on this instance.' + }) } if (await Redis.Instance.doesContactFormIpExist(req.ip)) { logger.info('Refusing a contact form by %s: already sent one recently.', req.ip) - return res - .status(403) - .send({ error: 'You already sent a contact form recently.' }) - .end() + return res.fail({ + status: HttpStatusCode.FORBIDDEN_403, + message: 'You already sent a contact form recently.' + }) } return next()