Class: Import::UserMapping::ProjectBotBypassAuthorizer

Inherits:
Object
  • Object
show all
Defined in:
lib/import/user_mapping/project_bot_bypass_authorizer.rb

Instance Method Summary collapse

Constructor Details

#initialize(group, assignee_user, reassigned_by_user) ⇒ ProjectBotBypassAuthorizer

Returns a new instance of ProjectBotBypassAuthorizer.



6
7
8
9
10
# File 'lib/import/user_mapping/project_bot_bypass_authorizer.rb', line 6

def initialize(group, assignee_user, reassigned_by_user)
  @group = group.root_ancestor
  @assignee_user = assignee_user
  @reassigned_by_user = reassigned_by_user
end

Instance Method Details

#allowed?Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
# File 'lib/import/user_mapping/project_bot_bypass_authorizer.rb', line 12

def allowed?
  return false if Feature.disabled?(:user_mapping_service_account_and_bots, reassigned_by_user)
  return false unless reassigned_by_user.can?(:admin_namespace, group)
  return false unless assignee_user&.project_bot?

  bot_root_namespace_id = assignee_user.bot_namespace&.root_ancestor&.id
  bot_root_namespace_id == group.id
end