diff options
author | Z.J. van de Weg <git@zjvandeweg.nl> | 2017-05-14 12:57:08 +0200 |
---|---|---|
committer | Z.J. van de Weg <git@zjvandeweg.nl> | 2017-05-14 12:57:08 +0200 |
commit | d5432b48979cd623f64517f6d05bf900acc31b7d (patch) | |
tree | fd1852bd5a0303007367b9d3924f37da10d4cf4a | |
parent | 20987f4fd2d6a5ab27e61a4afc038999937adade (diff) | |
download | gitlab-ce-zj-delete-mm-team.tar.gz |
Remove Mattermost team with GitLab groupzj-delete-mm-team
When destroying a group, now an API call is made to the Mattermost
server to request the deletion of the project.
-rw-r--r-- | app/services/groups/destroy_service.rb | 4 | ||||
-rw-r--r-- | changelogs/unreleased/zj-delete-mm-team.yml | 4 | ||||
-rw-r--r-- | lib/mattermost/client.rb | 6 | ||||
-rw-r--r-- | lib/mattermost/team.rb | 4 |
4 files changed, 18 insertions, 0 deletions
diff --git a/app/services/groups/destroy_service.rb b/app/services/groups/destroy_service.rb index 497fdb09cdc..22f217a8120 100644 --- a/app/services/groups/destroy_service.rb +++ b/app/services/groups/destroy_service.rb @@ -22,6 +22,10 @@ module Groups DestroyService.new(group, current_user).execute end + if group.chat_team + Mattermost::Team.new(current_user).destroy(@group.chat_team.team_id) + end + group.really_destroy! end end diff --git a/changelogs/unreleased/zj-delete-mm-team.yml b/changelogs/unreleased/zj-delete-mm-team.yml new file mode 100644 index 00000000000..a3f8f7454a7 --- /dev/null +++ b/changelogs/unreleased/zj-delete-mm-team.yml @@ -0,0 +1,4 @@ +--- +title: Remove Mattermost team when deleting a group +merge_request: +author: diff --git a/lib/mattermost/client.rb b/lib/mattermost/client.rb index 3d60618006c..728406e9acc 100644 --- a/lib/mattermost/client.rb +++ b/lib/mattermost/client.rb @@ -36,6 +36,12 @@ module Mattermost end end + def session_delete(path, options = {}) + with_session do |session| + delete(session, path, options) + end + end + def json_response(response) json_response = JSON.parse(response.body) diff --git a/lib/mattermost/team.rb b/lib/mattermost/team.rb index 2cdbbdece16..e189e3703ae 100644 --- a/lib/mattermost/team.rb +++ b/lib/mattermost/team.rb @@ -14,5 +14,9 @@ module Mattermost type: type }.to_json) end + + def destroy(team_id:) + session_delete("/api/v4/teams/#{team}") + end end end |