X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmiddlewares%2Fvalidators%2Fconfig.ts;h=270ce66f68a75a0058f2f2cc3c8a804b456ad91f;hb=576ad67aaccf713b2a923deb3cb9b2a990613985;hp=90108fa825d9cb57070d3248b31bd92fc4501186;hpb=a4101923e699e49ceb9ff36e971c75417fafc9f0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/middlewares/validators/config.ts b/server/middlewares/validators/config.ts index 90108fa82..270ce66f6 100644 --- a/server/middlewares/validators/config.ts +++ b/server/middlewares/validators/config.ts @@ -2,6 +2,8 @@ import * as express from 'express' import { body } from 'express-validator/check' import { isUserNSFWPolicyValid, isUserVideoQuotaValid, isUserVideoQuotaDailyValid } from '../../helpers/custom-validators/users' import { logger } from '../../helpers/logger' +import { CustomConfig } from '../../../shared/models/server/custom-config.model' +import { Emailer } from '../../lib/emailer' import { areValidationErrors } from './utils' const customConfigUpdateValidator = [ @@ -46,11 +48,27 @@ const customConfigUpdateValidator = [ logger.debug('Checking customConfigUpdateValidator parameters', { parameters: req.body }) if (areValidationErrors(req, res)) return + if (!checkInvalidConfigIfEmailDisabled(req.body as CustomConfig, res)) return return next() } ] +// --------------------------------------------------------------------------- + export { customConfigUpdateValidator } + +function checkInvalidConfigIfEmailDisabled (customConfig: CustomConfig, res: express.Response) { + if (Emailer.isEnabled()) return true + + if (customConfig.signup.requiresEmailVerification === true) { + res.status(400) + .send({ error: 'Emailer is disabled but you require signup email verification.' }) + .end() + return false + } + + return true +}