summaryrefslogtreecommitdiffstats
path: root/api/team.go
diff options
context:
space:
mode:
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
commit6b2eabf6108e078bed8143e91c605dec5ccfafa6 (patch)
tree0d60cd7f3dac8092bd0bd4e39e2890a6170055c3 /api/team.go
parent03c6dcbd865e2af2db5db150189504bfa493ae2e (diff)
downloadchat-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.go26
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 {