add createDepositOrder mutation
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
module Inputs
|
||||
class CreateDepositOrderAttributesInput < Types::BaseInputObject
|
||||
argument :amount_cents, Integer, "Amount to be paid", required: true
|
||||
end
|
||||
end
|
||||
19
app/graphql/mutations/create_deposit_order.rb
Normal file
19
app/graphql/mutations/create_deposit_order.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
# frozen_string_literal: true
|
||||
module Mutations
|
||||
class CreateDepositOrder < BaseMutation
|
||||
field :order, Types::DepositOrderType, null: true
|
||||
|
||||
argument :order, Inputs::CreateStakeOrderAttributesInput, required: true
|
||||
|
||||
def resolve(order:)
|
||||
ActiveRecord::Base.transaction do
|
||||
record = BuildDepositOrder.new(paid_amount_cents: order[:amount_cents], user: current_user.id)
|
||||
record.save!
|
||||
|
||||
{ order: record }
|
||||
rescue ActiveRecord::RecordInvalid => e
|
||||
{ errors: Resolvers::ModelErrors.from_active_record_model(e.record) }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,6 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
module Types
|
||||
class MutationType < Types::BaseObject
|
||||
field :create_deposit_order, mutation: Mutations::CreateDepositOrder
|
||||
field :create_stake_remove_order, mutation: Mutations::CreateStakeRemoveOrder
|
||||
field :create_stake_order, mutation: Mutations::CreateStakeOrder
|
||||
field :create_sell_crypto_order, mutation: Mutations::CreateSellCryptoOrder
|
||||
|
||||
Reference in New Issue
Block a user