Welcome to mirror list, hosted at ThFree Co, Russian Federation.

service_compatibility.rb « snippets « mutations « graphql « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0e7ee5d78bfbc4da6fb9010cfa715526d55e34df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true

module Mutations
  module Snippets
    # Translates graphql mutation field params to be compatible with those expected by the service layer
    module ServiceCompatibility
      extend ActiveSupport::Concern

      # convert_blob_actions_to_snippet_actions!(args)    -> nil
      #
      # Converts the blob_actions mutation argument into the
      # snippet_actions hash which the service layer expects
      def convert_blob_actions_to_snippet_actions!(args)
        # We need to rename `blob_actions` into `snippet_actions` because
        # it's the expected key param
        args[:snippet_actions] = args.delete(:blob_actions)&.map(&:to_h)

        # Return nil to make it explicit that this method is mutating the args parameter
        nil
      end
    end
  end
end