diff options
Diffstat (limited to 'app/graphql/resolvers/work_items/linked_items_resolver.rb')
-rw-r--r-- | app/graphql/resolvers/work_items/linked_items_resolver.rb | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/app/graphql/resolvers/work_items/linked_items_resolver.rb b/app/graphql/resolvers/work_items/linked_items_resolver.rb index 108d5d41b62..f2ff1205d3a 100644 --- a/app/graphql/resolvers/work_items/linked_items_resolver.rb +++ b/app/graphql/resolvers/work_items/linked_items_resolver.rb @@ -3,6 +3,8 @@ module Resolvers module WorkItems class LinkedItemsResolver < BaseResolver + prepend ::WorkItems::LookAheadPreloads + alias_method :linked_items_widget, :object argument :filter, Types::WorkItems::RelatedLinkTypeEnum, @@ -13,30 +15,28 @@ module Resolvers type Types::WorkItems::LinkedItemType.connection_type, null: true - def resolve(filter: nil) - related_work_items(filter).map do |related_work_item| - { - link_id: related_work_item.issue_link_id, - link_type: related_work_item.issue_link_type, - link_created_at: related_work_item.issue_link_created_at, - link_updated_at: related_work_item.issue_link_updated_at, - work_item: related_work_item - } - end + def resolve_with_lookahead(**args) + apply_lookahead(related_work_items(args)) end private - def related_work_items(type) - return [] unless work_item.resource_parent.linked_work_items_feature_flag_enabled? + def related_work_items(args) + return WorkItem.none unless work_item.resource_parent.linked_work_items_feature_flag_enabled? - work_item.linked_work_items(current_user, preload: { project: [:project_feature, :group] }, link_type: type) + offset_pagination( + work_item.linked_work_items(authorize: false, link_type: args[:filter]) + ) end def work_item linked_items_widget.work_item end strong_memoize_attr :work_item + + def node_selection(selection = lookahead) + super.selection(:work_item) + end end end end |