summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-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 {