2022-01-26 12:08:38 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Resolvers
|
|
|
|
module Ci
|
|
|
|
# NOTE: This class was introduced to allow modifying the meaning of certain values in RunnerStatusEnum
|
2022-07-16 23:28:13 +05:30
|
|
|
# while preserving backward compatibility. It can be removed in 17.0 after being deprecated
|
|
|
|
# and made a no-op in %16.0 (legacy_mode will be hard-coded to nil).
|
2022-01-26 12:08:38 +05:30
|
|
|
class RunnerStatusResolver < BaseResolver
|
|
|
|
type Types::Ci::RunnerStatusEnum, null: false
|
|
|
|
|
|
|
|
alias_method :runner, :object
|
|
|
|
|
|
|
|
argument :legacy_mode,
|
|
|
|
type: GraphQL::Types::String,
|
|
|
|
default_value: '14.5',
|
|
|
|
required: false,
|
|
|
|
description: 'Compatibility mode. A null value turns off compatibility mode.',
|
2022-07-16 23:28:13 +05:30
|
|
|
deprecated: {
|
|
|
|
reason: 'Will be removed in 17.0. In GitLab 16.0 and later, ' \
|
|
|
|
'the field will act as if `legacyMode` is null',
|
|
|
|
milestone: '15.0'
|
|
|
|
}
|
2022-01-26 12:08:38 +05:30
|
|
|
|
|
|
|
def resolve(legacy_mode:, **args)
|
|
|
|
runner.status(legacy_mode)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|