mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-06-23 05:11:32 +02:00
fix: #7901, handle group names that are translation keys
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const groups = require('../../groups');
|
||||
const user = require('../../user');
|
||||
const categories = require('../../categories');
|
||||
const privileges = require('../../privileges');
|
||||
const plugins = require('../../plugins');
|
||||
@@ -51,6 +52,14 @@ Categories.setPrivilege = async function (socket, data) {
|
||||
if (!data) {
|
||||
throw new Error('[[error:invalid-data]]');
|
||||
}
|
||||
const [userExists, groupExists] = await Promise.all([
|
||||
user.exists(data.member),
|
||||
groups.exists(data.member),
|
||||
]);
|
||||
|
||||
if (!userExists && !groupExists) {
|
||||
throw new Error('[[error:no-user-or-group]]');
|
||||
}
|
||||
|
||||
if (Array.isArray(data.privilege)) {
|
||||
await Promise.all(data.privilege.map(privilege => groups[data.set ? 'join' : 'leave']('cid:' + data.cid + ':privileges:' + privilege, data.member)));
|
||||
|
||||
Reference in New Issue
Block a user