mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-01-21 15:03:12 +01:00
feat: save privilege masking set when asserting group
This commit is contained in:
@@ -400,12 +400,21 @@ Actors.assertGroup = async (ids, options = {}) => {
|
||||
db.deleteObjectFields('handle:cid', queries.handleRemove),
|
||||
]);
|
||||
|
||||
// Privilege mask
|
||||
const masksAdd = categoryObjs.reduce((queries, category) => {
|
||||
if (category?._activitypub?.postingRestrictedToMods) {
|
||||
queries.push(db.setAdd.call(db, `cid:${category.cid}:privilegeMask`, 'topics:create'));
|
||||
}
|
||||
return queries;
|
||||
}, []);
|
||||
|
||||
await Promise.all([
|
||||
db.setObjectBulk(bulkSet),
|
||||
db.sortedSetAdd('usersRemote:lastCrawled', groups.map(() => now), groups.map(p => p.id)),
|
||||
db.sortedSetAddBulk(queries.searchAdd),
|
||||
db.setObject('handle:cid', queries.handleAdd),
|
||||
_migratePersonToGroup(categoryObjs),
|
||||
Promise.all(masksAdd),
|
||||
]);
|
||||
|
||||
return categoryObjs;
|
||||
|
||||
@@ -281,6 +281,7 @@ Mocks.category = async (actors) => {
|
||||
let {
|
||||
url, preferredUsername, icon, /* image, */
|
||||
name, summary, followers, inbox, endpoints, tag,
|
||||
postingRestrictedToMods,
|
||||
} = actor;
|
||||
preferredUsername = slugify(preferredUsername || name);
|
||||
/*
|
||||
@@ -338,6 +339,10 @@ Mocks.category = async (actors) => {
|
||||
inbox,
|
||||
sharedInbox: endpoints ? endpoints.sharedInbox : null,
|
||||
followersUrl: followers,
|
||||
|
||||
_activitypub: {
|
||||
postingRestrictedToMods,
|
||||
},
|
||||
};
|
||||
|
||||
return payload;
|
||||
|
||||
Reference in New Issue
Block a user