summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Koller <markus-koller@gmx.ch>2016-11-29 20:21:39 +0100
committerMarkus Koller <markus-koller@gmx.ch>2016-12-21 16:36:53 +0100
commitd5c49779125f70c49ff8b160355d4999d27091ee (patch)
treec8f5f402156e6d842de7d34a08360a7a96dfbeeb
parentd05dd81b99b897bcf41bfa4055d1f42bb9669af9 (diff)
downloadgitlab-ce-d5c49779125f70c49ff8b160355d4999d27091ee.tar.gz
Consistently use current_user in API entities
-rw-r--r--lib/api/entities.rb16
-rw-r--r--lib/api/groups.rb14
-rw-r--r--lib/api/projects.rb12
3 files changed, 21 insertions, 21 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index c7530d9eb05..c1e42fb7d47 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -78,11 +78,11 @@ module API
expose :container_registry_enabled
# Expose old field names with the new permissions methods to keep API compatible
- expose(:issues_enabled) { |project, options| project.feature_available?(:issues, options[:user]) }
- expose(:merge_requests_enabled) { |project, options| project.feature_available?(:merge_requests, options[:user]) }
- expose(:wiki_enabled) { |project, options| project.feature_available?(:wiki, options[:user]) }
- expose(:builds_enabled) { |project, options| project.feature_available?(:builds, options[:user]) }
- expose(:snippets_enabled) { |project, options| project.feature_available?(:snippets, options[:user]) }
+ expose(:issues_enabled) { |project, options| project.feature_available?(:issues, options[:current_user]) }
+ expose(:merge_requests_enabled) { |project, options| project.feature_available?(:merge_requests, options[:current_user]) }
+ expose(:wiki_enabled) { |project, options| project.feature_available?(:wiki, options[:current_user]) }
+ expose(:builds_enabled) { |project, options| project.feature_available?(:builds, options[:current_user]) }
+ expose(:snippets_enabled) { |project, options| project.feature_available?(:snippets, options[:current_user]) }
expose :created_at, :last_activity_at
expose :shared_runners_enabled
@@ -92,7 +92,7 @@ module API
expose :forked_from_project, using: Entities::BasicProjectDetails, if: lambda{ |project, options| project.forked? }
expose :avatar_url
expose :star_count, :forks_count
- expose :open_issues_count, if: lambda { |project, options| project.feature_available?(:issues, options[:user]) && project.default_issues_tracker? }
+ expose :open_issues_count, if: lambda { |project, options| project.feature_available?(:issues, options[:current_user]) && project.default_issues_tracker? }
expose :runners_token, if: lambda { |_project, options| options[:user_can_admin_project] }
expose :public_builds
expose :shared_with_groups do |project, options|
@@ -440,12 +440,12 @@ module API
class ProjectWithAccess < Project
expose :permissions do
expose :project_access, using: Entities::ProjectAccess do |project, options|
- project.project_members.find_by(user_id: options[:user].id)
+ project.project_members.find_by(user_id: options[:current_user].id)
end
expose :group_access, using: Entities::GroupAccess do |project, options|
if project.group
- project.group.group_members.find_by(user_id: options[:user].id)
+ project.group.group_members.find_by(user_id: options[:current_user].id)
end
end
end
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index 9b9d3df7435..a9ae2977dc5 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -38,7 +38,7 @@ module API
groups = groups.where.not(id: params[:skip_groups]) if params[:skip_groups].present?
groups = groups.reorder(params[:order_by] => params[:sort])
- present paginate(groups), with: Entities::Group
+ present paginate(groups), with: Entities::Group, current_user: current_user
end
desc 'Get list of owned groups for authenticated user' do
@@ -49,7 +49,7 @@ module API
end
get '/owned' do
groups = current_user.owned_groups
- present paginate(groups), with: Entities::Group, user: current_user
+ present paginate(groups), with: Entities::Group, current_user: current_user
end
desc 'Create a group. Available only for users who can create groups.' do
@@ -66,7 +66,7 @@ module API
group = ::Groups::CreateService.new(current_user, declared_params(include_missing: false)).execute
if group.persisted?
- present group, with: Entities::Group
+ present group, with: Entities::Group, current_user: current_user
else
render_api_error!("Failed to save group #{group.errors.messages}", 400)
end
@@ -92,7 +92,7 @@ module API
authorize! :admin_group, group
if ::Groups::UpdateService.new(group, current_user, declared_params(include_missing: false)).execute
- present group, with: Entities::GroupDetail
+ present group, with: Entities::GroupDetail, current_user: current_user
else
render_validation_error!(group)
end
@@ -103,7 +103,7 @@ module API
end
get ":id" do
group = find_group!(params[:id])
- present group, with: Entities::GroupDetail
+ present group, with: Entities::GroupDetail, current_user: current_user
end
desc 'Remove a group.'
@@ -134,7 +134,7 @@ module API
projects = GroupProjectsFinder.new(group).execute(current_user)
projects = filter_projects(projects)
entity = params[:simple] ? Entities::BasicProjectDetails : Entities::Project
- present paginate(projects), with: entity, user: current_user
+ present paginate(projects), with: entity, current_user: current_user
end
desc 'Transfer a project to the group namespace. Available only for admin.' do
@@ -150,7 +150,7 @@ module API
result = ::Projects::TransferService.new(project, current_user).execute(group)
if result
- present group, with: Entities::GroupDetail
+ present group, with: Entities::GroupDetail, current_user: current_user
else
render_api_error!("Failed to transfer project #{project.errors.messages}", 400)
end
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index 2929d2157dc..f5609d878f8 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -75,7 +75,7 @@ module API
projects = filter_projects(projects)
entity = params[:simple] || !current_user ? Entities::BasicProjectDetails : Entities::ProjectWithAccess
- present paginate(projects), with: entity, user: current_user
+ present paginate(projects), with: entity, current_user: current_user
end
desc 'Get a projects list for authenticated user' do
@@ -94,7 +94,7 @@ module API
projects = filter_projects(projects)
entity = params[:simple] ? Entities::BasicProjectDetails : Entities::ProjectWithAccess
- present paginate(projects), with: entity, user: current_user
+ present paginate(projects), with: entity, current_user: current_user
end
desc 'Get an owned projects list for authenticated user' do
@@ -110,7 +110,7 @@ module API
projects = current_user.owned_projects
projects = filter_projects(projects)
- present paginate(projects), with: Entities::ProjectWithAccess, user: current_user
+ present paginate(projects), with: Entities::ProjectWithAccess, current_user: current_user
end
desc 'Gets starred project for the authenticated user' do
@@ -126,7 +126,7 @@ module API
projects = current_user.viewable_starred_projects
projects = filter_projects(projects)
- present paginate(projects), with: Entities::Project, user: current_user
+ present paginate(projects), with: Entities::Project, current_user: current_user
end
desc 'Get all projects for admin user' do
@@ -142,7 +142,7 @@ module API
projects = Project.all
projects = filter_projects(projects)
- present paginate(projects), with: Entities::ProjectWithAccess, user: current_user
+ present paginate(projects), with: Entities::ProjectWithAccess, current_user: current_user
end
desc 'Search for projects the current user has access to' do
@@ -221,7 +221,7 @@ module API
end
get ":id" do
entity = current_user ? Entities::ProjectWithAccess : Entities::BasicProjectDetails
- present user_project, with: entity, user: current_user,
+ present user_project, with: entity, current_user: current_user,
user_can_admin_project: can?(current_user, :admin_project, user_project)
end