PhoenixKitCatalogue.Import.Source.Pro100 (PhoenixKitCatalogue v0.19.1)

Copy Markdown View Source

PRO100 import source: fixed-layout # Parts / # Materials, update-by-id.

Summary

Functions

Parse + match + plan against the selected catalogue's items.

Functions

analyze(binary, format, catalogue_items, catalogue_name)

@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.