Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToon Claes <toon@gitlab.com>2017-05-23 23:40:39 +0300
committerToon Claes <toon@gitlab.com>2017-05-30 23:45:59 +0300
commita1deed629e03d8db47deb1bcf795ae8abaf2c847 (patch)
tree2c64d41673e7d8d061839ea13c1897f14aa43915
parent0725050802dd30d4c235b6a2d28dd494d2d7429b (diff)
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.
-rw-r--r--lib/api/helpers.rb13
-rw-r--r--lib/api/projects.rb4
2 files changed, 4 insertions, 13 deletions
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index 0dc33eb2097..2855bd7385d 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -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
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index bb03480f1ee..7610e3cbacc 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -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)