diff --git a/app/assets/javascripts/api.js.coffee b/app/assets/javascripts/api.js.coffee index 45059ae4042c1dc0f51743dfbdf74e7c3b2bc2cd..8028e66f08945435b3d5dd9365b361eccbff5366 100644 --- a/app/assets/javascripts/api.js.coffee +++ b/app/assets/javascripts/api.js.coffee @@ -3,7 +3,7 @@ groupPath: "/api/:version/groups/:id.json" namespacesPath: "/api/:version/namespaces.json" groupProjectsPath: "/api/:version/groups/:id/projects.json" - projectsPath: "/api/:version/projects/simple.json" + projectsPath: "/api/:version/projects.json?format=simple" labelsPath: "/api/:version/projects/:id/labels" licensePath: "/api/:version/licenses/:key" gitignorePath: "/api/:version/gitignores/:key" diff --git a/lib/api/entities.rb b/lib/api/entities.rb index 951cca248a1a5a38c77b98f459759f3e972e5d2c..0def1ed2823cbd0b677594d251dc45dc8c553955 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -90,12 +90,6 @@ module API end end - class SimpleProject < Grape::Entity - expose :id - expose :name, :name_with_namespace - expose :http_url_to_repo - end - class ProjectMember < UserBasic expose :access_level do |user, options| options[:project].project_members.find_by(user_id: user.id).access_level @@ -347,7 +341,7 @@ module API end end - class SimpleProjectWithAccess < SimpleProject + class BasicProjectWithAccess < BasicProjectDetails expose :permissions do expose :project_access, using: Entities::ProjectAccess do |project, options| project.project_members.find_by(user_id: options[:user].id) diff --git a/lib/api/projects.rb b/lib/api/projects.rb index c1e66b239aacd4a29ce9e61df165de0bb4ec9c17..c46764c4897d1f45c3b279e05f8440a049eae50d 100644 --- a/lib/api/projects.rb +++ b/lib/api/projects.rb @@ -25,18 +25,11 @@ module API @projects = current_user.authorized_projects @projects = filter_projects(@projects) @projects = paginate @projects - present @projects, with: Entities::ProjectWithAccess, user: current_user - end - - # Get a simplified project list for authenticated user - # - # Example Request: - # GET /projects/simple - get '/simple' do - @projects = current_user.authorized_projects - @projects = filter_projects(@projects) - @projects = paginate @projects - present @projects, with: Entities::SimpleProjectWithAccess, user: current_user + if params["format"] + present @projects, with: Entities::BasicProjectWithAccess, user: current_user + else + present @projects, with: Entities::ProjectWithAccess, user: current_user + end end # Get an owned projects list for authenticated user