/** * Erlaubt Service-/Helper-Funktionen, einen Fehler mit explizitem HTTP- * Status nach oben zu reichen. Controller können in ihrem `catch` per * `instanceof ApiError` den Status auslesen statt pauschal 500 zu liefern. * * Pentest 64.1 (LOW, 2026-06-02): Race-Lock (assertNoRecentDuplicate- * Document) warf einen generischen Error → catch hat 500 zurückgegeben, * obwohl die Fehlermeldung "Dokument vor wenigen Sekunden bereits * angelegt" eindeutig eine 400-Class-Situation ist. */ export class ApiError extends Error { readonly statusCode: number; constructor(statusCode: number, message: string) { super(message); this.name = 'ApiError'; this.statusCode = statusCode; } }