feat: Rueckkehr von der Bank sagt, was ankam und was liegen blieb
"3 Konten gefunden" beantwortet die entscheidende Frage nicht: Hat die Bank nur drei geschickt, oder hat Certain die uebrigen verworfen? Der Server rechnet beides laengst aus, die Seite zeigte es nur, wenn ueberhaupt kein Konto ankam. Jetzt steht immer dabei, wie viele die Bank geschickt hat. Und Konten, die Certain nicht uebernehmen konnte, werden nicht mehr bloss gezaehlt, sondern mitsamt dem gezeigt, was von ihnen ankam – uebersprungen werden sie, weil die Kennung fehlt, mit der sich Salden und Umsaetze holen lassen. Anlass: Fuenf Revolut-Pockets sind im Control Panel freigeschaltet und wurden bei der Autorisierung ausdruecklich mitgewaehlt, kommen in Certain aber nicht an. Ohne diese Zahlen laesst sich nicht sagen, wo sie verloren gehen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -247,14 +247,15 @@ def schliesse_verbindung(db: Session, user: User, state: str, code: str) -> dict
|
||||
verbindung.valid_until = None
|
||||
|
||||
uebermittelt = daten.get("accounts") or []
|
||||
neu = bekannt = ohne_kennung = 0
|
||||
neu = bekannt = 0
|
||||
uebergangen: list[dict] = []
|
||||
for konto in uebermittelt:
|
||||
uid = konto.get("uid")
|
||||
if not uid:
|
||||
# Nicht stillschweigend verwerfen: Sonst sieht „0 Konten" genauso
|
||||
# aus, als hätte die Bank gar nichts geschickt – und man sucht den
|
||||
uebergangen.append(konto)
|
||||
# Nicht stillschweigend verwerfen: Sonst sieht „3 Konten" genauso
|
||||
# aus, als hätte die Bank nur drei geschickt – und man sucht den
|
||||
# Fehler bei der Bank statt hier.
|
||||
ohne_kennung += 1
|
||||
continue
|
||||
vorhanden = (
|
||||
db.query(BankAccountLink)
|
||||
@@ -283,7 +284,13 @@ def schliesse_verbindung(db: Session, user: User, state: str, code: str) -> dict
|
||||
"neu": neu,
|
||||
"bekannt": bekannt,
|
||||
"uebermittelt": len(uebermittelt),
|
||||
"ohne_kennung": ohne_kennung,
|
||||
"ohne_kennung": len(uebergangen),
|
||||
# Was genau übergangen wurde. Ohne das bleibt die Frage offen, ob die
|
||||
# Bank ein Konto gar nicht schickt oder Certain es nicht versteht.
|
||||
"uebergangen": [
|
||||
{k: v for k, v in konto.items() if k != "identification_hashes"}
|
||||
for konto in uebergangen[:20]
|
||||
],
|
||||
"valid_until": verbindung.valid_until.isoformat() if verbindung.valid_until else None,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user