1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
# frozen_string_literal: true
class LinkedIssueEntity < Grape::Entity
include RequestAwareEntity
format_with(:upcase) do |item|
item.try(:upcase)
end
expose :id, :iid, :confidential, :title
expose :assignees, using: UserEntity
expose :state
expose :milestone, using: API::Entities::Milestone
expose :weight
expose :reference do |link|
link.to_reference(issuable.project)
end
expose :path do |link|
Gitlab::UrlBuilder.build(link, only_path: true)
end
expose :issue_type,
as: :type,
format_with: :upcase,
documentation: { type: "String", desc: "One of #{::WorkItems::Type.base_types.keys.map(&:upcase)}" }
expose :relation_path
expose :due_date, :created_at, :closed_at
private
def current_user
request.current_user
end
def issuable
request.issuable
end
end
|