[MM-44842] Add restore_group permission (#21806)

* Add restore_group permission

* Fix tests failing due to new permission in groups

* Add new migration to add custom_group_restore permission

* Add mock for new migration function

* Fix tests

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Этот коммит содержится в:
Shivashis Padhi
2022-12-19 22:31:59 +05:30
коммит произвёл GitHub
родитель 5f6fc3150d
Коммит 79193240e9
8 изменённых файлов: 48 добавлений и 2 удалений

Просмотреть файл

@@ -168,6 +168,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
model.PermissionCreateCustomGroup.Id,
model.PermissionEditCustomGroup.Id,
model.PermissionDeleteCustomGroup.Id,
model.PermissionRestoreCustomGroup.Id,
model.PermissionManageCustomGroupMembers.Id,
},
"system_post_all": {
@@ -228,6 +229,7 @@ func TestDoEmojisPermissionsMigration(t *testing.T) {
model.PermissionEditCustomGroup.Id,
model.PermissionDeleteCustomGroup.Id,
model.PermissionManageCustomGroupMembers.Id,
model.PermissionRestoreCustomGroup.Id,
model.PermissionListPublicTeams.Id,
model.PermissionJoinPublicTeams.Id,
model.PermissionCreateDirectChannel.Id,

Просмотреть файл

@@ -994,6 +994,30 @@ func (a *App) getAddCustomUserGroupsPermissions() (permissionsMap, error) {
return t, nil
}
func (a *App) getAddCustomUserGroupsPermissionRestore() (permissionsMap, error) {
t := []permissionTransformation{}
customGroupPermissions := []string{
model.PermissionRestoreCustomGroup.Id,
}
t = append(t, permissionTransformation{
On: isExactRole(model.SystemUserRoleId),
Add: customGroupPermissions,
})
t = append(t, permissionTransformation{
On: isExactRole(model.SystemAdminRoleId),
Add: customGroupPermissions,
})
t = append(t, permissionTransformation{
On: isExactRole(model.SystemCustomGroupAdminRoleId),
Add: customGroupPermissions,
})
return t, nil
}
func (a *App) getAddPlaybooksPermissions() (permissionsMap, error) {
transformations := []permissionTransformation{}
@@ -1110,6 +1134,7 @@ func (s *Server) doPermissionsMigrations() error {
{Key: model.MigrationKeyAddCustomUserGroupsPermissions, Migration: a.getAddCustomUserGroupsPermissions},
{Key: model.MigrationKeyAddPlayboosksManageRolesPermissions, Migration: a.getPlaybooksPermissionsAddManageRoles},
{Key: model.MigrationKeyAddProductsBoardsPermissions, Migration: a.getProductsBoardsPermissions},
{Key: model.MigrationKeyAddCustomUserGroupsPermissionRestore, Migration: a.getAddCustomUserGroupsPermissionRestore},
}
roles, err := s.Store().Role().GetAll()