feat: vorgefertigte Import-Presets für Raiffeisen (CH) und Revolut

- services/csv_import: PRESETS-Liste (aus echten Beispiel-Exporten des Nutzers),
  GET /imports/presets.
- Frontend: Preset-Auswahl im Import füllt Format/Spalten automatisch.
Beide Presets per TestClient gegen echte Zeilenformate verifiziert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-19 20:14:39 +02:00
co-authored by Claude Opus 4.8
parent 1381967aae
commit ddf4f1f5ed
6 changed files with 80 additions and 20 deletions
+6
View File
@@ -32,6 +32,12 @@ def _to_out(tpl: ImportTemplate) -> ImportTemplateOut:
# --- Templates -------------------------------------------------------------
@router.get("/presets")
def list_presets(_: User = Depends(get_current_user)) -> list[dict]:
"""Vorgefertigte Bank-Vorlagen (füllen die Format-/Spalten-Einstellungen)."""
return csv_import.PRESETS
@router.get("/templates", response_model=list[ImportTemplateOut])
def list_templates(db: Session = Depends(get_db), user: User = Depends(get_current_user)):
rows = db.query(ImportTemplate).filter(ImportTemplate.owner_id == user.id).order_by(ImportTemplate.name).all()