Commit 28e7d1a8bf3ef172331125cf56d92af85ea5e8b2

Authored by Alex Denisov
1 parent 6956f1f6

Abilities added to /user and /sign_in requests

lib/api/entities.rb
... ... @@ -15,6 +15,10 @@ module Gitlab
15 15  
16 16 class UserLogin < UserBasic
17 17 expose :private_token
  18 + expose :is_admin?, as: :is_admin
  19 + expose :can_create_group?, as: :can_create_group
  20 + expose :can_create_project?, as: :can_create_project
  21 + expose :can_create_team?, as: :can_create_team
18 22 end
19 23  
20 24 class Hook < Grape::Entity
... ... @@ -31,7 +35,7 @@ module Gitlab
31 35 end
32 36  
33 37 class ProjectMember < UserBasic
34   - expose :project_access, :as => :access_level do |user, options|
  38 + expose :project_access, as: :access_level do |user, options|
35 39 options[:project].users_projects.find_by_user_id(user.id).project_access
36 40 end
37 41 end
... ...
lib/api/projects.rb
... ... @@ -191,7 +191,7 @@ module Gitlab
191 191 unless team_member.nil?
192 192 team_member.destroy
193 193 else
194   - {:message => "Access revoked", :id => params[:user_id].to_i}
  194 + {message: "Access revoked", id: params[:user_id].to_i}
195 195 end
196 196 end
197 197  
... ... @@ -322,7 +322,7 @@ module Gitlab
322 322 protected = user_project.protected_branches.find_by_name(@branch.name)
323 323  
324 324 unless protected
325   - user_project.protected_branches.create(:name => @branch.name)
  325 + user_project.protected_branches.create(name: @branch.name)
326 326 end
327 327  
328 328 present @branch, with: Entities::RepoObject, project: user_project
... ...
lib/api/users.rb
... ... @@ -124,7 +124,7 @@ module Gitlab
124 124 # Example Request:
125 125 # GET /user
126 126 get do
127   - present @current_user, with: Entities::User
  127 + present @current_user, with: Entities::UserLogin
128 128 end
129 129  
130 130 # Get currently authenticated user's keys
... ...
spec/requests/api/session_spec.rb
... ... @@ -13,6 +13,10 @@ describe Gitlab::API do
13 13  
14 14 json_response['email'].should == user.email
15 15 json_response['private_token'].should == user.private_token
  16 + json_response['is_admin'].should == user.is_admin?
  17 + json_response['can_create_team'].should == user.can_create_team?
  18 + json_response['can_create_project'].should == user.can_create_project?
  19 + json_response['can_create_group'].should == user.can_create_group?
16 20 end
17 21 end
18 22  
... ...
spec/requests/api/users_spec.rb
... ... @@ -214,6 +214,10 @@ describe Gitlab::API do
214 214 get api("/user", user)
215 215 response.status.should == 200
216 216 json_response['email'].should == user.email
  217 + json_response['is_admin'].should == user.is_admin?
  218 + json_response['can_create_team'].should == user.can_create_team?
  219 + json_response['can_create_project'].should == user.can_create_project?
  220 + json_response['can_create_group'].should == user.can_create_group?
217 221 end
218 222  
219 223 it "should return 401 error if user is unauthenticated" do
... ...