diff options
author | =Corey Hulen <corey@hulen.com> | 2015-11-16 17:12:49 -0800 |
---|---|---|
committer | =Corey Hulen <corey@hulen.com> | 2015-11-16 17:12:49 -0800 |
commit | 6b2eabf6108e078bed8143e91c605dec5ccfafa6 (patch) | |
tree | 0d60cd7f3dac8092bd0bd4e39e2890a6170055c3 /api/team.go | |
parent | 03c6dcbd865e2af2db5db150189504bfa493ae2e (diff) | |
download | chat-6b2eabf6108e078bed8143e91c605dec5ccfafa6.tar.gz chat-6b2eabf6108e078bed8143e91c605dec5ccfafa6.tar.bz2 chat-6b2eabf6108e078bed8143e91c605dec5ccfafa6.zip |
Adding perm delete to cmd line
Diffstat (limited to 'api/team.go')
-rw-r--r-- | api/team.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/api/team.go b/api/team.go index 862970887..eb8b0772d 100644 --- a/api/team.go +++ b/api/team.go @@ -582,6 +582,32 @@ func updateTeam(c *Context, w http.ResponseWriter, r *http.Request) { w.Write([]byte(oldTeam.ToJson())) } +func PermanentDeleteTeam(c *Context, team *model.Team) *model.AppError { + l4g.Warn("Attempting to permanently delete team %v id=%v", team.Name, team.Id) + + team.DeleteAt = model.GetMillis() + if result := <-Srv.Store.Team().Update(team); result.Err != nil { + return result.Err + } + + if result := <-Srv.Store.User().GetForExport(team.Id); result.Err != nil { + return result.Err + } else { + users := result.Data.([]*model.User) + for _, user := range users { + PermanentDeleteUser(c, user) + } + } + + if result := <-Srv.Store.Team().PermanentDelete(team.Id); result.Err != nil { + return result.Err + } + + l4g.Warn("Permanently deleted team %v id=%v", team.Name, team.Id) + + return nil +} + func getMyTeam(c *Context, w http.ResponseWriter, r *http.Request) { if len(c.Session.TeamId) == 0 { |