diff --git a/src/categories/data.js b/src/categories/data.js index 832ed4ca97..07aa9eb3b9 100644 --- a/src/categories/data.js +++ b/src/categories/data.js @@ -56,25 +56,23 @@ module.exports = function (Categories) { }; }; +function defaultMinMaxTags(category, fields, fieldName, defaultField) { + if (!fields.length || fields.includes(fieldName)) { + const useDefault = !category.hasOwnProperty(fieldName) || + category[fieldName] === null || + category[fieldName] === '' || + !parseInt(category[fieldName], 10); + category[fieldName] = useDefault ? meta.config[defaultField] : category[fieldName]; + } +} + function modifyCategory(category, fields) { if (!category) { return; } - if (!fields.length || fields.includes('minTags')) { - const useDefault = !category.hasOwnProperty('minTags') || - category.minTags === null || - category.minTags === '' || - !parseInt(category.minTags, 10); - category.minTags = useDefault ? meta.config.minimumTagsPerTopic : category.minTags; - } - if (!fields.length || fields.includes('maxTags')) { - const useDefault = !category.hasOwnProperty('maxTags') || - category.maxTags === null || - category.maxTags === '' || - !parseInt(category.maxTags, 10); - category.maxTags = useDefault ? meta.config.maximumTagsPerTopic : category.maxTags; - } + defaultMinMaxTags(category, fields, 'minTags', 'minimumTagsPerTopic'); + defaultMinMaxTags(category, fields, 'maxTags', 'maximumTagsPerTopic'); db.parseIntFields(category, intFields, fields);