commit 1af415cce2bd7372b4dd5aecb562f8dc0f45638d
parent f22e1cc6fd4cac47cc0a6033969a9895751148f5
Author: srfsh <dev@srf.sh>
Date: Thu, 20 Oct 2022 13:45:47 +0300
Zenflows.VF.EconomicResource.{Type,Filter}: introduce filter by greater-than onhand-quantity
Requested by Ennio.
Diffstat:
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/zenflows/vf/economic_resource/filter.ex b/src/zenflows/vf/economic_resource/filter.ex
@@ -47,15 +47,21 @@ defp f(q, {:custodian, v}),
do: where(q, [x], x.custodian_id in ^v)
defp f(q, {:conforms_to, v}),
do: where(q, [x], x.conforms_to_id in ^v)
+defp f(q, {:gt_onhand_quantity_has_numerical_value, v}),
+ do: where(q, [x], x.onhand_quantity_has_numerical_value > ^v)
embedded_schema do
field :classified_as, {:array, :string}
field :primary_accountable, {:array, ID}
field :custodian, {:array, ID}
field :conforms_to, {:array, ID}
+ field :gt_onhand_quantity_has_numerical_value, :float
end
-@cast ~w[classified_as primary_accountable custodian conforms_to]a
+@cast ~w[
+ classified_as primary_accountable custodian conforms_to
+ gt_onhand_quantity_has_numerical_value
+]a
@spec chgset(params()) :: Changeset.t()
defp chgset(params) do
@@ -65,5 +71,7 @@ defp chgset(params) do
|> Validate.class(:primary_accountable)
|> Validate.class(:custodian)
|> Validate.class(:conforms_to)
+ |> Changeset.validate_number(:gt_onhand_quantity_has_numerical_value,
+ greater_than_or_equal_to: 0)
end
end
diff --git a/src/zenflows/vf/economic_resource/type.ex b/src/zenflows/vf/economic_resource/type.ex
@@ -243,6 +243,7 @@ input_object :economic_resource_filter_params do
field :conforms_to, list_of(non_null(:id))
field :primary_accountable, list_of(non_null(:id))
field :custodian, list_of(non_null(:id))
+ field :gt_onhand_quantity_has_numerical_value, :float
end
object :query_economic_resource do