summaryrefslogtreecommitdiff
path: root/lib/gitlab/prometheus/queries/validate_query.rb
blob: 1f55f3e9768904c7d1d45545b8edd48c0405b8c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

module Gitlab
  module Prometheus
    module Queries
      class ValidateQuery < BaseQuery
        def query(query)
          client_query(query)
          { valid: true }
        rescue Gitlab::PrometheusClient::QueryError, Gitlab::HTTP::BlockedUrlError => ex
          { valid: false, error: ex.message }
        end

        def self.transform_reactive_result(result)
          result[:query] = result.delete :data
          result
        end
      end
    end
  end
end