debian-mirror-gitlab/app/graphql/resolvers/branch_commit_resolver.rb

23 lines
605 B
Ruby
Raw Normal View History

2020-05-24 23:13:21 +05:30
# frozen_string_literal: true
module Resolvers
class BranchCommitResolver < BaseResolver
type Types::CommitType, null: true
alias_method :branch, :object
def resolve(**args)
2021-04-17 20:07:23 +05:30
commit = branch&.dereferenced_target
return unless commit
2020-05-24 23:13:21 +05:30
2021-04-17 20:07:23 +05:30
lazy_project = BatchLoader::GraphQL.for(commit.repository.gl_project_path).batch do |paths, loader|
paths.each { |path| loader.call(path, Project.find_by_full_path(path)) }
end
2020-05-24 23:13:21 +05:30
2021-04-17 20:07:23 +05:30
::Gitlab::Graphql::Lazy.with_value(lazy_project) do |project|
::Commit.new(commit, project) if project
end
2020-05-24 23:13:21 +05:30
end
end
end