Kundenansicht neu E-Fix M2: aboModellFuerKunde liest bei Modus off kein Kundendokument

aboModellFuerKunde las das Kundendokument auch bei KUNDENANSICHT_NEU=off, obwohl neueAnsichtFuerKunde dort sofort false liefert. Alt-Kunden
bekamen so eine zusätzliche Lesung und einen neuen Fehlerpfad (ein 503 beim Widerruf des Wechsels ließ die Beenden-Mail der Analyse
entfallen, die Team-Aktivierung und GET /api/admin/analyse/:id antworteten mit 500). Jetzt sofort false im Modus off; Pilot und on
lesen wie bisher (kein Dokument: false). Test in analyseAboModell.test.js (eingeplanter 503 wird im Modus off nicht verbraucht).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-16 21:41:28 +00:00
1 parent 306c53871d
commit ddaf2879c4
2 files changed
+25 -1

No files matched your search

+4 -1
View File
@@ -2,7 +2,7 @@ import { config } from '../config.js'
import { getDocument } from './appwriteAdmin.js'
import { ACTIVE_STATUSES, getCurrentSubscription } from './stripeBilling.js'
import { listContractEvents, openWithdrawals } from './contractEvents.js'
import { neueAnsichtFuerKunde } from './kundenansicht/schalter.js'
import { neueAnsichtFuerKunde, neueAnsichtModus } from './kundenansicht/schalter.js'
/**
* Abo-Zuordnung der Funktionen (V5, Spec E3/E8): Welches Abo deckt welche Funktion? Ein Lesepfad (lies) fuer alle
@@ -98,6 +98,9 @@ export async function aboLaeuftFuer(customerId, key) {
*/
export async function aboModellFuerKunde(customerId) {
if (typeof customerId !== 'string' || customerId === '') return false
// Modus off: sofort false, ohne das Kundendokument zu lesen (E-Fix M2). Alt-Kunden bekommen so keine zusätzliche Lesung und keinen neuen Fehlerpfad
// (ein transienter Lesefehler liess die Beenden-Mail beim Widerruf des Wechsels und die Team-Aktivierung scheitern).
if (neueAnsichtModus() === 'off') return false
let kunde
try {
kunde = await getDocument(config.collections.customers, customerId)