diff options
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 { |