From 34d11a319807481ad9a336914aef86b07f1ba055 Mon Sep 17 00:00:00 2001
From: tiagonbotelho <tiagonbotelho@hotmail.com>
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 8cc4368b5c2..757896fd59b 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -331,7 +331,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