2018-07-25 05:30:33 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-03-28 09:17:42 -04:00
|
|
|
class ChatTeam < ApplicationRecord
|
2017-02-03 05:29:56 -05:00
|
|
|
validates :team_id, presence: true
|
2017-03-07 09:20:22 -05:00
|
|
|
validates :namespace, uniqueness: true
|
2017-02-03 05:29:56 -05:00
|
|
|
|
|
|
|
belongs_to :namespace
|
2017-05-14 06:57:08 -04:00
|
|
|
|
|
|
|
def remove_mattermost_team(current_user)
|
2021-05-31 23:10:06 -04:00
|
|
|
::Mattermost::Team.new(current_user).destroy(team_id: team_id)
|
|
|
|
rescue ::Mattermost::ClientError => e
|
2017-05-14 06:57:08 -04:00
|
|
|
# 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
|
2020-05-24 11:08:04 -04:00
|
|
|
Gitlab::AppLogger.error("Mattermost team deletion failed: #{e}")
|
2017-05-14 06:57:08 -04:00
|
|
|
end
|
2017-02-03 05:29:56 -05:00
|
|
|
end
|