summaryrefslogtreecommitdiff
path: root/lib/api/entities.rb
diff options
context:
space:
mode:
authorAlexis Reigel <mail@koffeinfrei.org>2017-09-12 11:34:34 +0200
committerAlexis Reigel <alexis.reigel.ext@siemens.com>2018-04-23 09:21:43 +0200
commitb55c3a7bc4c23618860916738702b5d62820c351 (patch)
tree6669d8a859abbffe49f750e5294d28dd85adc6f8 /lib/api/entities.rb
parent7fbdd17cbcd19086694f575884191a6d137838dc (diff)
downloadgitlab-ce-b55c3a7bc4c23618860916738702b5d62820c351.tar.gz
support group runners in existing API endpoints
Diffstat (limited to 'lib/api/entities.rb')
-rw-r--r--lib/api/entities.rb18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 8aad320e376..f28c4bcc784 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -242,13 +242,18 @@ module API
expose :requested_at
end
- class Group < Grape::Entity
- expose :id, :name, :path, :description, :visibility
+ class BasicGroupDetails < Grape::Entity
+ expose :id
+ expose :web_url
+ expose :name
+ end
+
+ class Group < BasicGroupDetails
+ expose :path, :description, :visibility
expose :lfs_enabled?, as: :lfs_enabled
expose :avatar_url do |group, options|
group.avatar_url(only_path: false)
end
- expose :web_url
expose :request_access_enabled
expose :full_name, :full_path
@@ -965,6 +970,13 @@ module API
options[:current_user].authorized_projects.where(id: runner.projects)
end
end
+ expose :groups, with: Entities::BasicGroupDetails do |runner, options|
+ if options[:current_user].admin?
+ runner.groups
+ else
+ options[:current_user].authorized_groups.where(id: runner.groups)
+ end
+ end
end
class RunnerRegistrationDetails < Grape::Entity