From e3535391ddaf4fdc13c7bd25939a39e77839ed2c Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Sun, 8 Feb 2026 04:55:33 +0000 Subject: [PATCH] Add a bit of per-line processing to CSV file --- platform/csv/pool.go | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/platform/csv/pool.go b/platform/csv/pool.go index e8b42db0..3c5cee2e 100644 --- a/platform/csv/pool.go +++ b/platform/csv/pool.go @@ -20,12 +20,27 @@ func ProcessJob(ctx context.Context, file_id int32) error { return fmt.Errorf("Failed to get filereader for %d: %w", file_id, err) } reader := csv.NewReader(r) - records, err := reader.ReadAll() + header, err := reader.Read() if err != nil { - return fmt.Errorf("Failed to read all CSV records for file %d: %w", file_id, err) + return fmt.Errorf("Failed to read header of CSV for file %d: %w", file_id, err) } - for _, rec := range records { - log.Debug().Strs("rec", rec).Msg("Line") + err = validateHeader(header) + if err != nil { + addImportError(file, err) + } + for { + row, err := reader.Read() + if err != nil { + return fmt.Errorf("Failed to read all CSV records for file %d: %w", file_id, err) + } + log.Debug().Strs("row", row).Msg("Line") } return nil } + +func addImportError(file *models.FileuploadFile, err error) { + log.Debug().Err(err).Int32("file_id", file.ID).Msg("Fake add import error") +} +func validateHeader(row []string) error { + return nil +}