summaryrefslogtreecommitdiff
path: root/lib/api/helpers
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2018-03-05 18:24:49 +0000
committerFilipa Lacerda <filipa@gitlab.com>2018-03-05 18:24:49 +0000
commit8ec0fd0a42d0c166d103433f58513e3bb94e5e7b (patch)
tree778a3c7c32ea59d7b8e52a1db3485c7c761397f7 /lib/api/helpers
parentd0b3d1201d4a465208cd7993409d628272920a9b (diff)
parent5656a1d608aa6c1ab703e8051bd460efe92dc5de (diff)
downloadgitlab-ce-8ec0fd0a42d0c166d103433f58513e3bb94e5e7b.tar.gz
[ci skip] Merge branch 'master' into 38587-pipelines-empty-state
* master: (52 commits) Projects and groups badges API Keep a commit around if its sha is present #43691: DiffNotes not counted by ContributionsCalendar Cleanup after adding MR diff's commit_count Fix MR merge commit cross-references to the MR itself Fix n+1 issue by not reloading fully loaded blobs Add "added" type on changelog Use limited count queries also for scoped searches Update changelog Rename quick actions handler Adds updated_at filter to issues and merge_requests API Update API: add search param to branches Add changelog entry LabelsSelect DropdownValueCollapsed Component LabelsSelect DropdownValue Component LabelsSelect DropdownTitle Component LabelsSelect DropdownSearchInput Component LabelsSelect DropdownHiddenInput Component LabelsSelect DropdownHeader Component LabelsSelect DropdownFooter Component ...
Diffstat (limited to 'lib/api/helpers')
-rw-r--r--lib/api/helpers/badges_helpers.rb28
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