summaryrefslogtreecommitdiff
path: root/lib/api/entities/merge_request_approvals.rb
blob: 54f196e0d74936c662a040373ef9aec966f5f8ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

module API
  module Entities
    class MergeRequestApprovals < Grape::Entity
      expose :user_has_approved, documentation: { type: 'boolean' } do |merge_request, options|
        merge_request.approved_by?(options[:current_user])
      end

      expose :user_can_approve, documentation: { type: 'boolean' } do |merge_request, options|
        merge_request.eligible_for_approval_by?(options[:current_user])
      end

      expose :approved, documentation: { type: 'boolean' } do |merge_request|
        merge_request.approvals.present?
      end

      expose :approved_by, using: ::API::Entities::Approvals do |merge_request|
        merge_request.approvals
      end
    end
  end
end