Class: Members::ScheduleDeletionService

Inherits:
Object
  • Object
show all
Includes:
BaseServiceUtility
Defined in:
app/services/members/schedule_deletion_service.rb

Instance Method Summary collapse

Methods included from BaseServiceUtility

#deny_visibility_level, #event_service, #log_error, #log_info, #notification_service, #system_hook_service, #todo_service, #visibility_level

Methods included from Gitlab::Allowable

#can?, #can_all?, #can_any?

Constructor Details

#initialize(root_namespace, user_id, scheduled_by) ⇒ ScheduleDeletionService



7
8
9
10
11
# File 'app/services/members/schedule_deletion_service.rb', line 7

def initialize(root_namespace, user_id, scheduled_by)
  @root_namespace = root_namespace
  @user_id = user_id
  @scheduled_by = scheduled_by
end

Instance Method Details

#executeObject



13
14
15
16
17
18
# File 'app/services/members/schedule_deletion_service.rb', line 13

def execute
  return error('Must be a root namespace') unless root_namespace.root?
  return error('User not authorized') unless can?(scheduled_by, :admin_group_member, root_namespace)

  schedule_deletion
end