From e1c5eb480e10329245760edd0760a5b3cb929240 Mon Sep 17 00:00:00 2001 From: tiagonbotelho Date: Wed, 6 Jul 2016 10:15:41 +0100 Subject: [PATCH] implements filter_params --- lib/api/entities.rb | 2 ++ lib/api/helpers.rb | 17 +++++++++++++++++ lib/api/projects.rb | 2 ++ 3 files changed, 21 insertions(+) diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 301dbb688a7..f00a4ac2ed6 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -344,7 +344,9 @@ module API class ProjectWithAccess < Project expose :permissions do expose :project_access, using: Entities::ProjectAccess do |project, options| + project = Project.find_by(project[:id]) project.project_members.find_by(user_id: options[:user].id) + ] end expose :group_access, using: Entities::GroupAccess do |project, options| diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb index 77e407b54c5..3a1837effd8 100644 --- a/lib/api/helpers.rb +++ b/lib/api/helpers.rb @@ -287,6 +287,23 @@ module API # Projects helpers + def filter_params(projects) + project_entries = [] + + # Removes the redundant information of the object + projects.each do |project| + entry = { + id: project.id, + http_url_to_repo: project.http_url_to_repo, + name_with_namespace: project.name_with_namespace + } + + project_entries << entry + end + + project_entries + end + def filter_projects(projects) # If the archived parameter is passed, limit results accordingly if params[:archived].present? diff --git a/lib/api/projects.rb b/lib/api/projects.rb index 0cc1edd65c8..deade7cad90 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -25,6 +25,8 @@ module API @projects = current_user.authorized_projects @projects = filter_projects(@projects) @projects = paginate @projects + @projects = filter_params(@projects) + puts present @projects, with: Entities::ProjectWithAccess, user: current_user present @projects, with: Entities::ProjectWithAccess, user: current_user end -- GitLab