diff options
author | Markus Koller <markus-koller@gmx.ch> | 2016-11-29 20:25:41 +0100 |
---|---|---|
committer | Markus Koller <markus-koller@gmx.ch> | 2016-12-21 16:36:53 +0100 |
commit | d05dd81b99b897bcf41bfa4055d1f42bb9669af9 (patch) | |
tree | 3f75313f3037d8ef9378e5ba71aa57c6d3ce3912 | |
parent | 845e2d3667ed697fea49123c9251226b1f7126ac (diff) | |
download | gitlab-ce-d05dd81b99b897bcf41bfa4055d1f42bb9669af9.tar.gz |
Don't expose all namespace fields in API
-rw-r--r-- | lib/api/entities.rb | 4 | ||||
-rw-r--r-- | spec/requests/api/projects_spec.rb | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb index dfbb3ab86dd..c7530d9eb05 100644 --- a/lib/api/entities.rb +++ b/lib/api/entities.rb @@ -88,7 +88,7 @@ module API expose :shared_runners_enabled expose :lfs_enabled?, as: :lfs_enabled expose :creator_id - expose :namespace + expose :namespace, using: 'API::Entities::Namespace' expose :forked_from_project, using: Entities::BasicProjectDetails, if: lambda{ |project, options| project.forked? } expose :avatar_url expose :star_count, :forks_count @@ -391,7 +391,7 @@ module API end class Namespace < Grape::Entity - expose :id, :path, :kind + expose :id, :name, :path, :kind end class MemberAccess < Grape::Entity diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index 8304c408064..a626b41845f 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -630,6 +630,18 @@ describe API::Projects, api: true do expect(json_response['name']).to eq(project.name) end + it 'exposes namespace fields' do + get api("/projects/#{project.id}", user) + + expect(response).to have_http_status(200) + expect(json_response['namespace']).to eq({ + 'id' => user.namespace.id, + 'name' => user.namespace.name, + 'path' => user.namespace.path, + 'kind' => user.namespace.kind, + }) + end + describe 'permissions' do context 'all projects' do before { project.team << [user, :master] } |