diff options
Diffstat (limited to 'app/graphql/mutations/snippets/service_compatibility.rb')
-rw-r--r-- | app/graphql/mutations/snippets/service_compatibility.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app/graphql/mutations/snippets/service_compatibility.rb b/app/graphql/mutations/snippets/service_compatibility.rb new file mode 100644 index 00000000000..0e7ee5d78bf --- /dev/null +++ b/app/graphql/mutations/snippets/service_compatibility.rb @@ -0,0 +1,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 |