diff options
Diffstat (limited to 'app/graphql/types/merge_requests/reviewer_type.rb')
-rw-r--r-- | app/graphql/types/merge_requests/reviewer_type.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/graphql/types/merge_requests/reviewer_type.rb b/app/graphql/types/merge_requests/reviewer_type.rb new file mode 100644 index 00000000000..09ced39844a --- /dev/null +++ b/app/graphql/types/merge_requests/reviewer_type.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Types + module MergeRequests + class ReviewerType < ::Types::UserType + include FindClosest + + graphql_name 'MergeRequestReviewer' + description 'A user from whom a merge request review has been requested.' + authorize :read_user + + field :merge_request_interaction, + type: ::Types::UserMergeRequestInteractionType, + null: true, + extras: [:parent], + description: "Details of this user's interactions with the merge request." + + def merge_request_interaction(parent:) + merge_request = closest_parent(::Types::MergeRequestType, parent) + return unless merge_request + + Users::MergeRequestInteraction.new(user: object, merge_request: merge_request) + end + end + end +end |