gitlab-org--gitlab-foss/app/serializers/issue_entity.rb
Yorick Peterse d825c9cb5d
Clean up schema of the "issues" table
This adds various foreign key constraints, indexes, missing NOT NULL
constraints, and changes some column types from timestamp to
timestamptz.

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/31811
2017-11-09 18:00:30 +01:00

34 lines
870 B
Ruby

class IssueEntity < IssuableEntity
include TimeTrackableEntity
expose :state
expose :deleted_at
expose :confidential
expose :discussion_locked
expose :assignees, using: API::Entities::UserBasic
expose :due_date
expose :moved_to_id
expose :project_id
expose :web_url do |issue|
project_issue_path(issue.project, issue)
end
expose :current_user do
expose :can_create_note do |issue|
can?(request.current_user, :create_note, issue)
end
expose :can_update do |issue|
can?(request.current_user, :update_issue, issue)
end
end
expose :create_note_path do |issue|
project_notes_path(issue.project, target_type: 'issue', target_id: issue.id)
end
expose :preview_note_path do |issue|
preview_markdown_path(issue.project, quick_actions_target_type: 'Issue', quick_actions_target_id: issue.id)
end
end