added place to telecommunication, added contract documents, added invoice to other contracts

This commit is contained in:
2026-03-25 16:55:48 +01:00
parent a15772cb54
commit 0e75e6c8e5
30 changed files with 3424 additions and 90 deletions
+19 -3
View File
File diff suppressed because one or more lines are too long
+16
View File
@@ -488,6 +488,17 @@ exports.Prisma.ContractScalarFieldEnum = {
updatedAt: 'updatedAt'
};
exports.Prisma.ContractDocumentScalarFieldEnum = {
id: 'id',
contractId: 'contractId',
documentType: 'documentType',
documentPath: 'documentPath',
originalName: 'originalName',
notes: 'notes',
uploadedBy: 'uploadedBy',
createdAt: 'createdAt'
};
exports.Prisma.ContractHistoryEntryScalarFieldEnum = {
id: 'id',
contractId: 'contractId',
@@ -551,6 +562,7 @@ exports.Prisma.ContractMeterScalarFieldEnum = {
exports.Prisma.InvoiceScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
contractId: 'contractId',
invoiceDate: 'invoiceDate',
invoiceType: 'invoiceType',
documentPath: 'documentPath',
@@ -569,6 +581,9 @@ exports.Prisma.InternetContractDetailsScalarFieldEnum = {
installationDate: 'installationDate',
internetUsername: 'internetUsername',
internetPasswordEncrypted: 'internetPasswordEncrypted',
propertyType: 'propertyType',
propertyLocation: 'propertyLocation',
connectionLocation: 'connectionLocation',
homeId: 'homeId',
activationCode: 'activationCode'
};
@@ -870,6 +885,7 @@ exports.Prisma.ModelName = {
Tariff: 'Tariff',
ContractCategory: 'ContractCategory',
Contract: 'Contract',
ContractDocument: 'ContractDocument',
ContractHistoryEntry: 'ContractHistoryEntry',
ContractTask: 'ContractTask',
ContractTaskSubtask: 'ContractTaskSubtask',
+2518 -45
View File
File diff suppressed because it is too large Load Diff
+19 -3
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,5 +1,5 @@
{
"name": "prisma-client-45a91d7556f300a75a0048d27fac6a72915779fc4e5c2234b54fe3547ddb1605",
"name": "prisma-client-f8de59fafbd0672a88c2a8e39308517de72556670ae690a7d472709948465d02",
"main": "index.js",
"types": "index.d.ts",
"browser": "index-browser.js",
+30 -5
View File
@@ -656,11 +656,29 @@ model Contract {
tasks ContractTask[]
assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client
historyEntries ContractHistoryEntry[]
documents ContractDocument[]
invoices Invoice[]
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
// ==================== CONTRACT DOCUMENTS ====================
model ContractDocument {
id Int @id @default(autoincrement())
contractId Int
contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)
documentType String // Auftragsformular, Lieferbestätigung, etc.
documentPath String // Dateipfad
originalName String // Originaler Dateiname
notes String? @db.Text
uploadedBy String? // Wer hat hochgeladen
createdAt DateTime @default(now())
@@index([contractId])
}
// ==================== CONTRACT HISTORY ====================
model ContractHistoryEntry {
@@ -752,17 +770,20 @@ model ContractMeter {
}
model Invoice {
id Int @id @default(autoincrement())
energyContractDetailsId Int
energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)
id Int @id @default(autoincrement())
energyContractDetailsId Int?
energyContractDetails EnergyContractDetails? @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)
contractId Int?
contract Contract? @relation(fields: [contractId], references: [id], onDelete: Cascade)
invoiceDate DateTime
invoiceType InvoiceType
documentPath String? // Pflicht, außer bei NOT_AVAILABLE
notes String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([energyContractDetailsId])
@@index([contractId])
}
// ==================== INTERNET CONTRACT DETAILS ====================
@@ -779,6 +800,10 @@ model InternetContractDetails {
// Internet-Zugangsdaten
internetUsername String?
internetPasswordEncrypted String? // Verschlüsselt gespeichert
// Objekt & Lage
propertyType String? // Objekttyp (Mehrparteienhaus, Freistehendes Haus, etc.)
propertyLocation String? // Lage (Erdgeschoss, OG1, etc.)
connectionLocation String? // Lage des Anschlusses (Flur, HWR, etc.)
// Glasfaser-spezifisch
homeId String?
// Vodafone DSL/Kabel spezifisch
+16
View File
@@ -488,6 +488,17 @@ exports.Prisma.ContractScalarFieldEnum = {
updatedAt: 'updatedAt'
};
exports.Prisma.ContractDocumentScalarFieldEnum = {
id: 'id',
contractId: 'contractId',
documentType: 'documentType',
documentPath: 'documentPath',
originalName: 'originalName',
notes: 'notes',
uploadedBy: 'uploadedBy',
createdAt: 'createdAt'
};
exports.Prisma.ContractHistoryEntryScalarFieldEnum = {
id: 'id',
contractId: 'contractId',
@@ -551,6 +562,7 @@ exports.Prisma.ContractMeterScalarFieldEnum = {
exports.Prisma.InvoiceScalarFieldEnum = {
id: 'id',
energyContractDetailsId: 'energyContractDetailsId',
contractId: 'contractId',
invoiceDate: 'invoiceDate',
invoiceType: 'invoiceType',
documentPath: 'documentPath',
@@ -569,6 +581,9 @@ exports.Prisma.InternetContractDetailsScalarFieldEnum = {
installationDate: 'installationDate',
internetUsername: 'internetUsername',
internetPasswordEncrypted: 'internetPasswordEncrypted',
propertyType: 'propertyType',
propertyLocation: 'propertyLocation',
connectionLocation: 'connectionLocation',
homeId: 'homeId',
activationCode: 'activationCode'
};
@@ -870,6 +885,7 @@ exports.Prisma.ModelName = {
Tariff: 'Tariff',
ContractCategory: 'ContractCategory',
Contract: 'Contract',
ContractDocument: 'ContractDocument',
ContractHistoryEntry: 'ContractHistoryEntry',
ContractTask: 'ContractTask',
ContractTaskSubtask: 'ContractTaskSubtask',