diff options
author | Phil Hughes <me@iamphill.com> | 2019-06-10 11:05:16 +0300 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2019-06-10 11:05:44 +0300 |
commit | 522c01972c7f46dbe8a2cd7569784fa255997c91 (patch) | |
tree | ab726ad68410c1c69d12bf8dc2aa527f2a05bd20 /lib/gitlab/graphql | |
parent | 25420de654b5581ccf6254be769a5e031446eced (diff) |
Add LFS blob ID to GraphQL blob type
Diffstat (limited to 'lib/gitlab/graphql')
-rw-r--r-- | lib/gitlab/graphql/loaders/batch_commit_loader.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/gitlab/graphql/loaders/batch_commit_loader.rb b/lib/gitlab/graphql/loaders/batch_commit_loader.rb new file mode 100644 index 00000000000..f410c3195f8 --- /dev/null +++ b/lib/gitlab/graphql/loaders/batch_commit_loader.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Gitlab + module Graphql + module Loaders + class BatchCommitLoader + def initialize(repository, blob_id) + @repository, @blob_id = repository, blob_id + end + + def find + BatchLoader.for(blob_id).batch(key: repository) do |blob_ids, loader, batch_args| + Gitlab::Git::Blob.batch_lfs_pointers(batch_args[:key], blob_ids).each do |loaded_blob| + loader.call(loaded_blob.id, loaded_blob.lfs_oid) + end + end + end + + private + + attr_reader :repository, :blob_id + end + end + end +end |