summaryrefslogtreecommitdiff
path: root/lib/api/helpers/variables_helpers.rb
blob: e2b3372fc33e5e263e6f8cf57e10d7b71f760ba4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# frozen_string_literal: true

module API
  module Helpers
    module VariablesHelpers
      extend ActiveSupport::Concern
      extend Grape::API::Helpers

      params :optional_group_variable_params_ee do
      end

      def filter_variable_parameters(_, params)
        params # Overridden in EE
      end

      def find_variable(owner, params)
        variables = ::Ci::VariablesFinder.new(owner, params).execute.to_a

        return variables.first unless variables.many? # rubocop: disable CodeReuse/ActiveRecord

        conflict!("There are multiple variables with provided parameters. Please use 'filter[environment_scope]'")
      end
    end
  end
end

API::Helpers::VariablesHelpers.prepend_if_ee('EE::API::Helpers::VariablesHelpers')