aboutsummaryrefslogtreecommitdiff
path: root/app/jobs/ensure_agent_job.rb
blob: 127cf1de2608e2a5380a61bac1a08acae9225971 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# SPDX-FileCopyrightText: 2021 IN COMMON Collective
#
# SPDX-License-Identifier: AGPL-3.0-or-later

class EnsureAgentJob < ApplicationJob
  queue_as :default

  include AgentsHelper

  def perform(user, groups)
    # Ensure the logged in user has a current agent
    # In order to do this, we first check the existing agents against the user's
    # groups. If none match, we assign the user to the default Anonymous agent.
    existing_agents = Agent.find_by(name: groups)
    if existing_agents.nil?
      user.agents << default_agent unless user.agents.include? default_agent
    end
  end
end