diff --git a/packages/rocketchat-authorization/server/startup.js b/packages/rocketchat-authorization/server/startup.js index 82bb3ab1a8eb6..142de2284a1c2 100644 --- a/packages/rocketchat-authorization/server/startup.js +++ b/packages/rocketchat-authorization/server/startup.js @@ -21,10 +21,10 @@ Meteor.startup(function() { { _id: 'create-p', roles : ['admin', 'user', 'bot'] }, { _id: 'create-user', roles : ['admin'] }, { _id: 'clean-channel-history', roles : ['admin'] }, // special permission to bulk delete a channel's mesages - { _id: 'delete-c', roles : ['admin'] }, + { _id: 'delete-c', roles : ['admin', 'owner'] }, { _id: 'delete-d', roles : ['admin'] }, { _id: 'delete-message', roles : ['admin', 'owner', 'moderator'] }, - { _id: 'delete-p', roles : ['admin'] }, + { _id: 'delete-p', roles : ['admin', 'owner'] }, { _id: 'delete-user', roles : ['admin'] }, { _id: 'edit-message', roles : ['admin', 'owner', 'moderator'] }, { _id: 'edit-other-user-active-status', roles : ['admin'] }, diff --git a/server/startup/migrations/v111.js b/server/startup/migrations/v111.js new file mode 100644 index 0000000000000..a51a388a97bcd --- /dev/null +++ b/server/startup/migrations/v111.js @@ -0,0 +1,10 @@ +// Migration to give delete channel, delete group permissions to owner +RocketChat.Migrations.add({ + version: 111, + up() { + if (RocketChat.models && RocketChat.models.Permissions) { + RocketChat.models.Permissions.update({ _id: 'delete-c' }, { $addToSet: { roles: 'owner' } }); + RocketChat.models.Permissions.update({ _id: 'delete-p' }, { $addToSet: { roles: 'owner' } }); + } + } +});