d7062dd042
When destroying a group, now an API call is made to the Mattermost server to request the deletion of the project. Actual team deletion on the Mattermost side happens async, so the runtime shouldn't increase by more than a second.
15 lines
600 B
Ruby
15 lines
600 B
Ruby
class ChatTeam < ActiveRecord::Base
|
|
validates :team_id, presence: true
|
|
validates :namespace, uniqueness: true
|
|
|
|
belongs_to :namespace
|
|
|
|
def remove_mattermost_team(current_user)
|
|
Mattermost::Team.new(current_user).destroy(team_id: team_id)
|
|
rescue Mattermost::ClientError => e
|
|
# Either the group is not found, or the user doesn't have the proper
|
|
# access on the mattermost instance. In the first case, we're done either way
|
|
# in the latter case, we can't recover by retrying, so we just log what happened
|
|
Rails.logger.error("Mattermost team deletion failed: #{e}")
|
|
end
|
|
end
|