debian-mirror-gitlab/app/graphql/types/ci/pipeline_type.rb

40 lines
1.2 KiB
Ruby
Raw Normal View History

2018-12-05 23:21:45 +05:30
# frozen_string_literal: true
2018-11-08 19:23:39 +05:30
module Types
module Ci
class PipelineType < BaseObject
2019-05-30 16:15:17 +05:30
graphql_name 'Pipeline'
2019-07-07 11:18:12 +05:30
authorize :read_pipeline
expose_permissions Types::PermissionTypes::Ci::Pipeline
2018-11-08 19:23:39 +05:30
field :id, GraphQL::ID_TYPE, null: false
2019-09-04 21:01:54 +05:30
field :iid, GraphQL::STRING_TYPE, null: false
2018-11-08 19:23:39 +05:30
field :sha, GraphQL::STRING_TYPE, null: false
field :before_sha, GraphQL::STRING_TYPE, null: true
field :status, PipelineStatusEnum, null: false
2019-07-07 11:18:12 +05:30
field :detailed_status,
Types::Ci::DetailedStatusType,
null: false,
resolve: -> (obj, _args, ctx) { obj.detailed_status(ctx[:current_user]) }
2018-11-08 19:23:39 +05:30
field :duration,
GraphQL::INT_TYPE,
null: true,
description: "Duration of the pipeline in seconds"
field :coverage,
GraphQL::FLOAT_TYPE,
null: true,
description: "Coverage percentage"
field :created_at, Types::TimeType, null: false
field :updated_at, Types::TimeType, null: false
field :started_at, Types::TimeType, null: true
field :finished_at, Types::TimeType, null: true
field :committed_at, Types::TimeType, null: true
# TODO: Add triggering user as a type
end
end
end