This commit is contained in:
carla 2026-01-20 14:23:27 +01:00 committed by Simon
parent 79d0fa0376
commit dd68d2efbc
Signed by: simon
GPG key ID: 40E7A58C4AA1EDB2
4 changed files with 182 additions and 95 deletions

View file

@ -84,17 +84,6 @@ defmodule Mv.Membership.Import.MemberCSV do
@default_chunk_size 200
@default_max_rows 1000
# Known member field names (normalized) for efficient lookup
# These match the canonical fields in HeaderMapper
@known_member_fields [
"email",
"firstname",
"lastname",
"street",
"postalcode",
"city"
]
@doc """
Prepares CSV content for import by parsing, mapping headers, and validating limits.
@ -205,9 +194,9 @@ defmodule Mv.Membership.Import.MemberCSV do
end
# Checks if a normalized header matches a member field
# Uses direct lookup for better performance (avoids calling build_maps/2)
# Uses HeaderMapper.known_member_fields/0 as single source of truth
defp member_field?(normalized) when is_binary(normalized) do
normalized in @known_member_fields
MapSet.member?(HeaderMapper.known_member_fields(), normalized)
end
defp member_field?(_), do: false