summaryrefslogtreecommitdiff
path: root/lib/api/helpers/graphql_helpers.rb
blob: bd60470fbd67651db8be40b157dda3c4c5bf7ddd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

module API
  module Helpers
    # GraphqlHelpers is used by the REST API when it is acting like a client
    # against the graphql API. Helper code for the graphql server implementation
    # should be in app/graphql/ or lib/gitlab/graphql/
    module GraphqlHelpers
      def conditionally_graphql!(fallback:, query:, context: {}, transform: nil)
        result = GitlabSchema.execute(query, context: context)

        if transform
          transform.call(result)
        else
          result
        end
      end
    end
  end
end