update todo.md
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
+54
@@ -36,6 +36,36 @@
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/@pdf-lib/standard-fonts": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz",
|
||||
"integrity": "sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"pako": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/@pdf-lib/standard-fonts/node_modules/pako": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
||||
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
|
||||
"license": "(MIT AND Zlib)"
|
||||
},
|
||||
"node_modules/@pdf-lib/upng": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@pdf-lib/upng/-/upng-1.0.1.tgz",
|
||||
"integrity": "sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"pako": "^1.0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/@pdf-lib/upng/node_modules/pako": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
||||
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
|
||||
"license": "(MIT AND Zlib)"
|
||||
},
|
||||
"node_modules/@pinojs/redact": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz",
|
||||
@@ -2027,6 +2057,30 @@
|
||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
|
||||
"integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ=="
|
||||
},
|
||||
"node_modules/pdf-lib": {
|
||||
"version": "1.17.1",
|
||||
"resolved": "https://registry.npmjs.org/pdf-lib/-/pdf-lib-1.17.1.tgz",
|
||||
"integrity": "sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@pdf-lib/standard-fonts": "^1.0.0",
|
||||
"@pdf-lib/upng": "^1.0.1",
|
||||
"pako": "^1.0.11",
|
||||
"tslib": "^1.11.1"
|
||||
}
|
||||
},
|
||||
"node_modules/pdf-lib/node_modules/pako": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
|
||||
"integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
|
||||
"license": "(MIT AND Zlib)"
|
||||
},
|
||||
"node_modules/pdf-lib/node_modules/tslib": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
|
||||
"license": "0BSD"
|
||||
},
|
||||
"node_modules/pdfkit": {
|
||||
"version": "0.17.2",
|
||||
"resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz",
|
||||
|
||||
+29
-3
File diff suppressed because one or more lines are too long
+26
@@ -122,6 +122,21 @@ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
|
||||
Serializable: 'Serializable'
|
||||
});
|
||||
|
||||
exports.Prisma.PdfTemplateScalarFieldEnum = {
|
||||
id: 'id',
|
||||
name: 'name',
|
||||
description: 'description',
|
||||
providerName: 'providerName',
|
||||
templatePath: 'templatePath',
|
||||
originalName: 'originalName',
|
||||
fieldMapping: 'fieldMapping',
|
||||
phoneFieldPrefix: 'phoneFieldPrefix',
|
||||
maxPhoneFields: 'maxPhoneFields',
|
||||
isActive: 'isActive',
|
||||
createdAt: 'createdAt',
|
||||
updatedAt: 'updatedAt'
|
||||
};
|
||||
|
||||
exports.Prisma.EmailLogScalarFieldEnum = {
|
||||
id: 'id',
|
||||
fromAddress: 'fromAddress',
|
||||
@@ -253,6 +268,16 @@ exports.Prisma.AddressScalarFieldEnum = {
|
||||
city: 'city',
|
||||
country: 'country',
|
||||
isDefault: 'isDefault',
|
||||
ownerCompany: 'ownerCompany',
|
||||
ownerFirstName: 'ownerFirstName',
|
||||
ownerLastName: 'ownerLastName',
|
||||
ownerStreet: 'ownerStreet',
|
||||
ownerHouseNumber: 'ownerHouseNumber',
|
||||
ownerPostalCode: 'ownerPostalCode',
|
||||
ownerCity: 'ownerCity',
|
||||
ownerPhone: 'ownerPhone',
|
||||
ownerMobile: 'ownerMobile',
|
||||
ownerEmail: 'ownerEmail',
|
||||
createdAt: 'createdAt',
|
||||
updatedAt: 'updatedAt'
|
||||
};
|
||||
@@ -860,6 +885,7 @@ exports.DeletionRequestStatus = exports.$Enums.DeletionRequestStatus = {
|
||||
};
|
||||
|
||||
exports.Prisma.ModelName = {
|
||||
PdfTemplate: 'PdfTemplate',
|
||||
EmailLog: 'EmailLog',
|
||||
AppSetting: 'AppSetting',
|
||||
User: 'User',
|
||||
|
||||
+1859
-142
File diff suppressed because it is too large
Load Diff
+29
-3
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "prisma-client-f8de59fafbd0672a88c2a8e39308517de72556670ae690a7d472709948465d02",
|
||||
"name": "prisma-client-3b0d96e99b8ec96fc1d6b615bd39f968846d150b0aeb7b2517742d9bd27087c1",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"browser": "index-browser.js",
|
||||
|
||||
+31
@@ -7,6 +7,26 @@ datasource db {
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
// ==================== PDF TEMPLATES (Auftragsvorlagen) ====================
|
||||
|
||||
model PdfTemplate {
|
||||
id Int @id @default(autoincrement())
|
||||
name String @unique // z.B. "EWE Auftragsformular"
|
||||
description String? // Beschreibung
|
||||
providerName String? // Zugehöriger Anbieter (z.B. "EWE")
|
||||
templatePath String // Pfad zur PDF-Vorlage
|
||||
originalName String // Originaler Dateiname
|
||||
// Feld-Mapping: JSON-Objekt { pdfFieldName: crmFieldPath }
|
||||
// z.B. { "Vorname": "customer.firstName", "PLZ": "customer.addresses[0].postalCode" }
|
||||
fieldMapping String @db.LongText // JSON
|
||||
// Rufnummern-Konfiguration
|
||||
phoneFieldPrefix String? // Prefix für Rufnummern-Felder (z.B. "Rufnummer")
|
||||
maxPhoneFields Int? @default(8) // Max. Rufnummern-Felder im PDF
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
}
|
||||
|
||||
// ==================== EMAIL LOG ====================
|
||||
|
||||
model EmailLog {
|
||||
@@ -224,6 +244,17 @@ model Address {
|
||||
city String
|
||||
country String @default("Deutschland")
|
||||
isDefault Boolean @default(false)
|
||||
// Eigentümer (leer = Kunde ist selbst Eigentümer)
|
||||
ownerCompany String?
|
||||
ownerFirstName String?
|
||||
ownerLastName String?
|
||||
ownerStreet String?
|
||||
ownerHouseNumber String?
|
||||
ownerPostalCode String?
|
||||
ownerCity String?
|
||||
ownerPhone String?
|
||||
ownerMobile String?
|
||||
ownerEmail String?
|
||||
contractsAsDelivery Contract[] @relation("DeliveryAddress")
|
||||
contractsAsBilling Contract[] @relation("BillingAddress")
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
+26
@@ -122,6 +122,21 @@ exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
|
||||
Serializable: 'Serializable'
|
||||
});
|
||||
|
||||
exports.Prisma.PdfTemplateScalarFieldEnum = {
|
||||
id: 'id',
|
||||
name: 'name',
|
||||
description: 'description',
|
||||
providerName: 'providerName',
|
||||
templatePath: 'templatePath',
|
||||
originalName: 'originalName',
|
||||
fieldMapping: 'fieldMapping',
|
||||
phoneFieldPrefix: 'phoneFieldPrefix',
|
||||
maxPhoneFields: 'maxPhoneFields',
|
||||
isActive: 'isActive',
|
||||
createdAt: 'createdAt',
|
||||
updatedAt: 'updatedAt'
|
||||
};
|
||||
|
||||
exports.Prisma.EmailLogScalarFieldEnum = {
|
||||
id: 'id',
|
||||
fromAddress: 'fromAddress',
|
||||
@@ -253,6 +268,16 @@ exports.Prisma.AddressScalarFieldEnum = {
|
||||
city: 'city',
|
||||
country: 'country',
|
||||
isDefault: 'isDefault',
|
||||
ownerCompany: 'ownerCompany',
|
||||
ownerFirstName: 'ownerFirstName',
|
||||
ownerLastName: 'ownerLastName',
|
||||
ownerStreet: 'ownerStreet',
|
||||
ownerHouseNumber: 'ownerHouseNumber',
|
||||
ownerPostalCode: 'ownerPostalCode',
|
||||
ownerCity: 'ownerCity',
|
||||
ownerPhone: 'ownerPhone',
|
||||
ownerMobile: 'ownerMobile',
|
||||
ownerEmail: 'ownerEmail',
|
||||
createdAt: 'createdAt',
|
||||
updatedAt: 'updatedAt'
|
||||
};
|
||||
@@ -860,6 +885,7 @@ exports.DeletionRequestStatus = exports.$Enums.DeletionRequestStatus = {
|
||||
};
|
||||
|
||||
exports.Prisma.ModelName = {
|
||||
PdfTemplate: 'PdfTemplate',
|
||||
EmailLog: 'EmailLog',
|
||||
AppSetting: 'AppSetting',
|
||||
User: 'User',
|
||||
|
||||
Reference in New Issue
Block a user