Class: Integrations::SlackOptions::LabelSearchHandler

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

Overview

rubocop:disable Search/NamespacedClass

Instance Method Summary collapse

Constructor Details

#initialize(current_user, search_value, view_id) ⇒ LabelSearchHandler

Returns a new instance of LabelSearchHandler.



8
9
10
11
12
# File 'app/services/integrations/slack_options/label_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
21
22
23
24
25
26
# File 'app/services/integrations/slack_options/label_search_handler.rb', line 14

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

  labels = LabelsFinder.new(
    current_user,
    {
      project: project,
      search: search_value
    }
  ).execute

  ServiceResponse.success(payload: build_label_list(labels))
end