Stressfrei-Adressen: Duplikate beim Anlegen ablehnen

Bug: dieselbe E-Mail-Adresse konnte beim selben Kunden mehrfach
angelegt werden – im Screenshot zwei identische Einträge nach
einem Doppel-Submit.

- createEmail: findFirst auf (customerId, email) case-insensitive,
  bei Treffer ApiError(409). Eigene Meldung für inaktive
  Duplikate (Hinweis: alten Eintrag reaktivieren statt neu anlegen).
- updateEmail: gleicher Check beim Umbenennen, NOT id-Exclude.
- Controller: catch-Blöcke honorieren ApiError.statusCode (vorher
  pauschal 400) → 409 kommt sauber an die UI durch.
- Frontend: updateMutation bekam onError, damit der Fehler nicht
  schlucken bleibt.
This commit is contained in:
2026-06-18 14:01:35 +02:00
parent 246999be01
commit 8992bb7a5d
4 changed files with 70 additions and 2 deletions
@@ -3960,6 +3960,9 @@ function StressfreiEmailModal({
queryClient.invalidateQueries({ queryKey: ['customer', customerId] });
onClose();
},
onError: (err) => {
setProvisionError(err instanceof Error ? err.message : 'Fehler beim Speichern');
},
});
const handleSubmit = (e: React.FormEvent) => {