BigW Consortium Gitlab

Commit a1deed62 by Toon Claes

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
......@@ -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
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment