Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/resolvers/noteable/notes_resolver.rb')
-rw-r--r--app/graphql/resolvers/noteable/notes_resolver.rb21
1 files changed, 19 insertions, 2 deletions
diff --git a/app/graphql/resolvers/noteable/notes_resolver.rb b/app/graphql/resolvers/noteable/notes_resolver.rb
index 0d25c747ffb..b4bd1068723 100644
--- a/app/graphql/resolvers/noteable/notes_resolver.rb
+++ b/app/graphql/resolvers/noteable/notes_resolver.rb
@@ -7,6 +7,11 @@ module Resolvers
type Types::Notes::NoteType.connection_type, null: false
+ argument :filter, Types::WorkItems::NotesFilterTypeEnum,
+ required: false,
+ default_value: ::UserPreference::NOTES_FILTERS[:all_notes],
+ description: 'Type of notes collection: ALL_NOTES, ONLY_COMMENTS, ONLY_ACTIVITY.'
+
before_connection_authorization do |nodes, current_user|
next if nodes.blank?
@@ -16,8 +21,9 @@ module Resolvers
::Preloaders::Projects::NotesPreloader.new(project, current_user).call(nodes)
end
- def resolve_with_lookahead(*)
- apply_lookahead(object.notes.fresh)
+ def resolve_with_lookahead(**args)
+ notes = NotesFinder.new(current_user, build_params(args)).execute
+ apply_lookahead(notes)
end
private
@@ -31,6 +37,17 @@ module Resolvers
award_emoji: [:award_emoji]
}
end
+
+ def build_params(args)
+ params = {
+ project: object.project,
+ target: object
+ }
+
+ params[:notes_filter] = args[:filter] if args[:filter].present?
+
+ params
+ end
end
end
end