summaryrefslogtreecommitdiff
path: root/app/graphql/types/ci/ci_cd_setting_type.rb
blob: 790deab8f68c80d85ca806db9b5cb942058533ea (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
# frozen_string_literal: true

module Types
  module Ci
    class CiCdSettingType < BaseObject
      graphql_name 'ProjectCiCdSetting'

      authorize :admin_project

      field :merge_pipelines_enabled, GraphQL::Types::Boolean, null: true,
        description: 'Whether merge pipelines are enabled.',
        method: :merge_pipelines_enabled?
      field :merge_trains_enabled, GraphQL::Types::Boolean, null: true,
        description: 'Whether merge trains are enabled.',
        method: :merge_trains_enabled?
      field :keep_latest_artifact, GraphQL::Types::Boolean, null: true,
        description: 'Whether to keep the latest builds artifacts.',
        method: :keep_latest_artifacts_available?
      field :job_token_scope_enabled, GraphQL::Types::Boolean, null: true,
        description: 'Indicates CI job tokens generated in this project have restricted access to resources.',
        method: :job_token_scope_enabled?
      field :project, Types::ProjectType, null: true,
        description: 'Project the CI/CD settings belong to.'
    end
  end
end