diff --git a/lib/mv/statistics.ex b/lib/mv/statistics.ex index b3a9a50..b3c54c0 100644 --- a/lib/mv/statistics.ex +++ b/lib/mv/statistics.ex @@ -10,6 +10,8 @@ defmodule Mv.Statistics do require Ash.Query import Ash.Expr + require Logger + alias Mv.Membership.Member alias Mv.MembershipFees alias Mv.MembershipFees.MembershipFeeCycle @@ -30,9 +32,15 @@ defmodule Mv.Statistics do |> Ash.Query.limit(1) case Ash.read_one(query, opts) do - {:ok, nil} -> nil - {:ok, member} -> member.join_date.year - {:error, _} -> nil + {:ok, nil} -> + nil + + {:ok, member} -> + member.join_date.year + + {:error, reason} -> + Logger.warning("Statistics.first_join_year failed: #{inspect(reason)}") + nil end end @@ -46,8 +54,12 @@ defmodule Mv.Statistics do |> Ash.Query.filter(expr(is_nil(exit_date))) case Ash.count(query, opts) do - {:ok, count} -> count - {:error, _} -> 0 + {:ok, count} -> + count + + {:error, reason} -> + Logger.warning("Statistics.active_member_count failed: #{inspect(reason)}") + 0 end end @@ -61,8 +73,12 @@ defmodule Mv.Statistics do |> Ash.Query.filter(expr(not is_nil(exit_date))) case Ash.count(query, opts) do - {:ok, count} -> count - {:error, _} -> 0 + {:ok, count} -> + count + + {:error, reason} -> + Logger.warning("Statistics.inactive_member_count failed: #{inspect(reason)}") + 0 end end @@ -79,8 +95,12 @@ defmodule Mv.Statistics do |> Ash.Query.filter(expr(join_date >= ^first_day and join_date <= ^last_day)) case Ash.count(query, opts) do - {:ok, count} -> count - {:error, _} -> 0 + {:ok, count} -> + count + + {:error, reason} -> + Logger.warning("Statistics.joins_by_year failed: #{inspect(reason)}") + 0 end end @@ -97,8 +117,12 @@ defmodule Mv.Statistics do |> Ash.Query.filter(expr(exit_date >= ^first_day and exit_date <= ^last_day)) case Ash.count(query, opts) do - {:ok, count} -> count - {:error, _} -> 0 + {:ok, count} -> + count + + {:error, reason} -> + Logger.warning("Statistics.exits_by_year failed: #{inspect(reason)}") + 0 end end @@ -129,8 +153,12 @@ defmodule Mv.Statistics do |> Keyword.put(:domain, MembershipFees) case Ash.read(query, opts_for_read) do - {:ok, cycles} -> cycle_totals_from_cycles(cycles) - {:error, _} -> zero_cycle_totals() + {:ok, cycles} -> + cycle_totals_from_cycles(cycles) + + {:error, reason} -> + Logger.warning("Statistics.cycle_totals_by_year failed: #{inspect(reason)}") + zero_cycle_totals() end end @@ -201,7 +229,8 @@ defmodule Mv.Statistics do {:ok, cycles} -> Enum.reduce(cycles, Decimal.new(0), fn c, acc -> Decimal.add(acc, c.amount) end) - {:error, _} -> + {:error, reason} -> + Logger.warning("Statistics.open_amount_total failed: #{inspect(reason)}") Decimal.new(0) end end