Sha256: e9b503d4a52d6f4af086df0258cb6cdd94b26de7b88cd0b9fc48e969d375050a

Contents?: true

Size: 598 Bytes

Versions: 4

Compression:

Stored size: 598 Bytes

Contents

# frozen_string_literal: true

module SolidusGraphqlApi
  module Mutations
    module Checkout
      class CreateOrder < BaseMutation
        null true

        field :order, Types::Order, null: true
        field :errors, [Types::UserError], null: false

        def resolve
          order = Spree::Order.create!(user: current_user, store: current_store)

          {
            order: order,
            errors: user_errors("order", order.errors)
          }
        end

        def ready?(*)
          current_ability.authorize!(:create, Spree::Order)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
solidus_graphql_api-0.3.1 lib/solidus_graphql_api/mutations/checkout/create_order.rb
solidus_graphql_api-0.3.0 lib/solidus_graphql_api/mutations/checkout/create_order.rb
solidus_graphql_api-0.2.0 lib/solidus_graphql_api/mutations/checkout/create_order.rb
solidus_graphql_api-0.1.0 lib/solidus_graphql_api/mutations/checkout/create_order.rb