Context refactoring. Move Issues list, Search logic to context
This commit is contained in:
parent
63fe042d97
commit
679d0d6d76
15 changed files with 100 additions and 83 deletions
27
app/contexts/search_context.rb
Normal file
27
app/contexts/search_context.rb
Normal file
|
@ -0,0 +1,27 @@
|
|||
class SearchContext
|
||||
attr_accessor :project_ids, :params
|
||||
|
||||
def initialize(project_ids, params)
|
||||
@project_ids, @params = project_ids, params.dup
|
||||
end
|
||||
|
||||
def execute
|
||||
query = params[:search]
|
||||
|
||||
return result unless query.present?
|
||||
|
||||
result[:projects] = Project.where(id: project_ids).search(query).limit(10)
|
||||
result[:merge_requests] = MergeRequest.where(project_id: project_ids).search(query).limit(10)
|
||||
result[:issues] = Issue.where(project_id: project_ids).search(query).limit(10)
|
||||
result
|
||||
end
|
||||
|
||||
def result
|
||||
@result ||= {
|
||||
projects: [],
|
||||
merge_requests: [],
|
||||
issues: []
|
||||
}
|
||||
end
|
||||
end
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue