mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-20 03:11:57 +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),
|
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([
|
await Promise.all([
|
||||||
db.setObjectBulk(bulkSet),
|
db.setObjectBulk(bulkSet),
|
||||||
db.sortedSetAdd('usersRemote:lastCrawled', groups.map(() => now), groups.map(p => p.id)),
|
db.sortedSetAdd('usersRemote:lastCrawled', groups.map(() => now), groups.map(p => p.id)),
|
||||||
db.sortedSetAddBulk(queries.searchAdd),
|
db.sortedSetAddBulk(queries.searchAdd),
|
||||||
db.setObject('handle:cid', queries.handleAdd),
|
db.setObject('handle:cid', queries.handleAdd),
|
||||||
_migratePersonToGroup(categoryObjs),
|
_migratePersonToGroup(categoryObjs),
|
||||||
|
Promise.all(masksAdd),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
return categoryObjs;
|
return categoryObjs;
|
||||||
|
|||||||
@@ -281,6 +281,7 @@ Mocks.category = async (actors) => {
|
|||||||
let {
|
let {
|
||||||
url, preferredUsername, icon, /* image, */
|
url, preferredUsername, icon, /* image, */
|
||||||
name, summary, followers, inbox, endpoints, tag,
|
name, summary, followers, inbox, endpoints, tag,
|
||||||
|
postingRestrictedToMods,
|
||||||
} = actor;
|
} = actor;
|
||||||
preferredUsername = slugify(preferredUsername || name);
|
preferredUsername = slugify(preferredUsername || name);
|
||||||
/*
|
/*
|
||||||
@@ -338,6 +339,10 @@ Mocks.category = async (actors) => {
|
|||||||
inbox,
|
inbox,
|
||||||
sharedInbox: endpoints ? endpoints.sharedInbox : null,
|
sharedInbox: endpoints ? endpoints.sharedInbox : null,
|
||||||
followersUrl: followers,
|
followersUrl: followers,
|
||||||
|
|
||||||
|
_activitypub: {
|
||||||
|
postingRestrictedToMods,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
return payload;
|
return payload;
|
||||||
|
|||||||
Reference in New Issue
Block a user