Class: Types::IssueType

Inherits:
BaseObject
  • Object
show all
Defined in:
app/graphql/types/issue_type.rb

Instance Method Summary collapse

Methods inherited from BaseObject

accepts, assignable?, authorization, authorize, authorized?, #current_user, #id

Methods included from Gitlab::Graphql::Present

#present, #unpresented

Instance Method Details

#authorObject



179
180
181
# File 'app/graphql/types/issue_type.rb', line 179

def author
  Gitlab::Graphql::Loaders::BatchModelLoader.new(User, object.author_id).find
end

#closed_as_duplicate_ofObject



195
196
197
# File 'app/graphql/types/issue_type.rb', line 195

def closed_as_duplicate_of
  Gitlab::Graphql::Loaders::BatchModelLoader.new(Issue, object.duplicated_to_id).find
end

#create_note_emailObject



214
215
216
# File 'app/graphql/types/issue_type.rb', line 214

def create_note_email
  object.creatable_note_email_address(context[:current_user])
end

#discussion_lockedObject



210
211
212
# File 'app/graphql/types/issue_type.rb', line 210

def discussion_locked
  !!object.discussion_locked
end

#escalation_statusObject



218
219
220
# File 'app/graphql/types/issue_type.rb', line 218

def escalation_status
  object.supports_escalation? ? object.escalation_status&.status_name : nil
end

#milestoneObject



187
188
189
# File 'app/graphql/types/issue_type.rb', line 187

def milestone
  Gitlab::Graphql::Loaders::BatchModelLoader.new(Milestone, object.milestone_id).find
end

#moved_toObject



191
192
193
# File 'app/graphql/types/issue_type.rb', line 191

def moved_to
  Gitlab::Graphql::Loaders::BatchModelLoader.new(Issue, object.moved_to_id).find
end


199
200
201
202
203
204
205
206
207
208
# File 'app/graphql/types/issue_type.rb', line 199

def related_merge_requests
  # rubocop: disable CodeReuse/ActiveRecord
  MergeRequest.where(
    id: ::Issues::ReferencedMergeRequestsService.new(container: object.project, current_user: current_user)
    .execute(object)
    .first
    .map(&:id)
  )
  # rubocop: enable CodeReuse/ActiveRecord
end

#updated_byObject



183
184
185
# File 'app/graphql/types/issue_type.rb', line 183

def updated_by
  Gitlab::Graphql::Loaders::BatchModelLoader.new(User, object.updated_by_id).find
end