Bankkarte-/Ausweis-Details in Vertrag + neues Feld Kartennummer

Schema: BankCard.cardNumber (String?, optional) + Migration
20260813100000_bank_card_number (ADD COLUMN IF NOT EXISTS), auf Dev
angewandt + prisma generate; Prod via migrate deploy. Eingabefeld
"Kartennummer" im Bankkarten-Modal (Kundenakte).

Vertragsansicht (ContractDetail) und Vertrag bearbeiten (ContractForm)
zeigen jetzt bei Bankkarte zusaetzlich BIC/Bank/Kartennummer/Ablaufdatum
und bei Ausweis Behoerde/Ausstellung/Ablaufdatum sowie Geburtsort +
Geburtsdatum des Kunden - jeweils mit Copy-Button und nur wenn gesetzt.
Im Form je Select in eigenem div gewrappt (Grid-Alignment).

Verifiziert: tsc + vite build gruen, cardNumber Round-Trip (update->read),
Contract-Include liefert alle Felder inkl. customer.birthDate/birthPlace.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 15:00:29 +02:00
co-authored by Claude Opus 4.8
parent f3668b8a5a
commit 0d42bd89e8
9 changed files with 124 additions and 3 deletions
@@ -0,0 +1,2 @@
-- Kartennummer (Debit-/Kontokarte) als optionales Feld an der Bankkarte.
ALTER TABLE `BankCard` ADD COLUMN IF NOT EXISTS `cardNumber` VARCHAR(191) NULL;
+1
View File
@@ -353,6 +353,7 @@ model BankCard {
customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)
accountHolder String
iban String
cardNumber String? // Karten-/Kontokartennummer (optional, z.B. Debitkarte)
bic String?
bankName String?
expiryDate DateTime?
@@ -433,7 +433,7 @@ export async function updateBankCard(req: AuthRequest, res: Response): Promise<v
if (before) {
const changes: Record<string, { von: unknown; nach: unknown }> = {};
const fieldLabels: Record<string, string> = {
iban: 'IBAN', bic: 'BIC', bankName: 'Bank',
iban: 'IBAN', bic: 'BIC', bankName: 'Bank', cardNumber: 'Kartennummer',
accountHolder: 'Kontoinhaber', isActive: 'Aktiv',
};
for (const [key, newVal] of Object.entries(data)) {
+2
View File
@@ -302,6 +302,7 @@ export async function createBankCard(
data: {
accountHolder: string;
iban: string;
cardNumber?: string;
bic?: string;
bankName?: string;
expiryDate?: Date;
@@ -322,6 +323,7 @@ export async function updateBankCard(
data: {
accountHolder?: string;
iban?: string;
cardNumber?: string;
bic?: string;
bankName?: string;
expiryDate?: Date;