diff options
author | Corey Hulen <corey@hulen.com> | 2016-05-06 11:28:22 -0700 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-06 14:28:22 -0400 |
commit | 6c75662b824491a20a757a5eec59556a866374b5 (patch) | |
tree | 2f531a680aaa45bc915d51764eb846bc1b80fa68 /model/team_member.go | |
parent | 4f799b980fd457e5dc97d2427a154576d7a5eded (diff) | |
download | chat-6c75662b824491a20a757a5eec59556a866374b5.tar.gz chat-6c75662b824491a20a757a5eec59556a866374b5.tar.bz2 chat-6c75662b824491a20a757a5eec59556a866374b5.zip |
PLT-2697 Fixing team admins (#2900)
* PLT-2697 Fixing team admins
* Fixing eslint error
* Fixing loc issues
* Fixing func
* Fixing func
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 { |