From d0af931e6e57b78432d5527b6e7b0be36c538144 Mon Sep 17 00:00:00 2001 From: Saturnino Abril Date: Fri, 24 Mar 2017 21:17:46 +0900 Subject: APIv4 put /teams/{team_id}/patch (#5860) --- app/team.go | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'app/team.go') 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 { -- cgit v1.2.3-1-g7c22