debian-mirror-gitlab/app/graphql/resolvers/incident_management/timeline_events_resolver.rb
2023-01-12 18:35:48 +00:00

38 lines
1 KiB
Ruby

# frozen_string_literal: true
module Resolvers
module IncidentManagement
class TimelineEventsResolver < BaseResolver
include LooksAhead
alias_method :project, :object
type ::Types::IncidentManagement::TimelineEventType.connection_type, null: true
argument :incident_id,
::Types::GlobalIDType[::Issue],
required: true,
description: 'ID of the incident.'
when_single do
argument :id,
::Types::GlobalIDType[::IncidentManagement::TimelineEvent],
required: true,
description: 'ID of the timeline event.',
prepare: ->(id, ctx) { id.model_id }
end
def resolve_with_lookahead(**args)
incident = args[:incident_id].find
apply_lookahead(::IncidentManagement::TimelineEventsFinder.new(current_user, incident, args).execute)
end
def preloads
{
timeline_event_tags: [:timeline_event_tags]
}
end
end
end
end