diff options
author | Igor Drozdov <idrozdov@gitlab.com> | 2019-07-15 13:02:42 +0300 |
---|---|---|
committer | Igor Drozdov <idrozdov@gitlab.com> | 2019-07-16 13:46:01 +0300 |
commit | 878a6bcc5f76119350619ce4667527774097ae79 (patch) | |
tree | 736f880b26d181fd7a5d24d59d38cf7ec14ec190 /app/serializers/diffs_entity.rb | |
parent | 2b5ec95feba38b39689e8ae4ad60a3bcefa557a2 (diff) | |
download | gitlab-ce-id-submodule-url-graphql.tar.gz |
Reduce the number of submodule calls for diff filesid-submodule-url-graphql
Now 1 request is performed instead of 2 per submodule
Diffstat (limited to 'app/serializers/diffs_entity.rb')
-rw-r--r-- | app/serializers/diffs_entity.rb | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/app/serializers/diffs_entity.rb b/app/serializers/diffs_entity.rb index b51e4a7e6d0..1763fe5b6ab 100644 --- a/app/serializers/diffs_entity.rb +++ b/app/serializers/diffs_entity.rb @@ -64,7 +64,10 @@ class DiffsEntity < Grape::Entity merge_request_path(merge_request, format: :diff) end - expose :diff_files, using: DiffFileEntity + expose :diff_files do |diffs, options| + submodule_links = Gitlab::SubmoduleLinks.new(merge_request.project.repository) + DiffFileEntity.represent(diffs.diff_files, options.merge(submodule_links: submodule_links)) + end expose :merge_request_diffs, using: MergeRequestDiffEntity, if: -> (_, options) { options[:merge_request_diffs]&.any? } do |diffs| options[:merge_request_diffs] |