package imports import "fncConvertGui/internal/models" type CSVtoTransactionsFunc func(data string) ([]models.Transaction, error) type MappingVersion struct { Name string `json:"name"` CsvToTransaction CSVtoTransactionsFunc `json:"-"` } type Importer struct { Name string `json:"name"` Versions []MappingVersion `json:"versions"` } // ImporterInfo is the JSON-safe subset sent to the frontend. type ImporterInfo struct { Name string `json:"name"` Versions []string `json:"versions"` } var DefaultImporters = []Importer{ { Name: "LZO", Versions: []MappingVersion{ {Name: "1.0.0", CsvToTransaction: nil}, }, }, } // ListImporters returns a frontend-friendly summary of all registered importers. func ListImporters() []ImporterInfo { out := make([]ImporterInfo, len(DefaultImporters)) for i, imp := range DefaultImporters { versions := make([]string, len(imp.Versions)) for j, v := range imp.Versions { versions[j] = v.Name } out[i] = ImporterInfo{Name: imp.Name, Versions: versions} } return out }