Skip to content
Snippets Groups Projects
Commit a1deed62 authored by Toon Claes's avatar Toon Claes
Browse files

Use ProjectFinder to filter the projects

Instead of trying to do the heavy lifting in the API itself, use the existing
features of the ProjectFinder.
parent 07250508
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -261,19 +261,6 @@ module API
projects = projects.merge(current_user.owned_projects)
end
 
if params[:starred]
projects = projects.merge(current_user.starred_projects)
end
if params[:search].present?
projects = projects.search(params[:search])
end
if params[:visibility].present?
projects = projects.search_by_visibility(params[:visibility])
end
projects = projects.where(archived: params[:archived])
projects.reorder(params[:order_by] => params[:sort])
end
 
Loading
Loading
Loading
Loading
@@ -70,6 +70,10 @@ module API
def present_projects(options = {})
finder_params = {}
finder_params[:non_public] = true if params[:membership].present?
finder_params[:starred] = true if params[:starred].present?
finder_params[:visibility_level] = Gitlab::VisibilityLevel.level_value(params[:visibility]) if params[:visibility]
finder_params[:archived] = params[:archived]
finder_params[:search] = params[:search] if params[:search]
 
projects = ProjectsFinder.new(current_user: current_user, params: finder_params).execute
projects = filter_projects(projects)
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment