Sha256: 1c7242a8163a82af101faba6cd2ed55486618342038511630870e32f5924eacb

Contents?: true

Size: 952 Bytes

Versions: 3

Compression:

Stored size: 952 Bytes

Contents

# frozen_string_literal: true

module SolidusGraphqlApi
  module Mutations
    class BaseMutation < GraphQL::Schema::RelayClassicMutation
      argument_class Types::Base::Argument
      field_class Types::Base::Field
      input_object_class Types::Base::InputObject
      object_class Types::Base::Object

      private

      def guest_token
        context[:order_token]
      end

      def current_order
        context[:current_order]
      end

      def current_user
        context[:current_user]
      end

      def current_ability
        context[:current_ability]
      end

      def current_store
        context[:current_store]
      end

      def user_errors(*path, errors)
        return [] if errors.empty?

        errors.map do |error|
          {
            path: ["input", *path].concat(error.attribute.to_s.camelize(:lower).split('.')),
            message: error.message,
          }
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solidus_graphql_api-0.3.1 lib/solidus_graphql_api/mutations/base_mutation.rb
solidus_graphql_api-0.3.0 lib/solidus_graphql_api/mutations/base_mutation.rb
solidus_graphql_api-0.2.0 lib/solidus_graphql_api/mutations/base_mutation.rb