From d5432b48979cd623f64517f6d05bf900acc31b7d Mon Sep 17 00:00:00 2001 From: "Z.J. van de Weg" Date: Sun, 14 May 2017 12:57:08 +0200 Subject: Remove Mattermost team with GitLab group When destroying a group, now an API call is made to the Mattermost server to request the deletion of the project. --- app/services/groups/destroy_service.rb | 4 ++++ changelogs/unreleased/zj-delete-mm-team.yml | 4 ++++ lib/mattermost/client.rb | 6 ++++++ lib/mattermost/team.rb | 4 ++++ 4 files changed, 18 insertions(+) create mode 100644 changelogs/unreleased/zj-delete-mm-team.yml 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 -- cgit v1.2.1