summaryrefslogtreecommitdiffstats
path: root/app/team.go
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2017-03-24 21:17:46 +0900
committerJoram Wilander <jwawilander@gmail.com>2017-03-24 08:17:46 -0400
commitd0af931e6e57b78432d5527b6e7b0be36c538144 (patch)
tree7196ec5e627fe27b539f982df4374e2d2d381f14 /app/team.go
parent4c1eb7ff5575be07b8410e76da4cdaa964c2ef91 (diff)
downloadchat-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.go30
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 {