diff options
Diffstat (limited to 'app/graphql/types/member_interface.rb')
-rw-r--r-- | app/graphql/types/member_interface.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/app/graphql/types/member_interface.rb b/app/graphql/types/member_interface.rb index c5623cd4710..67d0e18b522 100644 --- a/app/graphql/types/member_interface.rb +++ b/app/graphql/types/member_interface.rb @@ -25,6 +25,12 @@ module Types field :user, Types::UserType, null: true, description: 'User that is associated with the member object.' + field :merge_request_interaction, Types::UserMergeRequestInteractionType, + null: true, + description: 'Find a merge request.' do + argument :id, ::Types::GlobalIDType[::MergeRequest], required: true, description: 'Global ID of the merge request.' + end + definition_methods do def resolve_type(object, context) case object @@ -37,5 +43,11 @@ module Types end end end + + def merge_request_interaction(id: nil) + Gitlab::Graphql::Lazy.with_value(GitlabSchema.object_from_id(id, expected_class: ::MergeRequest)) do |merge_request| + Users::MergeRequestInteraction.new(user: object.user, merge_request: merge_request) if merge_request + end + end end end |