33 lines
1.1 KiB
Ruby
33 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module Types
|
|
class EnvironmentType < BaseObject
|
|
graphql_name 'Environment'
|
|
description 'Describes where code is deployed for a project'
|
|
|
|
present_using ::EnvironmentPresenter
|
|
|
|
authorize :read_environment
|
|
|
|
field :name, GraphQL::STRING_TYPE, null: false,
|
|
description: 'Human-readable name of the environment'
|
|
|
|
field :id, GraphQL::ID_TYPE, null: false,
|
|
description: 'ID of the environment'
|
|
|
|
field :state, GraphQL::STRING_TYPE, null: false,
|
|
description: 'State of the environment, for example: available/stopped'
|
|
|
|
field :path, GraphQL::STRING_TYPE, null: false,
|
|
description: 'The path to the environment.'
|
|
|
|
field :metrics_dashboard, Types::Metrics::DashboardType, null: true,
|
|
description: 'Metrics dashboard schema for the environment',
|
|
resolver: Resolvers::Metrics::DashboardResolver
|
|
|
|
field :latest_opened_most_severe_alert,
|
|
Types::AlertManagement::AlertType,
|
|
null: true,
|
|
description: 'The most severe open alert for the environment. If multiple alerts have equal severity, the most recent is returned'
|
|
end
|
|
end
|