mitai-jinkendo/.claude/docs/working/gitea-close-2026-07-23/comment-71.md
Lars 79ec249bc3
Some checks failed
Deploy Development / deploy (push) Successful in 1m9s
Build Test / pytest-backend (push) Failing after 5s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 24s
feat: feature enforcement imports (#37/#38) and Universal CSV validation (#71)
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>
2026-07-24 16:59:12 +02:00

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_valid bei Copy und Import
  • Neuer Endpoint: GET /api/csv/mappings/{id}/validate
  • api.js: validateCsvMapping(); formatFastApiDetail für verschachtelte Validierungsfehler

3. Nutzer-UI: strukturierte Fehler

  • Neue Komponente CsvImportErrorDetails.jsx (Zeile, code, hint)
  • UniversalCsvImportPage zeigt error_details statt 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