diff options
Diffstat (limited to 'model/team_member.go')
-rw-r--r-- | model/team_member.go | 42 |
1 files changed, 42 insertions, 0 deletions
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 { |