55 lines
1.7 KiB
Ruby
55 lines
1.7 KiB
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
module Types
|
||
|
# If you're considering to add a new field in DeploymentType, please follow this guideline:
|
||
|
# - If the field is preloadable in batch, define it in DeploymentType.
|
||
|
# In this case, you should extend DeploymentsResolver logic to preload the field. Also, add a new test that
|
||
|
# fetching the specific field for multiple deployments doesn't cause N+1 query problem.
|
||
|
# - If the field is NOT preloadable in batch, define it in DeploymentDetailsType.
|
||
|
# This type can be only fetched for a single deployment, so you don't need to take care of the preloading.
|
||
|
class DeploymentType < BaseObject
|
||
|
graphql_name 'Deployment'
|
||
|
description 'The deployment of an environment'
|
||
|
|
||
|
present_using Deployments::DeploymentPresenter
|
||
|
|
||
|
authorize :read_deployment
|
||
|
|
||
|
field :id,
|
||
|
GraphQL::Types::ID,
|
||
|
description: 'Global ID of the deployment.'
|
||
|
|
||
|
field :iid,
|
||
|
GraphQL::Types::ID,
|
||
|
description: 'Project-level internal ID of the deployment.'
|
||
|
|
||
|
field :ref,
|
||
|
GraphQL::Types::String,
|
||
|
description: 'Git-Ref that the deployment ran on.'
|
||
|
|
||
|
field :tag,
|
||
|
GraphQL::Types::Boolean,
|
||
|
description: 'True or false if the deployment ran on a Git-tag.'
|
||
|
|
||
|
field :sha,
|
||
|
GraphQL::Types::String,
|
||
|
description: 'Git-SHA that the deployment ran on.'
|
||
|
|
||
|
field :created_at,
|
||
|
Types::TimeType,
|
||
|
description: 'When the deployment record was created.'
|
||
|
|
||
|
field :updated_at,
|
||
|
Types::TimeType,
|
||
|
description: 'When the deployment record was updated.'
|
||
|
|
||
|
field :finished_at,
|
||
|
Types::TimeType,
|
||
|
description: 'When the deployment finished.'
|
||
|
|
||
|
field :status,
|
||
|
Types::DeploymentStatusEnum,
|
||
|
description: 'Status of the deployment.'
|
||
|
end
|
||
|
end
|