Merge branch 'develop' into feature/396-localisation

indiachan-spamvector
Thomas Lynch 1 year ago
commit 634305e22b
  1. 20
      controllers/forms/addassets.js
  2. 18
      controllers/forms/addflags.js

@ -3,10 +3,9 @@
const addAssets = require(__dirname+'/../../models/forms/addassets.js')
, dynamicResponse = require(__dirname+'/../../lib/misc/dynamic.js')
, deleteTempFiles = require(__dirname+'/../../lib/file/deletetempfiles.js')
, config = require(__dirname+'/../../lib/misc/config.js');
, config = require(__dirname+'/../../lib/misc/config.js')
, { checkSchema, numberBody } = require(__dirname+'/../../lib/input/schema.js');
//almost a copy of banners code, since it can be handled the same. maybe refactor both into 1 with a "type" arg or something
//or allowing 2 types to accommodate flags too where they are named (not the object.keys & .values use in manageassets template)
module.exports = {
//paramConverter: paramConverter({}),
@ -14,15 +13,12 @@ module.exports = {
controller: async (req, res, next) => {
const { globalLimits } = config.get;
const errors = [];
if (res.locals.numFiles === 0) {
errors.push('Must provide a file');
} else if (res.locals.numFiles > globalLimits.assetFiles.max) {
errors.push(`Exceeded max asset uploads in one request of ${globalLimits.assetFiles.max}`);
} else if (res.locals.board.assets.length+res.locals.numFiles > globalLimits.assetFiles.total) {
errors.push(`Total number of assets would exceed global limit of ${globalLimits.assetFiles.total}`);
}
const errors = await checkSchema([
{ result: res.locals.numFiles === 0, expected: false, blocking: true, error: 'Must provide a file' },
{ result: numberBody(res.locals.numFiles, 0, globalLimits.assetFiles.max), expected: true, error: `Exceeded max asset uploads in one request of ${globalLimits.assetFiles.max}` },
{ result: numberBody(res.locals.board.assets.length+res.locals.numFiles, 0, globalLimits.assetFiles.max), expected: true, error: `Total number of assets would exceed global limit of ${globalLimits.assetFiles.total}` },
]);
if (errors.length > 0) {
await deleteTempFiles(req).catch(console.error);

@ -3,7 +3,8 @@
const addFlags = require(__dirname+'/../../models/forms/addflags.js')
, dynamicResponse = require(__dirname+'/../../lib/misc/dynamic.js')
, deleteTempFiles = require(__dirname+'/../../lib/file/deletetempfiles.js')
, config = require(__dirname+'/../../lib/misc/config.js');
, config = require(__dirname+'/../../lib/misc/config.js')
, { checkSchema, numberBody } = require(__dirname+'/../../lib/input/schema.js');
module.exports = {
@ -12,15 +13,12 @@ module.exports = {
controller: async (req, res, next) => {
const { globalLimits } = config.get;
const errors = [];
if (res.locals.numFiles === 0) {
errors.push('Must provide a file');
} else if (res.locals.numFiles > globalLimits.flagFiles.max) {
errors.push(`Exceeded max flag uploads in one request of ${globalLimits.flagFiles.max}`);
} else if (res.locals.board.flags.length+res.locals.numFiles > globalLimits.flagFiles.total) {
errors.push(`Total number of flags would exceed global limit of ${globalLimits.flagFiles.total}`);
}
const errors = await checkSchema([
{ result: res.locals.numFiles === 0, expected: false, blocking: true, error: 'Must provide a file' },
{ result: numberBody(res.locals.numFiles, 0, globalLimits.flagFiles.max), expected: true, error: `Exceeded max flag uploads in one request of ${globalLimits.flagFiles.max}` },
{ result: numberBody(res.locals.board.flags.length+res.locals.numFiles, 0, globalLimits.flagFiles.max), expected: true, error: `Total number of flags would exceed global limit of ${globalLimits.flagFiles.total}` },
]);
if (errors.length > 0) {
await deleteTempFiles(req).catch(console.error);

Loading…
Cancel
Save