feat: Collection admins (#5273
* Split permissions for reading documents from updating collection * fix: Admins should have collection read permission, tests * tsc * Add admin option to permission selector * Combine publish and create permissions, update -> createDocuments where appropriate * Plural -> singular * wip * Quick version of collection structure loading, will revisit * Remove documentIds method * stash * fixing tests to account for admin creation * Add self-hosted migration * fix: Allow groups to have admin permission * Prefetch collection documents * fix: Document explorer (move/publish) not working with async documents * fix: Cannot re-parent document to collection by drag and drop * fix: Cannot drag to import into collection item without admin permission * Remove unused isEditor getter
This commit is contained in:
@@ -170,20 +170,30 @@ export default class WebsocketsProcessor {
|
||||
if (!collection) {
|
||||
return;
|
||||
}
|
||||
return socketio.to(`team-${collection.teamId}`).emit("entities", {
|
||||
event: event.name,
|
||||
collectionIds: [
|
||||
{
|
||||
id: collection.id,
|
||||
updatedAt: collection.updatedAt,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
return socketio
|
||||
.to(
|
||||
collection.permission
|
||||
? `collection-${event.collectionId}`
|
||||
: `team-${collection.teamId}`
|
||||
)
|
||||
.emit(event.name, presentCollection(collection));
|
||||
}
|
||||
|
||||
case "collections.delete": {
|
||||
const collection = await Collection.findByPk(event.collectionId, {
|
||||
paranoid: false,
|
||||
});
|
||||
if (!collection) {
|
||||
return;
|
||||
}
|
||||
|
||||
return socketio
|
||||
.to(`collection-${event.collectionId}`)
|
||||
.to(
|
||||
collection.permission
|
||||
? `collection-${event.collectionId}`
|
||||
: `team-${collection.teamId}`
|
||||
)
|
||||
.emit(event.name, {
|
||||
modelId: event.collectionId,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user