Class: Integrations::SlackOptions::UserSearchHandler

Inherits:
Object
  • Object
show all
Includes:
Gitlab::Utils::StrongMemoize
Defined in:
app/services/integrations/slack_options/user_search_handler.rb

Overview

rubocop:disable Search/NamespacedClass

Instance Method Summary collapse

Constructor Details

#initialize(current_user, search_value, view_id) ⇒ UserSearchHandler

Returns a new instance of UserSearchHandler.



8
9
10
11
12
# File 'app/services/integrations/slack_options/user_search_handler.rb', line 8

def initialize(current_user, search_value, view_id)
  @current_user = current_user.user
  @search_value = search_value
  @view_id = view_id
end

Instance Method Details

#executeObject



14
15
16
17
18
19
20
# File 'app/services/integrations/slack_options/user_search_handler.rb', line 14

def execute
  return ServiceResponse.success(payload: []) unless current_user.can?(:read_project_member, project)

  members = MembersFinder.new(project, current_user, params: { search: search_value }).execute

  ServiceResponse.success(payload: build_user_list(members))
end