summaryrefslogtreecommitdiff
path: root/app/graphql/types/ci/job_artifact_type.rb
blob: 69bb5325dba9f7c7ddcd6672027d0d35ceddaf88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# frozen_string_literal: true

module Types
  module Ci
    # rubocop: disable Graphql/AuthorizeTypes
    class JobArtifactType < BaseObject
      graphql_name 'CiJobArtifact'

      field :download_path, GraphQL::Types::String, null: true,
            description: "URL for downloading the artifact's file."

      field :file_type, ::Types::Ci::JobArtifactFileTypeEnum, null: true,
            description: 'File type of the artifact.'

      field :name, GraphQL::Types::String, null: true,
            description: 'File name of the artifact.',
            method: :filename

      def download_path
        ::Gitlab::Routing.url_helpers.download_project_job_artifacts_path(
          object.project,
          object.job,
          file_type: object.file_type
        )
      end
    end
  end
end