Matthias Hochmeister 628d35bfcd fix(admin): serverseitige authTyp-Pruefung beim Reset + Merge-PK-Kollision
resetUserPassword: laedt das Konto in der Transaktion und bricht bei
authTyp !== "local" ab (kein Hash, kein user.reset-Audit). Damit wird die
dokumentierte Invariante "nur lokale Wehr-Benutzer zuruecksetzen" auch
serverseitig erzwungen, nicht nur im UI. resetBrigadeUserPassword faengt
den Fehler als { ok: false, error } ab.

mergeMerkmal: loest PK-Kollisionen in vehicle_template_merkmale auf, indem
proposed-Zeilen geloescht werden, wenn das Ziel-Merkmal in derselben Vorlage
bereits existiert (zusammengesetzter PK template_id, merkmal_id). Das gesamte
Umhaengen ist zudem in try/catch gekapselt und liefert bei Fehlern eine klare
{ ok: false }-Meldung - analog zu promoteMerkmal.

Neue Unit-Tests (db/tx gemockt, kein Postgres noetig) decken beide Pfade ab.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 10:42:37 +02:00
Description
No description provided
2.1 MiB
Languages
TypeScript 96.4%
Makefile 1.1%
Dockerfile 1.1%
JavaScript 0.7%
Shell 0.6%
Other 0.1%