refactor: closes #12629, allow passing arrays to meta.userOrGroupExists

This commit is contained in:
Barış Soner Uşaklı
2024-06-10 16:59:55 -04:00
parent be86d8efc7
commit bad1564301
3 changed files with 32 additions and 28 deletions

View File

@@ -24,20 +24,26 @@ Meta.templates = require('./templates');
Meta.blacklist = require('./blacklist');
Meta.languages = require('./languages');
const user = require('../user');
const groups = require('../groups');
/* Assorted */
Meta.userOrGroupExists = async function (slug) {
if (!slug) {
const isArray = Array.isArray(slug);
if ((isArray && slug.some(slug => !slug)) || (!isArray && !slug)) {
throw new Error('[[error:invalid-data]]');
}
const user = require('../user');
const groups = require('../groups');
slug = slugify(slug);
slug = isArray ? slug.map(s => slugify(s, false)) : slugify(slug);
const [userExists, groupExists] = await Promise.all([
user.existsBySlug(slug),
groups.existsBySlug(slug),
]);
return userExists || groupExists;
return isArray ?
slug.map((s, i) => userExists[i] || groupExists[i]):
(userExists || groupExists);
};
if (nconf.get('isPrimary')) {