diff options
Diffstat (limited to 'app/graphql/types/release_asset_link_type.rb')
-rw-r--r-- | app/graphql/types/release_asset_link_type.rb | 12 |
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 |