28 lines
823 B
Diff
28 lines
823 B
Diff
--- a/server/channels/app/role.go
|
|
+++ b/server/channels/app/role.go
|
|
@@ -258,16 +258,12 @@ func (a *App) CheckRolesExist(roleNames []string) *model.AppError {
|
|
return err
|
|
}
|
|
|
|
- for _, name := range roleNames {
|
|
- nameFound := false
|
|
- for _, role := range roles {
|
|
- if name == role.Name {
|
|
- nameFound = true
|
|
- break
|
|
- }
|
|
- }
|
|
- if !nameFound {
|
|
- return model.NewAppError("CheckRolesExist", "app.role.check_roles_exist.role_not_found", nil, "role="+name, http.StatusBadRequest)
|
|
- }
|
|
+ roleSet := make(map[string]bool, len(roles))
|
|
+ for _, role := range roles {
|
|
+ roleSet[role.Name] = true
|
|
+ }
|
|
+ for _, name := range roleNames {
|
|
+ if !roleSet[name] {
|
|
+ return model.NewAppError("CheckRolesExist", "app.role.check_roles_exist.role_not_found", nil, "role="+name, http.StatusBadRequest)
|
|
+ }
|
|
}
|
|
|
|
return nil
|