From 1decb1a2b8145297ac74cf59bd819f708b3760ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Geonizeli?= Date: Sun, 5 Sep 2021 21:25:25 -0300 Subject: [PATCH] add status filter to DespositOrder --- app/graphql/inputs/deposit_order_filter_input.rb | 6 ++++++ app/graphql/types/query_type.rb | 10 +++++++--- app/javascript/__generated__/schema.graphql | 5 +++++ 3 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 app/graphql/inputs/deposit_order_filter_input.rb diff --git a/app/graphql/inputs/deposit_order_filter_input.rb b/app/graphql/inputs/deposit_order_filter_input.rb new file mode 100644 index 0000000..b1ddab8 --- /dev/null +++ b/app/graphql/inputs/deposit_order_filter_input.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true +module Inputs + class DepositOrderFilterInput < Types::BaseInputObject + argument :status, [Types::ProcessStatusEnum], required: false + end +end diff --git a/app/graphql/types/query_type.rb b/app/graphql/types/query_type.rb index 9d41d4f..48ae7f8 100644 --- a/app/graphql/types/query_type.rb +++ b/app/graphql/types/query_type.rb @@ -32,9 +32,13 @@ module Types ransack(scope, filter) end - field :deposit_orders, DepositOrderType.connection_type, null: false - def deposit_orders - Pundit.policy_scope(current_user, DepositOrder) + field :deposit_orders, DepositOrderType.connection_type, null: false do + argument :filter, Inputs::DepositOrderFilterInput, required: false + end + + def deposit_orders(filter: nil) + scope = Pundit.policy_scope(current_user, DepositOrder) + scope.where(status: filter.status) if filter&.status end end end diff --git a/app/javascript/__generated__/schema.graphql b/app/javascript/__generated__/schema.graphql index 29a8a31..5b9dc6b 100644 --- a/app/javascript/__generated__/schema.graphql +++ b/app/javascript/__generated__/schema.graphql @@ -211,6 +211,10 @@ type DepositOrderEdge { node: DepositOrder! } +input DepositOrderFilterInput { + status: [ProcessStatus!] +} + type FiatBalance implements Node { amountCents: Int! amountCurrency: String! @@ -335,6 +339,7 @@ type Query { Returns the elements in the list that come before the specified cursor. """ before: String + filter: DepositOrderFilterInput """ Returns the first _n_ elements from the list.