summaryrefslogtreecommitdiffstats
path: root/app/permissions.go
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2018-06-01 12:49:02 +0100
committerGitHub <noreply@github.com>2018-06-01 12:49:02 +0100
commit516a097e1ad588d860b374ef1d0eff202adb286b (patch)
treec6ca77b0ddee05c5fd2b794f09580a65e672ccaf /app/permissions.go
parent27e7841a734e9c3ed71f988a653f5865d2ef6f91 (diff)
downloadchat-516a097e1ad588d860b374ef1d0eff202adb286b.tar.gz
chat-516a097e1ad588d860b374ef1d0eff202adb286b.tar.bz2
chat-516a097e1ad588d860b374ef1d0eff202adb286b.zip
MM-10757: Default roles from scheme should be keyed by name not ID. (#8894)
* MM-10757: Default roles from scheme should be keyed by name not ID. * Update permissions import/export.
Diffstat (limited to 'app/permissions.go')
-rw-r--r--app/permissions.go23
1 files changed, 11 insertions, 12 deletions
diff --git a/app/permissions.go b/app/permissions.go
index 46090070e..5b1b49de2 100644
--- a/app/permissions.go
+++ b/app/permissions.go
@@ -57,7 +57,7 @@ func (a *App) ExportPermissions(w io.Writer) error {
for _, scheme := range schemeBatch {
- roleIDs := []string{
+ roleNames := []string{
scheme.DefaultTeamAdminRole,
scheme.DefaultTeamUserRole,
scheme.DefaultChannelAdminRole,
@@ -65,11 +65,11 @@ func (a *App) ExportPermissions(w io.Writer) error {
}
roles := []*model.Role{}
- for _, roleID := range roleIDs {
- if len(roleID) == 0 {
+ for _, roleName := range roleNames {
+ if len(roleName) == 0 {
continue
}
- role, err := a.GetRole(roleID)
+ role, err := a.GetRoleByName(roleName)
if err != nil {
return err
}
@@ -125,18 +125,18 @@ func (a *App) ImportPermissions(jsonl io.Reader) error {
createdSchemeIDs = append(createdSchemeIDs, schemeCreated.Id)
schemeIn := schemeConveyor.Scheme()
- roleIDTuples := [][]string{
+ roleNameTuples := [][]string{
{schemeCreated.DefaultTeamAdminRole, schemeIn.DefaultTeamAdminRole},
{schemeCreated.DefaultTeamUserRole, schemeIn.DefaultTeamUserRole},
{schemeCreated.DefaultChannelAdminRole, schemeIn.DefaultChannelAdminRole},
{schemeCreated.DefaultChannelUserRole, schemeIn.DefaultChannelUserRole},
}
- for _, roleIDTuple := range roleIDTuples {
- if len(roleIDTuple[0]) == 0 || len(roleIDTuple[1]) == 0 {
+ for _, roleNameTuple := range roleNameTuples {
+ if len(roleNameTuple[0]) == 0 || len(roleNameTuple[1]) == 0 {
continue
}
- err = updateRole(a, schemeConveyor, roleIDTuple[0], roleIDTuple[1])
+ err = updateRole(a, schemeConveyor, roleNameTuple[0], roleNameTuple[1])
if err != nil {
// Delete the new Schemes. The new Roles are deleted automatically.
for _, schemeID := range createdSchemeIDs {
@@ -154,23 +154,22 @@ func (a *App) ImportPermissions(jsonl io.Reader) error {
return nil
}
-func updateRole(a *App, sc *model.SchemeConveyor, roleCreatedID, defaultRoleID string) error {
+func updateRole(a *App, sc *model.SchemeConveyor, roleCreatedName, defaultRoleName string) error {
var err *model.AppError
- roleCreated, err := a.GetRole(roleCreatedID)
+ roleCreated, err := a.GetRoleByName(roleCreatedName)
if err != nil {
return errors.New(err.Message)
}
var roleIn *model.Role
for _, role := range sc.Roles {
- if role.Id == defaultRoleID {
+ if role.Name == defaultRoleName {
roleIn = role
break
}
}
- roleCreated.Name = roleIn.Name
roleCreated.DisplayName = roleIn.DisplayName
roleCreated.Description = roleIn.Description
roleCreated.Permissions = roleIn.Permissions