PRO100 import source: fixed-layout # Parts / # Materials, update-by-id.
Summary
Functions
Parse + match + plan against the selected catalogue's items.
Functions
@spec analyze( binary(), :furniture | :materials, [PhoenixKitCatalogue.Schemas.Item.t()], String.t() | nil ) :: {:ok, map()} | {:error, term()}
Parse + match + plan against the selected catalogue's items.
catalogue_name is what rows are checked against for group membership: a
PRO100 export can span several groups ("Andi Karkass / …", "Andi Töötasapind /
…") while the sync targets one catalogue, and rows from the other groups must
not be offered for creation here.
Note for future sources: handle_sync_file dispatches this call on whichever
module the operator picked, so every flow() == :sync source must keep the
same arity. PRO100 is the only one today.