Limit ban note length to global limits log_message length

indiachan-spamvector
Thomas Lynch 2 years ago
parent 78bd713274
commit 6db781e8b8
  1. 7
      controllers/forms/editbans.js

@ -1,6 +1,7 @@
'use strict';
const removeBans = require(__dirname+'/../../models/forms/removebans.js')
const config = require(__dirname+'/../../lib/misc/config.js')
, removeBans = require(__dirname+'/../../models/forms/removebans.js')
, dynamicResponse = require(__dirname+'/../../lib/misc/dynamic.js')
, denyAppeals = require(__dirname+'/../../models/forms/denybanappeals.js')
, editBanDuration = require(__dirname+'/../../models/forms/editbanduration.js')
@ -21,11 +22,13 @@ module.exports = {
controller: async (req, res, next) => {
const { globalLimits } = config.get;
const errors = await checkSchema([
{ result: lengthBody(req.body.checkedbans, 1), expected: false, error: 'Must select at least one ban' },
{ result: inArrayBody(req.body.option, ['unban', 'edit_duration', 'edit_note', 'upgrade', 'deny_appeal']), expected: true, error: 'Invalid ban action' },
{ result: req.body.option !== 'edit_duration' || numberBody(req.body.ban_duration, 1), expected: true, error: 'Invalid ban duration' },
{ result: req.body.option !== 'edit_note' || !lengthBody(req.body.ban_note, 1), expected: true, error: 'Invalid ban note' },
{ result: req.body.option !== 'edit_note' || !lengthBody(req.body.ban_note, 1, globalLimits.fieldLength.log_message), expected: true, error: `Ban note must be ${globalLimits.fieldLength.log_message} characters or less` },
{ result: req.body.option !== 'upgrade' || inArrayBody(req.body.upgrade, [1, 2]), expected: true, error: 'Invalid ban upgrade option' },
]);

Loading…
Cancel
Save