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
path: root/lib
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 /lib
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.
Diffstat (limited to 'lib')
-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)