diff options
author | Saturnino Abril <saturnino.abril@gmail.com> | 2017-03-24 21:17:46 +0900 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2017-03-24 08:17:46 -0400 |
commit | d0af931e6e57b78432d5527b6e7b0be36c538144 (patch) | |
tree | 7196ec5e627fe27b539f982df4374e2d2d381f14 /app/team.go | |
parent | 4c1eb7ff5575be07b8410e76da4cdaa964c2ef91 (diff) | |
download | chat-d0af931e6e57b78432d5527b6e7b0be36c538144.tar.gz chat-d0af931e6e57b78432d5527b6e7b0be36c538144.tar.bz2 chat-d0af931e6e57b78432d5527b6e7b0be36c538144.zip |
APIv4 put /teams/{team_id}/patch (#5860)
Diffstat (limited to 'app/team.go')
-rw-r--r-- | app/team.go | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/app/team.go b/app/team.go index 0de6cffc4..dbff5ffac 100644 --- a/app/team.go +++ b/app/team.go @@ -100,13 +100,37 @@ func UpdateTeam(team *model.Team) (*model.Team, *model.AppError) { oldTeam.Sanitize() - message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_UPDATE_TEAM, "", "", "", nil) - message.Add("team", oldTeam.ToJson()) - go Publish(message) + sendUpdatedTeamEvent(oldTeam) return oldTeam, nil } +func PatchTeam(teamId string, patch *model.TeamPatch) (*model.Team, *model.AppError) { + team, err := GetTeam(teamId) + if err != nil { + return nil, err + } + + team.Patch(patch) + + updatedTeam, err := UpdateTeam(team) + if err != nil { + return nil, err + } + + updatedTeam.Sanitize() + + sendUpdatedTeamEvent(updatedTeam) + + return updatedTeam, nil +} + +func sendUpdatedTeamEvent(team *model.Team) { + message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_UPDATE_TEAM, "", "", "", nil) + message.Add("team", team.ToJson()) + go Publish(message) +} + func UpdateTeamMemberRoles(teamId string, userId string, newRoles string) (*model.TeamMember, *model.AppError) { var member *model.TeamMember if result := <-Srv.Store.Team().GetTeamsForUser(userId); result.Err != nil { |