From e01c793b580061400f752beff4ad0ec515df6115 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Thu, 13 Aug 2026 20:39:09 +0200 Subject: [PATCH] Fix: contractNumberAtProvider in Contract-Whitelist (Pentest R159) Beim Umstieg auf die Feld-Whitelist (94e4fde) ist "Vertragsnummer beim Anbieter" (contractNumberAtProvider) durchgerutscht - ich hatte nur die SalesPlatform-Variante + customerNumberAtProvider. Folge: Staff konnte die Anbieter-Vertragsnummer nicht mehr neu setzen/aendern (still gedroppt), bestehende Werte blieben (Prisma nullt abwesende Felder nicht). Reine funktionale Regression, kein Security-Issue (Weglassen ist fail-safe). Whitelist jetzt programmatisch gegen ALLE DB-Spalten abgeglichen (SHOW COLUMNS minus bewusste Ausschluesse = Whitelist, beide Diffs leer) - kein weiteres Feld fehlt. Verifiziert: contractNumberAtProvider persistiert wieder. Co-Authored-By: Claude Opus 4.8 --- backend/src/services/contract.service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/services/contract.service.ts b/backend/src/services/contract.service.ts index 74f284df..823ed482 100644 --- a/backend/src/services/contract.service.ts +++ b/backend/src/services/contract.service.ts @@ -356,7 +356,8 @@ function normalizeMobileNetwork(value: unknown): string | null { const CONTRACT_SCALAR_FIELDS = [ 'customerId', 'type', 'contractCategoryId', 'status', 'addressId', 'billingAddressId', 'bankCardId', 'identityDocumentId', 'salesPlatformId', 'previousContractId', 'providerId', - 'tariffId', 'providerName', 'tariffName', 'customerNumberAtProvider', 'orderNumberAtSalesPlatform', + 'tariffId', 'providerName', 'tariffName', 'customerNumberAtProvider', 'contractNumberAtProvider', + 'orderNumberAtSalesPlatform', 'customerNumberAtSalesPlatform', 'contractNumberAtSalesPlatform', 'priceFirst12Months', 'priceFrom13Months', 'priceAfter24Months', 'startDate', 'endDate', 'cancellationPeriodId', 'contractDurationId', 'commission', 'portalUsername', 'stressfreiEmailId',