summaryrefslogtreecommitdiff
path: root/app/graphql/types/ci/variable_type.rb
blob: 63f89b6d207ee78f154907675af30a6f7ecd488a (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
29
30
31
32
33
34
35
36
37
38
39
40
# frozen_string_literal: true

module Types
  module Ci
    # rubocop: disable Graphql/AuthorizeTypes
    class VariableType < BaseObject
      graphql_name 'CiVariable'

      field :id, GraphQL::Types::ID, null: false,
        description: 'ID of the variable.'

      field :key, GraphQL::Types::String, null: true,
        description: 'Name of the variable.'

      field :value, GraphQL::Types::String, null: true,
        description: 'Value of the variable.'

      field :variable_type, ::Types::Ci::VariableTypeEnum, null: true,
        description: 'Type of the variable.'

      field :protected, GraphQL::Types::Boolean, null: true,
        description: 'Indicates whether the variable is protected.'

      field :masked, GraphQL::Types::Boolean, null: true,
        description: 'Indicates whether the variable is masked.'

      field :raw, GraphQL::Types::Boolean, null: true,
        description: 'Indicates whether the variable is raw.'

      field :environment_scope, GraphQL::Types::String, null: true,
        description: 'Scope defining the environments in which the variable can be used.'

      def environment_scope
        if object.respond_to?(:environment_scope)
          object.environment_scope
        end
      end
    end
  end
end