diff options
Diffstat (limited to 'app/serializers/linked_issue_entity.rb')
-rw-r--r-- | app/serializers/linked_issue_entity.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/serializers/linked_issue_entity.rb b/app/serializers/linked_issue_entity.rb new file mode 100644 index 00000000000..6ae3f4044db --- /dev/null +++ b/app/serializers/linked_issue_entity.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +class LinkedIssueEntity < Grape::Entity + include RequestAwareEntity + + expose :id, :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| + project_issue_path(link.project, link.iid) + end + + expose :relation_path + + expose :due_date, :created_at, :closed_at + + private + + def current_user + request.current_user + end + + def issuable + request.issuable + end +end |