Activity and nutrition legacy CSV imports enforce tier limits with UsageBadge UI; Universal CSV gets mapping validation on copy/import, format-check parity, and structured error_details. version: 0.9u module: activity 1.2.1, nutrition 1.0.3, csv_import 0.4.0 Co-authored-by: Cursor <cursoragent@cursor.com>
1.2 KiB
1.2 KiB
Implementierung abgeschlossen (2026-07-24)
1. Admin „Format prüfen“ inkl. import_row_processing
AdminCsvTemplateEditorPage:resolveEditorImportRowProcessing()— dieselbe Spec wie beim Speichern- Dry-Run/Format-Check nutzt konsistente Vorlage inkl. Aggregation (
group_by/aggregates)
2. Profil-Mappings validieren
csv_import.py:_validate_mapping_config/_ensure_mapping_validbei Copy und Import- Neuer Endpoint:
GET /api/csv/mappings/{id}/validate api.js:validateCsvMapping();formatFastApiDetailfür verschachtelte Validierungsfehler
3. Nutzer-UI: strukturierte Fehler
- Neue Komponente
CsvImportErrorDetails.jsx(Zeile, code, hint) UniversalCsvImportPagezeigterror_detailsstatt JSON-Dump
Tests & Doku
backend/tests/test_csv_mapping_validation.py— pytest grün- Agent-Guide:
.claude/docs/technical/UNIVERSAL_CSV_IMPORT_AGENT_GUIDE.md§4 aktualisiert
Betroffene Dateien: backend/routers/csv_import.py, frontend/src/pages/AdminCsvTemplateEditorPage.jsx, frontend/src/pages/UniversalCsvImportPage.jsx, frontend/src/components/CsvImportErrorDetails.jsx, frontend/src/utils/api.js