From 6c75662b824491a20a757a5eec59556a866374b5 Mon Sep 17 00:00:00 2001 From: Corey Hulen Date: Fri, 6 May 2016 11:28:22 -0700 Subject: PLT-2697 Fixing team admins (#2900) * PLT-2697 Fixing team admins * Fixing eslint error * Fixing loc issues * Fixing func * Fixing func --- model/team_member.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'model/team_member.go') diff --git a/model/team_member.go b/model/team_member.go index 80ca9f2a3..ae687c109 100644 --- a/model/team_member.go +++ b/model/team_member.go @@ -58,6 +58,48 @@ func TeamMembersFromJson(data io.Reader) []*TeamMember { } } +func IsValidTeamRoles(teamRoles string) bool { + + roles := strings.Split(teamRoles, " ") + + for _, r := range roles { + if !isValidTeamRole(r) { + return false + } + } + + return true +} + +func isValidTeamRole(role string) bool { + if role == "" { + return true + } + + if role == ROLE_TEAM_ADMIN { + return true + } + + return false +} + +func IsInTeamRole(teamRoles string, inRole string) bool { + roles := strings.Split(teamRoles, " ") + + for _, r := range roles { + if r == inRole { + return true + } + + } + + return false +} + +func (o *TeamMember) IsTeamAdmin() bool { + return IsInTeamRole(o.Roles, ROLE_TEAM_ADMIN) +} + func (o *TeamMember) IsValid() *AppError { if len(o.TeamId) != 26 { -- cgit v1.2.3-1-g7c22