diff options
author | Francisco Javier López <fjlopez@gitlab.com> | 2018-03-05 17:51:40 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2018-03-05 17:51:40 +0000 |
commit | 8fe880dc064e0e6cd10f7176ade7c312cfb37b90 (patch) | |
tree | fd52091357726e167d27690e5d1e99a981e1821d /lib/api/helpers | |
parent | 49f72d06654bd7bdea259154e1092a53aab57acc (diff) | |
download | gitlab-ce-8fe880dc064e0e6cd10f7176ade7c312cfb37b90.tar.gz |
Projects and groups badges API
Diffstat (limited to 'lib/api/helpers')
-rw-r--r-- | lib/api/helpers/badges_helpers.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/api/helpers/badges_helpers.rb b/lib/api/helpers/badges_helpers.rb new file mode 100644 index 00000000000..1f8afbf3c90 --- /dev/null +++ b/lib/api/helpers/badges_helpers.rb @@ -0,0 +1,28 @@ +module API + module Helpers + module BadgesHelpers + include ::API::Helpers::MembersHelpers + + def find_badge(source) + source.badges.find(params[:badge_id]) + end + + def present_badges(source, records, options = {}) + entity_type = options[:with] || Entities::Badge + badge_params = badge_source_params(source).merge(with: entity_type) + + present records, badge_params + end + + def badge_source_params(source) + project = if source.is_a?(Project) + source + else + GroupProjectsFinder.new(group: source, current_user: current_user).execute.first + end + + { project: project } + end + end + end +end |