feat: improve error handling in settings validation for default_membership_fee_type_id

This commit is contained in:
Moritz 2025-12-12 19:02:22 +01:00
parent c445b78157
commit 9e441213be

View file

@ -152,10 +152,23 @@ defmodule Mv.Membership.Setting do
{:ok, _} ->
:ok
{:error, _} ->
{:error, %Ash.Error.Invalid{errors: [%Ash.Error.Query.NotFound{} | _]}} ->
{:error,
field: :default_membership_fee_type_id,
message: "Membership fee type not found"}
{:error, err} ->
# Log unexpected errors (DB timeout, connection errors, etc.)
require Logger
Logger.warning(
"Unexpected error when validating default_membership_fee_type_id: #{inspect(err)}"
)
# Return generic error to user
{:error,
field: :default_membership_fee_type_id,
message: "Could not validate membership fee type"}
end
else
# Optional, can be nil