feat: improve error handling in settings validation for default_membership_fee_type_id
This commit is contained in:
parent
c445b78157
commit
9e441213be
1 changed files with 14 additions and 1 deletions
|
|
@ -152,10 +152,23 @@ defmodule Mv.Membership.Setting do
|
||||||
{:ok, _} ->
|
{:ok, _} ->
|
||||||
:ok
|
:ok
|
||||||
|
|
||||||
{:error, _} ->
|
{:error, %Ash.Error.Invalid{errors: [%Ash.Error.Query.NotFound{} | _]}} ->
|
||||||
{:error,
|
{:error,
|
||||||
field: :default_membership_fee_type_id,
|
field: :default_membership_fee_type_id,
|
||||||
message: "Membership fee type not found"}
|
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
|
end
|
||||||
else
|
else
|
||||||
# Optional, can be nil
|
# Optional, can be nil
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue