From 0f46886880e46344856ede52dd3b500e4d6737ac Mon Sep 17 00:00:00 2001 From: Igor Date: Wed, 17 Jul 2019 13:06:19 +0000 Subject: Added submodule links to Submodule type in GraphQL API This is part of migration of Folder View to Vue --- .../graphql/representation/submodule_tree_entry.rb | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 lib/gitlab/graphql/representation/submodule_tree_entry.rb (limited to 'lib/gitlab/graphql/representation/submodule_tree_entry.rb') diff --git a/lib/gitlab/graphql/representation/submodule_tree_entry.rb b/lib/gitlab/graphql/representation/submodule_tree_entry.rb new file mode 100644 index 00000000000..65716dff75d --- /dev/null +++ b/lib/gitlab/graphql/representation/submodule_tree_entry.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: true + +module Gitlab + module Graphql + module Representation + class SubmoduleTreeEntry < SimpleDelegator + class << self + def decorate(submodules, tree) + repository = tree.repository + submodule_links = Gitlab::SubmoduleLinks.new(repository) + + submodules.map do |submodule| + self.new(submodule, submodule_links.for(submodule, tree.sha)) + end + end + end + + def initialize(submodule, submodule_links) + @submodule_links = submodule_links + + super(submodule) + end + + def web_url + @submodule_links.first + end + + def tree_url + @submodule_links.last + end + end + end + end +end -- cgit v1.2.3