diff --git a/lib/mv/membership/import/member_csv.ex b/lib/mv/membership/import/member_csv.ex index 6e4e019..9e30a20 100644 --- a/lib/mv/membership/import/member_csv.ex +++ b/lib/mv/membership/import/member_csv.ex @@ -8,10 +8,10 @@ defmodule Mv.Membership.Import.MemberCSV do ## Error Handling - Errors are returned as `%Error{}` structs containing: - - `csv_line_number` - The physical line number in the CSV file + Errors are returned as `%MemberCSV.Error{}` structs containing: + - `csv_line_number` - The physical line number in the CSV file (or `nil` for general errors) - `field` - The field name (atom) or `nil` if not field-specific - - `message` - Human-readable error message + - `message` - Human-readable error message (or `nil` for general errors) ## Import State @@ -26,7 +26,7 @@ defmodule Mv.Membership.Import.MemberCSV do The `chunk_result` returned by `process_chunk/3` contains: - `inserted` - Number of successfully created members - `failed` - Number of failed member creations - - `errors` - List of `%Error{}` structs (capped at 50 per import) + - `errors` - List of `%MemberCSV.Error{}` structs (capped at 50 per import) ## Examples @@ -51,9 +51,9 @@ defmodule Mv.Membership.Import.MemberCSV do defstruct csv_line_number: nil, field: nil, message: nil @type t :: %__MODULE__{ - csv_line_number: integer(), + csv_line_number: pos_integer() | nil, field: atom() | nil, - message: String.t() + message: String.t() | nil } end