refactor(types): remove dead catch-all clauses unreachable per success typing
This commit is contained in:
parent
d9a5a081df
commit
05f66ccf74
17 changed files with 14 additions and 74 deletions
|
|
@ -17,17 +17,11 @@ defmodule Mv.Membership.JoinRequest.Changes.FilterFormDataByAllowlist do
|
||||||
form_data = Ash.Changeset.get_attribute(changeset, :form_data) || %{}
|
form_data = Ash.Changeset.get_attribute(changeset, :form_data) || %{}
|
||||||
|
|
||||||
allowlist_ids =
|
allowlist_ids =
|
||||||
case Membership.get_join_form_allowlist() do
|
Membership.get_join_form_allowlist()
|
||||||
list when is_list(list) ->
|
|
||||||
list
|
|
||||||
|> Enum.map(fn item -> item.id end)
|
|> Enum.map(fn item -> item.id end)
|
||||||
|> MapSet.new()
|
|> MapSet.new()
|
||||||
|> MapSet.difference(MapSet.new(@typed_fields))
|
|> MapSet.difference(MapSet.new(@typed_fields))
|
||||||
|
|
||||||
_ ->
|
|
||||||
MapSet.new()
|
|
||||||
end
|
|
||||||
|
|
||||||
filtered =
|
filtered =
|
||||||
form_data
|
form_data
|
||||||
|> Enum.filter(fn {key, _} -> MapSet.member?(allowlist_ids, to_string(key)) end)
|
|> Enum.filter(fn {key, _} -> MapSet.member?(allowlist_ids, to_string(key)) end)
|
||||||
|
|
|
||||||
|
|
@ -1234,8 +1234,6 @@ defmodule Mv.Membership.Member do
|
||||||
|> String.replace("_", "\\_")
|
|> String.replace("_", "\\_")
|
||||||
end
|
end
|
||||||
|
|
||||||
defp sanitize_search_query(_), do: ""
|
|
||||||
|
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
# Search Filter Builders
|
# Search Filter Builders
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,6 @@ defmodule Mv.MembershipFees.Changes.SetMembershipFeeStartDate do
|
||||||
"""
|
"""
|
||||||
use Ash.Resource.Change
|
use Ash.Resource.Change
|
||||||
|
|
||||||
require Logger
|
|
||||||
|
|
||||||
alias Mv.MembershipFees.CalendarCycles
|
alias Mv.MembershipFees.CalendarCycles
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
|
|
@ -83,11 +81,6 @@ defmodule Mv.MembershipFees.Changes.SetMembershipFeeStartDate do
|
||||||
field: :membership_fee_type_id,
|
field: :membership_fee_type_id,
|
||||||
message: "not found"
|
message: "not found"
|
||||||
)
|
)
|
||||||
|
|
||||||
{:error, reason} ->
|
|
||||||
# Log warning for other unexpected errors
|
|
||||||
Logger.warning("Could not auto-set membership_fee_start_date: #{inspect(reason)}")
|
|
||||||
changeset
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -207,8 +207,6 @@ defmodule Mv.Config do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp derive_app_url_from_api_url(_), do: nil
|
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Returns true if Vereinfacht is fully configured (URL, API key, and club ID all set).
|
Returns true if Vereinfacht is fully configured (URL, API key, and club ID all set).
|
||||||
"""
|
"""
|
||||||
|
|
@ -251,7 +249,6 @@ defmodule Mv.Config do
|
||||||
case System.get_env(key) do
|
case System.get_env(key) do
|
||||||
nil -> false
|
nil -> false
|
||||||
v when is_binary(v) -> String.trim(v) != ""
|
v when is_binary(v) -> String.trim(v) != ""
|
||||||
_ -> false
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -270,9 +267,6 @@ defmodule Mv.Config do
|
||||||
value when is_binary(value) ->
|
value when is_binary(value) ->
|
||||||
v = String.trim(value) |> String.downcase()
|
v = String.trim(value) |> String.downcase()
|
||||||
v in ["true", "1", "yes"]
|
v in ["true", "1", "yes"]
|
||||||
|
|
||||||
_ ->
|
|
||||||
false
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -328,7 +322,6 @@ defmodule Mv.Config do
|
||||||
|
|
||||||
defp present?(nil), do: false
|
defp present?(nil), do: false
|
||||||
defp present?(s) when is_binary(s), do: String.trim(s) != ""
|
defp present?(s) when is_binary(s), do: String.trim(s) != ""
|
||||||
defp present?(_), do: false
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# OIDC authentication
|
# OIDC authentication
|
||||||
|
|
|
||||||
|
|
@ -190,6 +190,4 @@ defmodule Mv.Mailer do
|
||||||
defp valid_email?(email) when is_binary(email) do
|
defp valid_email?(email) when is_binary(email) do
|
||||||
Regex.match?(@email_regex, String.trim(email))
|
Regex.match?(@email_regex, String.trim(email))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp valid_email?(_), do: false
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -210,8 +210,6 @@ defmodule Mv.Membership.Import.MemberCSV do
|
||||||
MapSet.member?(HeaderMapper.known_member_fields(), normalized)
|
MapSet.member?(HeaderMapper.known_member_fields(), normalized)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp member_field?(_), do: false
|
|
||||||
|
|
||||||
# Validates that row count doesn't exceed limit
|
# Validates that row count doesn't exceed limit
|
||||||
defp validate_row_count(rows, max_rows) do
|
defp validate_row_count(rows, max_rows) do
|
||||||
if length(rows) > max_rows do
|
if length(rows) > max_rows do
|
||||||
|
|
|
||||||
|
|
@ -522,6 +522,4 @@ defmodule Mv.Membership.MemberExport do
|
||||||
other -> other
|
other -> other
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp normalize_computed_fields(_), do: []
|
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -87,8 +87,6 @@ defmodule Mv.OidcRoleSync do
|
||||||
ArgumentError -> nil
|
ArgumentError -> nil
|
||||||
end
|
end
|
||||||
|
|
||||||
defp safe_get_atom(_map, _key), do: nil
|
|
||||||
|
|
||||||
defp peek_jwt_claims(token) do
|
defp peek_jwt_claims(token) do
|
||||||
parts = String.split(token, ".")
|
parts = String.split(token, ".")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -335,8 +335,6 @@ defmodule MvWeb.AuthController do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp redact_url(_), do: "[redacted]"
|
|
||||||
|
|
||||||
def sign_out(conn, _params) do
|
def sign_out(conn, _params) do
|
||||||
conn = clear_session(conn, :mv) |> put_flash(:success, gettext("You are now signed out"))
|
conn = clear_session(conn, :mv) |> put_flash(:success, gettext("You are now signed out"))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -935,7 +935,6 @@ defmodule MvWeb.Components.MemberFilterComponent do
|
||||||
{nil, true} -> "#{base_classes} btn-active"
|
{nil, true} -> "#{base_classes} btn-active"
|
||||||
{:in, true} -> "#{base_classes} btn-success btn-active"
|
{:in, true} -> "#{base_classes} btn-success btn-active"
|
||||||
{:not_in, true} -> "#{base_classes} btn-error btn-active"
|
{:not_in, true} -> "#{base_classes} btn-error btn-active"
|
||||||
_ -> "#{base_classes} btn-outline"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -836,12 +836,6 @@ defmodule MvWeb.GroupLive.Show do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp perform_add_members(socket, _group, _member_ids, _actor) do
|
|
||||||
{:noreply,
|
|
||||||
socket
|
|
||||||
|> put_flash(:error, gettext("No members selected."))}
|
|
||||||
end
|
|
||||||
|
|
||||||
defp handle_successful_add_members(socket, group, actor) do
|
defp handle_successful_add_members(socket, group, actor) do
|
||||||
socket = reload_group(socket, group.slug, actor)
|
socket = reload_group(socket, group.slug, actor)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -287,8 +287,6 @@ defmodule MvWeb.JoinLive do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp member_field_input_type(_), do: "text"
|
|
||||||
|
|
||||||
defp member_field_atom(field_id) when is_binary(field_id) do
|
defp member_field_atom(field_id) when is_binary(field_id) do
|
||||||
Mv.Constants.member_fields()
|
Mv.Constants.member_fields()
|
||||||
|> Enum.find(&(Atom.to_string(&1) == field_id))
|
|> Enum.find(&(Atom.to_string(&1) == field_id))
|
||||||
|
|
|
||||||
|
|
@ -1218,8 +1218,6 @@ defmodule MvWeb.MemberLive.Index do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp apply_one_fee_type_filter(query, _, _), do: query
|
|
||||||
|
|
||||||
defp apply_cycle_status_filter(members, nil, _show_current), do: members
|
defp apply_cycle_status_filter(members, nil, _show_current), do: members
|
||||||
|
|
||||||
defp apply_cycle_status_filter(members, status, show_current)
|
defp apply_cycle_status_filter(members, status, show_current)
|
||||||
|
|
@ -1297,8 +1295,6 @@ defmodule MvWeb.MemberLive.Index do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp valid_sort_field?(_), do: false
|
|
||||||
|
|
||||||
defp valid_sort_field_db_or_custom?(field) when is_atom(field) do
|
defp valid_sort_field_db_or_custom?(field) when is_atom(field) do
|
||||||
non_sortable_fields = [:notes]
|
non_sortable_fields = [:notes]
|
||||||
valid_fields = Mv.Constants.member_fields() -- non_sortable_fields
|
valid_fields = Mv.Constants.member_fields() -- non_sortable_fields
|
||||||
|
|
@ -1558,8 +1554,6 @@ defmodule MvWeb.MemberLive.Index do
|
||||||
assign(socket, :group_filters, Map.take(filters, valid_group_ids))
|
assign(socket, :group_filters, Map.take(filters, valid_group_ids))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp maybe_update_group_filters(socket, _), do: socket
|
|
||||||
|
|
||||||
defp maybe_update_fee_type_filters(socket, params) when is_map(params) do
|
defp maybe_update_fee_type_filters(socket, params) when is_map(params) do
|
||||||
prefix = @fee_type_filter_prefix
|
prefix = @fee_type_filter_prefix
|
||||||
prefix_len = String.length(prefix)
|
prefix_len = String.length(prefix)
|
||||||
|
|
@ -1586,8 +1580,6 @@ defmodule MvWeb.MemberLive.Index do
|
||||||
assign(socket, :fee_type_filters, Map.take(filters, valid_fee_type_ids))
|
assign(socket, :fee_type_filters, Map.take(filters, valid_fee_type_ids))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp maybe_update_fee_type_filters(socket, _), do: socket
|
|
||||||
|
|
||||||
defp add_fee_type_filter_entry(acc, key, value_str, prefix_len) do
|
defp add_fee_type_filter_entry(acc, key, value_str, prefix_len) do
|
||||||
key_str = to_string(key)
|
key_str = to_string(key)
|
||||||
raw_id = String.slice(key_str, prefix_len, String.length(key_str) - prefix_len)
|
raw_id = String.slice(key_str, prefix_len, String.length(key_str) - prefix_len)
|
||||||
|
|
@ -1719,8 +1711,6 @@ defmodule MvWeb.MemberLive.Index do
|
||||||
assign(socket, :date_filters, DateFilter.from_params(params, date_custom_fields))
|
assign(socket, :date_filters, DateFilter.from_params(params, date_custom_fields))
|
||||||
end
|
end
|
||||||
|
|
||||||
defp maybe_update_date_filters(socket, _params), do: socket
|
|
||||||
|
|
||||||
# -------------------------------------------------------------
|
# -------------------------------------------------------------
|
||||||
# Custom Field Value Helpers
|
# Custom Field Value Helpers
|
||||||
# -------------------------------------------------------------
|
# -------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,6 @@ defmodule MvWeb.MemberLive.Index.FieldSelection do
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
defp parse_cookie_header(_), do: %{}
|
|
||||||
|
|
||||||
@doc """
|
@doc """
|
||||||
Saves field selection to cookie.
|
Saves field selection to cookie.
|
||||||
|
|
||||||
|
|
@ -218,8 +216,6 @@ defmodule MvWeb.MemberLive.Index.FieldSelection do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
defp parse_json(_), do: %{}
|
|
||||||
|
|
||||||
# Parses a comma-separated string of field names
|
# Parses a comma-separated string of field names
|
||||||
defp parse_fields_string(fields_string) do
|
defp parse_fields_string(fields_string) do
|
||||||
fields_string
|
fields_string
|
||||||
|
|
|
||||||
|
|
@ -2208,11 +2208,6 @@ msgstr "Keine Mitglieder in dieser Gruppe"
|
||||||
msgid "No members selected"
|
msgid "No members selected"
|
||||||
msgstr "Keine Mitglieder ausgewählt"
|
msgstr "Keine Mitglieder ausgewählt"
|
||||||
|
|
||||||
#: lib/mv_web/live/group_live/show.ex
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "No members selected."
|
|
||||||
msgstr "Keine Mitglieder ausgewählt."
|
|
||||||
|
|
||||||
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
|
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No membership fee cycles found. Cycles will be generated automatically when a membership fee type is assigned."
|
msgid "No membership fee cycles found. Cycles will be generated automatically when a membership fee type is assigned."
|
||||||
|
|
@ -3972,3 +3967,8 @@ msgstr "Zeitraum"
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "To"
|
msgid "To"
|
||||||
msgstr "Bis"
|
msgstr "Bis"
|
||||||
|
|
||||||
|
#~ #: lib/mv_web/live/group_live/show.ex
|
||||||
|
#~ #, elixir-autogen, elixir-format
|
||||||
|
#~ msgid "No members selected."
|
||||||
|
#~ msgstr "Keine Mitglieder ausgewählt."
|
||||||
|
|
|
||||||
|
|
@ -2209,11 +2209,6 @@ msgstr ""
|
||||||
msgid "No members selected"
|
msgid "No members selected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mv_web/live/group_live/show.ex
|
|
||||||
#, elixir-autogen, elixir-format
|
|
||||||
msgid "No members selected."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
|
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No membership fee cycles found. Cycles will be generated automatically when a membership fee type is assigned."
|
msgid "No membership fee cycles found. Cycles will be generated automatically when a membership fee type is assigned."
|
||||||
|
|
|
||||||
|
|
@ -2209,11 +2209,6 @@ msgstr ""
|
||||||
msgid "No members selected"
|
msgid "No members selected"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: lib/mv_web/live/group_live/show.ex
|
|
||||||
#, elixir-autogen, elixir-format, fuzzy
|
|
||||||
msgid "No members selected."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
|
#: lib/mv_web/live/member_live/show/membership_fees_component.ex
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "No membership fee cycles found. Cycles will be generated automatically when a membership fee type is assigned."
|
msgid "No membership fee cycles found. Cycles will be generated automatically when a membership fee type is assigned."
|
||||||
|
|
@ -3972,3 +3967,8 @@ msgstr ""
|
||||||
#, elixir-autogen, elixir-format
|
#, elixir-autogen, elixir-format
|
||||||
msgid "To"
|
msgid "To"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#~ #: lib/mv_web/live/group_live/show.ex
|
||||||
|
#~ #, elixir-autogen, elixir-format, fuzzy
|
||||||
|
#~ msgid "No members selected."
|
||||||
|
#~ msgstr ""
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue