add manage_remote_clusters permission (#16252)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
09c7f7c445
Коммит
213345fa2c
@@ -181,6 +181,7 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) {
|
|||||||
"system_admin": allPermissionIDs,
|
"system_admin": allPermissionIDs,
|
||||||
}
|
}
|
||||||
assert.Contains(t, allPermissionIDs, model.PERMISSION_MANAGE_SHARED_CHANNELS.Id, "manage_shared_channels permission not found")
|
assert.Contains(t, allPermissionIDs, model.PERMISSION_MANAGE_SHARED_CHANNELS.Id, "manage_shared_channels permission not found")
|
||||||
|
assert.Contains(t, allPermissionIDs, model.PERMISSION_MANAGE_REMOTE_CLUSTERS.Id, "manage_remote_clusters permission not found")
|
||||||
|
|
||||||
// Check the migration matches what's expected.
|
// Check the migration matches what's expected.
|
||||||
for name, permissions := range expected1 {
|
for name, permissions := range expected1 {
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ const (
|
|||||||
PERMISSION_READ_PRIVATE_CHANNEL_GROUPS = "read_private_channel_groups"
|
PERMISSION_READ_PRIVATE_CHANNEL_GROUPS = "read_private_channel_groups"
|
||||||
PERMISSION_EDIT_BRAND = "edit_brand"
|
PERMISSION_EDIT_BRAND = "edit_brand"
|
||||||
PERMISSION_MANAGE_SHARED_CHANNELS = "manage_shared_channels"
|
PERMISSION_MANAGE_SHARED_CHANNELS = "manage_shared_channels"
|
||||||
|
PERMISSION_MANAGE_REMOTE_CLUSTERS = "manage_remote_clusters"
|
||||||
)
|
)
|
||||||
|
|
||||||
func isRole(roleName string) func(*model.Role, map[string]map[string]bool) bool {
|
func isRole(roleName string) func(*model.Role, map[string]map[string]bool) bool {
|
||||||
@@ -515,6 +516,15 @@ func (a *App) getAddManageSharedChannelsPermissionsMigration() (permissionsMap,
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *App) getAddManageRemoteClustersPermissionsMigration() (permissionsMap, error) {
|
||||||
|
return permissionsMap{
|
||||||
|
permissionTransformation{
|
||||||
|
On: isRole(model.SYSTEM_ADMIN_ROLE_ID),
|
||||||
|
Add: []string{PERMISSION_MANAGE_REMOTE_CLUSTERS},
|
||||||
|
},
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
// DoPermissionsMigrations execute all the permissions migrations need by the current version.
|
// DoPermissionsMigrations execute all the permissions migrations need by the current version.
|
||||||
func (a *App) DoPermissionsMigrations() error {
|
func (a *App) DoPermissionsMigrations() error {
|
||||||
PermissionsMigrations := []struct {
|
PermissionsMigrations := []struct {
|
||||||
@@ -535,6 +545,7 @@ func (a *App) DoPermissionsMigrations() error {
|
|||||||
{Key: model.MIGRATION_KEY_ADD_SYSTEM_CONSOLE_PERMISSIONS, Migration: a.getAddSystemConsolePermissionsMigration},
|
{Key: model.MIGRATION_KEY_ADD_SYSTEM_CONSOLE_PERMISSIONS, Migration: a.getAddSystemConsolePermissionsMigration},
|
||||||
{Key: model.MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS, Migration: a.getAddConvertChannelPermissionsMigration},
|
{Key: model.MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS, Migration: a.getAddConvertChannelPermissionsMigration},
|
||||||
{Key: model.MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS, Migration: a.getAddManageSharedChannelsPermissionsMigration},
|
{Key: model.MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS, Migration: a.getAddManageSharedChannelsPermissionsMigration},
|
||||||
|
{Key: model.MIGRATION_KEY_ADD_MANAGE_REMOTE_CLUSTERS_PERMISSIONS, Migration: a.getAddManageRemoteClustersPermissionsMigration},
|
||||||
{Key: model.MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS, Migration: a.getSystemRolesPermissionsMigration},
|
{Key: model.MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS, Migration: a.getSystemRolesPermissionsMigration},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,4 +23,5 @@ const (
|
|||||||
MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS = "add_convert_channel_permissions"
|
MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS = "add_convert_channel_permissions"
|
||||||
MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS = "add_system_roles_permissions"
|
MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS = "add_system_roles_permissions"
|
||||||
MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS = "manage_shared_channel_permissions"
|
MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS = "manage_shared_channel_permissions"
|
||||||
|
MIGRATION_KEY_ADD_MANAGE_REMOTE_CLUSTERS_PERMISSIONS = "manage_remote_clusters_permissions"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ var PERMISSION_USE_GROUP_MENTIONS *Permission
|
|||||||
var PERMISSION_READ_OTHER_USERS_TEAMS *Permission
|
var PERMISSION_READ_OTHER_USERS_TEAMS *Permission
|
||||||
var PERMISSION_EDIT_BRAND *Permission
|
var PERMISSION_EDIT_BRAND *Permission
|
||||||
var PERMISSION_MANAGE_SHARED_CHANNELS *Permission
|
var PERMISSION_MANAGE_SHARED_CHANNELS *Permission
|
||||||
|
var PERMISSION_MANAGE_REMOTE_CLUSTERS *Permission
|
||||||
|
|
||||||
var PERMISSION_SYSCONSOLE_READ_ABOUT *Permission
|
var PERMISSION_SYSCONSOLE_READ_ABOUT *Permission
|
||||||
var PERMISSION_SYSCONSOLE_WRITE_ABOUT *Permission
|
var PERMISSION_SYSCONSOLE_WRITE_ABOUT *Permission
|
||||||
@@ -526,6 +527,12 @@ func initializePermissions() {
|
|||||||
"authentication.permissions.manage_shared_channels.description",
|
"authentication.permissions.manage_shared_channels.description",
|
||||||
PermissionScopeSystem,
|
PermissionScopeSystem,
|
||||||
}
|
}
|
||||||
|
PERMISSION_MANAGE_REMOTE_CLUSTERS = &Permission{
|
||||||
|
"manage_remote_clusters",
|
||||||
|
"authentication.permissions.manage_remote_clusters.name",
|
||||||
|
"authentication.permissions.manage_remote_clusters.description",
|
||||||
|
PermissionScopeSystem,
|
||||||
|
}
|
||||||
PERMISSION_REMOVE_USER_FROM_TEAM = &Permission{
|
PERMISSION_REMOVE_USER_FROM_TEAM = &Permission{
|
||||||
"remove_user_from_team",
|
"remove_user_from_team",
|
||||||
"authentication.permissions.remove_user_from_team.name",
|
"authentication.permissions.remove_user_from_team.name",
|
||||||
@@ -937,6 +944,7 @@ func initializePermissions() {
|
|||||||
PERMISSION_DEMOTE_TO_GUEST,
|
PERMISSION_DEMOTE_TO_GUEST,
|
||||||
PERMISSION_EDIT_BRAND,
|
PERMISSION_EDIT_BRAND,
|
||||||
PERMISSION_MANAGE_SHARED_CHANNELS,
|
PERMISSION_MANAGE_SHARED_CHANNELS,
|
||||||
|
PERMISSION_MANAGE_REMOTE_CLUSTERS,
|
||||||
}
|
}
|
||||||
|
|
||||||
TeamScopedPermissions := []*Permission{
|
TeamScopedPermissions := []*Permission{
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ func GetMockStoreForSetupFunctions() *mocks.Store {
|
|||||||
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS, Value: "true"}, nil)
|
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_CONVERT_CHANNEL_PERMISSIONS, Value: "true"}, nil)
|
||||||
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS, Value: "true"}, nil)
|
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_SYSTEM_ROLES_PERMISSIONS, Value: "true"}, nil)
|
||||||
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS, Value: "true"}, nil)
|
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_MANAGE_SHARED_CHANNEL_PERMISSIONS, Value: "true"}, nil)
|
||||||
|
systemStore.On("GetByName", model.MIGRATION_KEY_ADD_MANAGE_REMOTE_CLUSTERS_PERMISSIONS).Return(&model.System{Name: model.MIGRATION_KEY_ADD_MANAGE_REMOTE_CLUSTERS_PERMISSIONS, Value: "true"}, nil)
|
||||||
systemStore.On("Get").Return(make(model.StringMap), nil)
|
systemStore.On("Get").Return(make(model.StringMap), nil)
|
||||||
systemStore.On("Save", mock.AnythingOfType("*model.System")).Return(nil)
|
systemStore.On("Save", mock.AnythingOfType("*model.System")).Return(nil)
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user