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 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 20:39:09 +02:00
co-authored by Claude Opus 4.8
parent 94e4fdee23
commit e01c793b58
+2 -1
View File
@@ -356,7 +356,8 @@ function normalizeMobileNetwork(value: unknown): string | null {
const CONTRACT_SCALAR_FIELDS = [ const CONTRACT_SCALAR_FIELDS = [
'customerId', 'type', 'contractCategoryId', 'status', 'addressId', 'billingAddressId', 'customerId', 'type', 'contractCategoryId', 'status', 'addressId', 'billingAddressId',
'bankCardId', 'identityDocumentId', 'salesPlatformId', 'previousContractId', 'providerId', 'bankCardId', 'identityDocumentId', 'salesPlatformId', 'previousContractId', 'providerId',
'tariffId', 'providerName', 'tariffName', 'customerNumberAtProvider', 'orderNumberAtSalesPlatform', 'tariffId', 'providerName', 'tariffName', 'customerNumberAtProvider', 'contractNumberAtProvider',
'orderNumberAtSalesPlatform',
'customerNumberAtSalesPlatform', 'contractNumberAtSalesPlatform', 'priceFirst12Months', 'customerNumberAtSalesPlatform', 'contractNumberAtSalesPlatform', 'priceFirst12Months',
'priceFrom13Months', 'priceAfter24Months', 'startDate', 'endDate', 'cancellationPeriodId', 'priceFrom13Months', 'priceAfter24Months', 'startDate', 'endDate', 'cancellationPeriodId',
'contractDurationId', 'commission', 'portalUsername', 'stressfreiEmailId', 'contractDurationId', 'commission', 'portalUsername', 'stressfreiEmailId',