From 0c4078b6b05b4b436c459c4f58faa5302ace8e12 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Tue, 5 Jun 2018 12:41:03 +0100 Subject: MM-9730 & MM-9729: Missing Server PRs (#8908) * MM-9730: API endpoint to update scheme-derived roles of TeamMembers. * MM-9729: API to update scheme-derived roles of ChannelMembers. --- app/role.go | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'app/role.go') diff --git a/app/role.go b/app/role.go index c9278e0bd..72cf43fe7 100644 --- a/app/role.go +++ b/app/role.go @@ -4,9 +4,9 @@ package app import ( - "reflect" - "net/http" + "reflect" + "strings" "github.com/mattermost/mattermost-server/model" ) @@ -90,3 +90,23 @@ func (a *App) sendUpdatedRoleEvent(role *model.Role) { a.Publish(message) }) } + +func RemoveRoles(rolesToRemove []string, roles string) string { + roleList := strings.Fields(roles) + newRoles := make([]string, 0) + + for _, role := range roleList { + shouldRemove := false + for _, roleToRemove := range rolesToRemove { + if role == roleToRemove { + shouldRemove = true + break + } + } + if !shouldRemove { + newRoles = append(newRoles, role) + } + } + + return strings.Join(newRoles, " ") +} -- cgit v1.2.3-1-g7c22