From 31d260d3a37076ca57a4c99558a400eb8c017c59 Mon Sep 17 00:00:00 2001 From: mdigiovanna Date: Thu, 23 Jan 2025 19:28:42 -0500 Subject: [PATCH] Update upload_privileges.js --- src/upgrades/1.1.1/upload_privileges.js | 63 ++++++++++++++----------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/src/upgrades/1.1.1/upload_privileges.js b/src/upgrades/1.1.1/upload_privileges.js index d343f4ebfa..a63e609003 100644 --- a/src/upgrades/1.1.1/upload_privileges.js +++ b/src/upgrades/1.1.1/upload_privileges.js @@ -2,37 +2,46 @@ const async = require('async'); const db = require('../../database'); - +const privilegesAPI = require('../../privileges'); +const meta = require('../../meta'); module.exports = { name: 'Giving upload privileges', timestamp: Date.UTC(2016, 6, 12), method: function (callback) { - const privilegesAPI = require('../../privileges'); - const meta = require('../../meta'); + db.getSortedSetRange('categories:cid', 0, -1, catchErrors(callback)); + } +} + +function catchErrors(callback) { + return function (err, cids) { if (err) { + return callback(err); + } + + async.eachSeries(cids, cidNext, callback); + } +} - db.getSortedSetRange('categories:cid', 0, -1, (err, cids) => { - if (err) { - return callback(err); - } +function cidNext(cid, next) { + privilegesAPI.categories.list(cid, (err, data) => { + if (err) { + return next(err); + } + + async.eachSeries(data.groups, (group, groupNext) => { + groupNext(group, groupNext); + }, next); + }) +} - async.eachSeries(cids, (cid, next) => { - privilegesAPI.categories.list(cid, (err, data) => { - if (err) { - return next(err); - } - async.eachSeries(data.groups, (group, next) => { - if (group.name === 'guests' && parseInt(meta.config.allowGuestUploads, 10) !== 1) { - return next(); - } - if (group.privileges['groups:read']) { - privilegesAPI.categories.give(['upload:post:image'], cid, group.name, next); - } else { - next(); - } - }, next); - }); - }, callback); - }); - }, -}; +function groupNext(callback) { + if (group.name === 'guests' && parseInt(meta.config.allowGuestUploads, 10) !== 1) { + return next(); + } + + if (group.privileges['groups:read']) { + privilegesAPI.categories.give(['upload:post:image'], cid, group.name, next); + } else { + next(); + } +} \ No newline at end of file