summaryrefslogtreecommitdiff
path: root/app/workers/mattermost/create_team_worker.rb
blob: 168bdc7454de8141f76e5d4bb0fc9d7910514c91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Mattermost
  class CreateTeamWorker
    include Sidekiq::Worker
    include DedicatedSidekiqQueue

    sidekiq_options retry: 5

    # Add 5 seconds so the first retry isn't 1 second later
    sidekiq_retry_in do |count|
      5 + 5 ** n
    end

    def perform(group_id, current_user_id, options = {})
      group = Group.find(group_id)
      current_user = User.find(current_user_id)

      # The user that creates the team will be Team Admin
      response = Mattermost::Team.new(current_user).create(group, options)

      ChatTeam.create(namespace: group, name: response['name'], team_id: response['id'])
    end
  end
end