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
No related merge requests found
...@@ -261,19 +261,6 @@ module API ...@@ -261,19 +261,6 @@ module API
projects = projects.merge(current_user.owned_projects) projects = projects.merge(current_user.owned_projects)
end 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]) projects.reorder(params[:order_by] => params[:sort])
end end
......
...@@ -70,6 +70,10 @@ module API ...@@ -70,6 +70,10 @@ module API
def present_projects(options = {}) def present_projects(options = {})
finder_params = {} finder_params = {}
finder_params[:non_public] = true if params[:membership].present? 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 = ProjectsFinder.new(current_user: current_user, params: finder_params).execute
projects = filter_projects(projects) 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