summaryrefslogtreecommitdiff
path: root/app/graphql/types/release_asset_link_type.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/types/release_asset_link_type.rb')
-rw-r--r--app/graphql/types/release_asset_link_type.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/graphql/types/release_asset_link_type.rb b/app/graphql/types/release_asset_link_type.rb
index 21f1bd50cff..0e519ece791 100644
--- a/app/graphql/types/release_asset_link_type.rb
+++ b/app/graphql/types/release_asset_link_type.rb
@@ -17,5 +17,17 @@ module Types
description: 'Type of the link: `other`, `runbook`, `image`, `package`; defaults to `other`'
field :external, GraphQL::BOOLEAN_TYPE, null: true, method: :external?,
description: 'Indicates the link points to an external resource'
+
+ field :direct_asset_url, GraphQL::STRING_TYPE, null: true,
+ description: 'Direct asset URL of the link'
+
+ def direct_asset_url
+ return object.url unless object.filepath
+
+ release = object.release
+ project = release.project
+
+ Gitlab::Routing.url_helpers.project_release_url(project, release) << object.filepath
+ end
end
end