diff options
Diffstat (limited to 'app/graphql/mutations/merge_requests/base.rb')
-rw-r--r-- | app/graphql/mutations/merge_requests/base.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/graphql/mutations/merge_requests/base.rb b/app/graphql/mutations/merge_requests/base.rb new file mode 100644 index 00000000000..2149e72e2df --- /dev/null +++ b/app/graphql/mutations/merge_requests/base.rb @@ -0,0 +1,32 @@ +module Mutations + module MergeRequests + class Base < BaseMutation + include Gitlab::Graphql::Authorize::AuthorizeResource + include Mutations::ResolvesProject + + argument :project_path, GraphQL::ID_TYPE, + required: true, + description: "The project the merge request to mutate is in" + + argument :iid, GraphQL::ID_TYPE, + required: true, + description: "The iid of the merge request to mutate" + + field :merge_request, + Types::MergeRequestType, + null: true, + description: "The merge request after mutation" + + authorize :update_merge_request + + private + + def find_object(project_path:, iid:) + project = resolve_project(full_path: project_path) + resolver = Resolvers::MergeRequestResolver.new(object: project, context: context) + + resolver.resolve(iid: iid) + end + end + end +end |