ImportConfig schema for configurable CSV import filtering.
Allows defining custom filtering rules per import type instead of using hardcoded keywords.
Fields
name- Config name (e.g., "decor_3d", "general")include_keywords- Keywords that must be present for inclusionexclude_keywords- Keywords that cause exclusionexclude_phrases- Phrases that cause exclusionskip_filter- If true, skip all filtering (import everything)category_rules- List of maps:[%{keywords: [...], slug: "category-slug"}]default_category_slug- Fallback category when no rules matchrequired_columns- CSV columns that must be presentis_default- Use this config when none specifiedactive- Config is available for useoption_mappings- Mappings from CSV option columns to global options
Example Category Rules
[
%{"keywords" => ["shelf"], "slug" => "shelves"},
%{"keywords" => ["mask"], "slug" => "masks"},
%{"keywords" => ["vase", "planter"], "slug" => "vases-planters"}
]Example Option Mappings
[
%{
"csv_name" => "Cup Color",
"slot_key" => "cup_color",
"source_key" => "color",
"auto_add" => true,
"label" => %{"en" => "Cup Color", "ru" => "Цвет чашки"}
},
%{
"csv_name" => "Liquid Color",
"slot_key" => "liquid_color",
"source_key" => "color",
"auto_add" => true
}
]
Summary
Functions
Changeset for creating/updating an import config.
Returns default required columns for CSV validation.
Builds a config struct from legacy hardcoded values (for backward compatibility).
Builds a default config for Prom.ua imports (no filtering, import everything).
Builds a "no filter" config that imports everything.
Types
@type t() :: %PhoenixKit.Modules.Shop.ImportConfig{ __meta__: term(), active: term(), category_rules: term(), default_category_slug: term(), download_images: term(), exclude_keywords: term(), exclude_phrases: term(), include_keywords: term(), inserted_at: term(), is_default: term(), name: term(), option_mappings: term(), required_columns: term(), skip_filter: term(), updated_at: term(), uuid: term() }
Functions
Changeset for creating/updating an import config.
Returns default required columns for CSV validation.
Builds a config struct from legacy hardcoded values (for backward compatibility).
Builds a default config for Prom.ua imports (no filtering, import everything).
Builds a "no filter" config that imports everything.