diff --git a/backend/dist/controllers/contract.controller.d.ts.map b/backend/dist/controllers/contract.controller.d.ts.map index 9ecd3fc1..9f2ce689 100644 --- a/backend/dist/controllers/contract.controller.d.ts.map +++ b/backend/dist/controllers/contract.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contract.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contract.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BjF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlF;AAID,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E"} \ No newline at end of file +{"version":3,"file":"contract.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contract.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlF;AAID,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E"} \ No newline at end of file diff --git a/backend/dist/controllers/contract.controller.js b/backend/dist/controllers/contract.controller.js index f4505f51..e4b7c17e 100644 --- a/backend/dist/controllers/contract.controller.js +++ b/backend/dist/controllers/contract.controller.js @@ -48,7 +48,13 @@ const contractService = __importStar(require("../services/contract.service.js")) const contractCockpitService = __importStar(require("../services/contractCockpit.service.js")); async function getContracts(req, res) { try { - const { customerId, type, status, search, page, limit } = req.query; + const { customerId, type, status, search, page, limit, tree } = req.query; + // Baumstruktur für Kundenansicht + if (tree === 'true' && customerId) { + const treeData = await contractService.getContractTreeForCustomer(parseInt(customerId)); + res.json({ success: true, data: treeData }); + return; + } // Für Kundenportal-Benutzer: nur eigene + vertretene Kunden-Verträge anzeigen let customerIds; if (req.user?.isCustomerPortal && req.user.customerId) { diff --git a/backend/dist/controllers/contract.controller.js.map b/backend/dist/controllers/contract.controller.js.map index 9bb24443..ef1ee364 100644 --- a/backend/dist/controllers/contract.controller.js.map +++ b/backend/dist/controllers/contract.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"contract.controller.js","sourceRoot":"","sources":["../../src/controllers/contract.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contract.controller.js","sourceRoot":"","sources":["../../src/controllers/contract.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/contract.service.d.ts b/backend/dist/services/contract.service.d.ts index 778e7c86..a478648b 100644 --- a/backend/dist/services/contract.service.d.ts +++ b/backend/dist/services/contract.service.d.ts @@ -67,6 +67,19 @@ export declare function getAllContracts(filters: ContractFilters): Promise<{ color: string | null; sortOrder: number; } | null; + billingAddress: { + id: number; + customerId: number; + createdAt: Date; + updatedAt: Date; + type: import(".prisma/client").$Enums.AddressType; + isDefault: boolean; + street: string; + houseNumber: string; + postalCode: string; + city: string; + country: string; + } | null; cancellationPeriod: { id: number; isActive: boolean; @@ -99,6 +112,7 @@ export declare function getAllContracts(filters: ContractFilters): Promise<{ contractNumber: string; contractCategoryId: number | null; addressId: number | null; + billingAddressId: number | null; bankCardId: number | null; identityDocumentId: number | null; salesPlatformId: number | null; @@ -354,6 +368,19 @@ export declare function getContractById(id: number, decryptPassword?: boolean): color: string | null; sortOrder: number; } | null; + billingAddress: { + id: number; + customerId: number; + createdAt: Date; + updatedAt: Date; + type: import(".prisma/client").$Enums.AddressType; + isDefault: boolean; + street: string; + houseNumber: string; + postalCode: string; + city: string; + country: string; + } | null; cancellationPeriod: { id: number; isActive: boolean; @@ -490,6 +517,7 @@ export declare function getContractById(id: number, decryptPassword?: boolean): contractNumber: string; contractCategoryId: number | null; addressId: number | null; + billingAddressId: number | null; bankCardId: number | null; identityDocumentId: number | null; salesPlatformId: number | null; @@ -534,6 +562,7 @@ export declare function getContractById(id: number, decryptPassword?: boolean): contractNumber: string; contractCategoryId: number | null; addressId: number | null; + billingAddressId: number | null; bankCardId: number | null; identityDocumentId: number | null; salesPlatformId: number | null; @@ -563,6 +592,7 @@ interface ContractCreateData { contractCategoryId?: number; status?: ContractStatus; addressId?: number; + billingAddressId?: number; bankCardId?: number; identityDocumentId?: number; salesPlatformId?: number; @@ -786,6 +816,19 @@ export declare function createContract(data: ContractCreateData): Promise<{ internetUsername: string | null; internetPasswordEncrypted: string | null; }) | null; + billingAddress: { + id: number; + customerId: number; + createdAt: Date; + updatedAt: Date; + type: import(".prisma/client").$Enums.AddressType; + isDefault: boolean; + street: string; + houseNumber: string; + postalCode: string; + city: string; + country: string; + } | null; } & { id: number; customerId: number; @@ -802,6 +845,7 @@ export declare function createContract(data: ContractCreateData): Promise<{ contractNumber: string; contractCategoryId: number | null; addressId: number | null; + billingAddressId: number | null; bankCardId: number | null; identityDocumentId: number | null; salesPlatformId: number | null; @@ -1050,6 +1094,19 @@ export declare function updateContract(id: number, data: Partial; +export interface ContractTreeNode { + contract: { + id: number; + contractNumber: string; + type: ContractType; + status: ContractStatus; + startDate: Date | null; + endDate: Date | null; + providerName: string | null; + tariffName: string | null; + previousContractId: number | null; + provider?: { + id: number; + name: string; + } | null; + tariff?: { + id: number; + name: string; + } | null; + contractCategory?: { + id: number; + name: string; + } | null; + }; + predecessors: ContractTreeNode[]; + hasHistory: boolean; +} +/** + * Verträge eines Kunden als Baumstruktur abrufen. + * Wurzelknoten = Verträge ohne Nachfolger (aktuellste Verträge) + * Vorgänger werden rekursiv eingebettet. + */ +export declare function getContractTreeForCustomer(customerId: number): Promise; export {}; //# sourceMappingURL=contract.service.d.ts.map \ No newline at end of file diff --git a/backend/dist/services/contract.service.d.ts.map b/backend/dist/services/contract.service.d.ts.map index c319defb..5056cacd 100644 --- a/backend/dist/services/contract.service.d.ts.map +++ b/backend/dist/services/contract.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contract.service.d.ts","sourceRoot":"","sources":["../../src/services/contract.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contract.service.d.ts","sourceRoot":"","sources":["../../src/services/contract.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/contract.service.js b/backend/dist/services/contract.service.js index 21d369f4..cacac111 100644 --- a/backend/dist/services/contract.service.js +++ b/backend/dist/services/contract.service.js @@ -10,6 +10,7 @@ exports.getContractPassword = getContractPassword; exports.getSimCardCredentials = getSimCardCredentials; exports.getInternetCredentials = getInternetCredentials; exports.getSipCredentials = getSipCredentials; +exports.getContractTreeForCustomer = getContractTreeForCustomer; const client_1 = require("@prisma/client"); const helpers_js_1 = require("../utils/helpers.js"); const encryption_js_1 = require("../utils/encryption.js"); @@ -75,7 +76,7 @@ async function getAllContracts(filters) { where, skip, take, - orderBy: [{ startDate: 'desc' }, { createdAt: 'desc' }], + orderBy: [{ createdAt: 'desc' }], include: { customer: { select: { @@ -87,6 +88,7 @@ async function getAllContracts(filters) { }, }, address: true, + billingAddress: true, salesPlatform: true, cancellationPeriod: true, contractDuration: true, @@ -108,6 +110,7 @@ async function getContractById(id, decryptPassword = false) { include: { customer: true, address: true, + billingAddress: true, bankCard: true, identityDocument: true, salesPlatform: true, @@ -233,6 +236,7 @@ async function createContract(data) { include: { customer: true, address: true, + billingAddress: true, salesPlatform: true, energyDetails: true, internetDetails: { include: { phoneNumbers: true } }, @@ -598,4 +602,66 @@ async function getSipCredentials(phoneNumberId) { return { password: null }; } } +/** + * Verträge eines Kunden als Baumstruktur abrufen. + * Wurzelknoten = Verträge ohne Nachfolger (aktuellste Verträge) + * Vorgänger werden rekursiv eingebettet. + */ +async function getContractTreeForCustomer(customerId) { + // Alle Verträge des Kunden laden (außer DEACTIVATED) + const allContracts = await prisma.contract.findMany({ + where: { + customerId, + status: { not: client_1.ContractStatus.DEACTIVATED }, + }, + select: { + id: true, + contractNumber: true, + type: true, + status: true, + startDate: true, + endDate: true, + providerName: true, + tariffName: true, + previousContractId: true, + provider: { select: { id: true, name: true } }, + tariff: { select: { id: true, name: true } }, + contractCategory: { select: { id: true, name: true } }, + }, + orderBy: [{ startDate: 'desc' }, { createdAt: 'desc' }], + }); + // Map für schnellen Zugriff: contractId -> contract + const contractMap = new Map(allContracts.map(c => [c.id, c])); + // Set der IDs die als Vorgänger referenziert werden + const predecessorIds = new Set(allContracts + .filter(c => c.previousContractId !== null) + .map(c => c.previousContractId)); + // Wurzelverträge = Verträge die keinen Nachfolger haben + // (werden von keinem anderen Vertrag als previousContractId referenziert) + const rootContracts = allContracts.filter(c => !predecessorIds.has(c.id)); + // Rekursive Funktion um Vorgängerkette aufzubauen + function buildPredecessorChain(contractId) { + if (contractId === null) + return []; + const contract = contractMap.get(contractId); + if (!contract) + return []; + const predecessors = buildPredecessorChain(contract.previousContractId); + return [{ + contract, + predecessors, + hasHistory: predecessors.length > 0, + }]; + } + // Baumstruktur für jeden Wurzelvertrag aufbauen + const tree = rootContracts.map(contract => { + const predecessors = buildPredecessorChain(contract.previousContractId); + return { + contract, + predecessors, + hasHistory: predecessors.length > 0, + }; + }); + return tree; +} //# sourceMappingURL=contract.service.js.map \ No newline at end of file diff --git a/backend/dist/services/contract.service.js.map b/backend/dist/services/contract.service.js.map index 700baf52..5c7f83b3 100644 --- a/backend/dist/services/contract.service.js.map +++ b/backend/dist/services/contract.service.js.map @@ -1 +1 @@ -{"version":3,"file":"contract.service.js","sourceRoot":"","sources":["../../src/services/contract.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contract.service.js","sourceRoot":"","sources":["../../src/services/contract.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/customer.service.d.ts b/backend/dist/services/customer.service.d.ts index 738f13c5..b572ad41 100644 --- a/backend/dist/services/customer.service.d.ts +++ b/backend/dist/services/customer.service.d.ts @@ -173,6 +173,7 @@ export declare function getCustomerById(id: number): Promise<({ contractNumber: string; contractCategoryId: number | null; addressId: number | null; + billingAddressId: number | null; bankCardId: number | null; identityDocumentId: number | null; salesPlatformId: number | null; diff --git a/backend/dist/services/customer.service.d.ts.map b/backend/dist/services/customer.service.d.ts.map index bb5c8bf3..d027503d 100644 --- a/backend/dist/services/customer.service.d.ts.map +++ b/backend/dist/services/customer.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"customer.service.d.ts","sourceRoot":"","sources":["../../src/services/customer.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"customer.service.d.ts","sourceRoot":"","sources":["../../src/services/customer.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/node_modules/.package-lock.json b/backend/node_modules/.package-lock.json index 1e0d8190..24e590af 100644 --- a/backend/node_modules/.package-lock.json +++ b/backend/node_modules/.package-lock.json @@ -124,6 +124,14 @@ "url": "https://ko-fi.com/killymxi" } }, + "node_modules/@swc/helpers": { + "version": "0.5.18", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz", + "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@types/adm-zip": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.5.7.tgz", @@ -277,6 +285,15 @@ "@types/node": "*" } }, + "node_modules/@types/pdfkit": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.17.4.tgz", + "integrity": "sha512-odAmVuuguRxKh1X4pbMrJMp8ecwNqHRw6lweupvzK+wuyNmi6wzlUlGVZ9EqMvp3Bs2+L9Ty0sRlrvKL+gsQZg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", @@ -580,6 +597,14 @@ "balanced-match": "^1.0.0" } }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "dependencies": { + "base64-js": "^1.1.2" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -667,6 +692,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -843,6 +876,11 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -876,6 +914,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -1163,6 +1206,11 @@ "node": ">= 8.0.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -1185,6 +1233,22 @@ "node": ">= 0.8" } }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -1513,6 +1577,12 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jpeg-exif": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", + "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." + }, "node_modules/jsonwebtoken": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", @@ -1609,6 +1679,23 @@ "resolved": "https://registry.npmjs.org/libqp/-/libqp-2.1.1.tgz", "integrity": "sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow==" }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/linkify-it": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", @@ -1887,6 +1974,11 @@ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + }, "node_modules/parseley": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", @@ -1935,6 +2027,18 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, + "node_modules/pdfkit": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz", + "integrity": "sha512-UnwF5fXy08f0dnp4jchFYAROKMNTaPqb/xgR8GtCzIcqoTnbOqtp3bwKvO4688oHI6vzEEs8Q6vqqEnC5IUELw==", + "dependencies": { + "crypto-js": "^4.2.0", + "fontkit": "^2.0.4", + "jpeg-exif": "^1.1.4", + "linebreak": "^1.1.0", + "png-js": "^1.0.0" + } + }, "node_modules/peberminta": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", @@ -1977,6 +2081,11 @@ "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==" }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, "node_modules/prisma": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.22.0.tgz", @@ -2140,6 +2249,11 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2533,6 +2647,11 @@ "node": ">=20" } }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, "node_modules/tlds": { "version": "1.261.0", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.261.0.tgz", @@ -2549,6 +2668,11 @@ "node": ">=0.6" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "node_modules/tsx": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", @@ -2617,6 +2741,24 @@ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/backend/package-lock.json b/backend/package-lock.json index 40d90ed1..278752bb 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -21,6 +21,7 @@ "mailparser": "^3.9.3", "multer": "^1.4.5-lts.1", "nodemailer": "^7.0.13", + "pdfkit": "^0.17.2", "undici": "^6.23.0" }, "devDependencies": { @@ -34,6 +35,7 @@ "@types/multer": "^1.4.12", "@types/node": "^22.9.0", "@types/nodemailer": "^7.0.9", + "@types/pdfkit": "^0.17.4", "prisma": "^5.22.0", "tsx": "^4.19.2", "typescript": "^5.6.3" @@ -559,6 +561,14 @@ "url": "https://ko-fi.com/killymxi" } }, + "node_modules/@swc/helpers": { + "version": "0.5.18", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.18.tgz", + "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", + "dependencies": { + "tslib": "^2.8.0" + } + }, "node_modules/@types/adm-zip": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/@types/adm-zip/-/adm-zip-0.5.7.tgz", @@ -712,6 +722,15 @@ "@types/node": "*" } }, + "node_modules/@types/pdfkit": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/pdfkit/-/pdfkit-0.17.4.tgz", + "integrity": "sha512-odAmVuuguRxKh1X4pbMrJMp8ecwNqHRw6lweupvzK+wuyNmi6wzlUlGVZ9EqMvp3Bs2+L9Ty0sRlrvKL+gsQZg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/qs": { "version": "6.14.0", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", @@ -1015,6 +1034,14 @@ "balanced-match": "^1.0.0" } }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "dependencies": { + "base64-js": "^1.1.2" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -1102,6 +1129,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "engines": { + "node": ">=0.8" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1278,6 +1313,11 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -1311,6 +1351,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==" + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -1598,6 +1643,11 @@ "node": ">= 8.0.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -1620,6 +1670,22 @@ "node": ">= 0.8" } }, + "node_modules/fontkit": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", + "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", + "dependencies": { + "@swc/helpers": "^0.5.12", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "dfa": "^1.2.0", + "fast-deep-equal": "^3.1.3", + "restructure": "^3.0.0", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.4.0", + "unicode-trie": "^2.0.0" + } + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -1962,6 +2028,12 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jpeg-exif": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/jpeg-exif/-/jpeg-exif-1.1.4.tgz", + "integrity": "sha512-a+bKEcCjtuW5WTdgeXFzswSrdqi0jk4XlEtZlx5A94wCoBpFjfFTbo/Tra5SpNCl/YFZPvcV1dJc+TAYeg6ROQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info." + }, "node_modules/jsonwebtoken": { "version": "9.0.3", "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", @@ -2058,6 +2130,23 @@ "resolved": "https://registry.npmjs.org/libqp/-/libqp-2.1.1.tgz", "integrity": "sha512-0Wd+GPz1O134cP62YU2GTOPNA7Qgl09XwCqM5zpBv87ERCXdfDtyKXvV7c9U22yWJh44QZqBocFnXN11K96qow==" }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/linkify-it": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", @@ -2336,6 +2425,11 @@ "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==" + }, "node_modules/parseley": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/parseley/-/parseley-0.12.1.tgz", @@ -2384,6 +2478,18 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, + "node_modules/pdfkit": { + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.17.2.tgz", + "integrity": "sha512-UnwF5fXy08f0dnp4jchFYAROKMNTaPqb/xgR8GtCzIcqoTnbOqtp3bwKvO4688oHI6vzEEs8Q6vqqEnC5IUELw==", + "dependencies": { + "crypto-js": "^4.2.0", + "fontkit": "^2.0.4", + "jpeg-exif": "^1.1.4", + "linebreak": "^1.1.0", + "png-js": "^1.0.0" + } + }, "node_modules/peberminta": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/peberminta/-/peberminta-0.9.0.tgz", @@ -2426,6 +2532,11 @@ "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.1.0.tgz", "integrity": "sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==" }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==" + }, "node_modules/prisma": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/prisma/-/prisma-5.22.0.tgz", @@ -2589,6 +2700,11 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/restructure": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", + "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2982,6 +3098,11 @@ "node": ">=20" } }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" + }, "node_modules/tlds": { "version": "1.261.0", "resolved": "https://registry.npmjs.org/tlds/-/tlds-1.261.0.tgz", @@ -2998,6 +3119,11 @@ "node": ">=0.6" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, "node_modules/tsx": { "version": "4.21.0", "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", @@ -3066,6 +3192,24 @@ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true }, + "node_modules/unicode-properties": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", + "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", diff --git a/backend/package.json b/backend/package.json index db7ba247..4922a230 100644 --- a/backend/package.json +++ b/backend/package.json @@ -31,6 +31,7 @@ "mailparser": "^3.9.3", "multer": "^1.4.5-lts.1", "nodemailer": "^7.0.13", + "pdfkit": "^0.17.2", "undici": "^6.23.0" }, "devDependencies": { @@ -44,6 +45,7 @@ "@types/multer": "^1.4.12", "@types/node": "^22.9.0", "@types/nodemailer": "^7.0.9", + "@types/pdfkit": "^0.17.4", "prisma": "^5.22.0", "tsx": "^4.19.2", "typescript": "^5.6.3" diff --git a/backend/src/controllers/cachedEmail.controller.ts b/backend/src/controllers/cachedEmail.controller.ts index f1819d35..04bc2219 100644 --- a/backend/src/controllers/cachedEmail.controller.ts +++ b/backend/src/controllers/cachedEmail.controller.ts @@ -9,6 +9,7 @@ import { getImapSmtpSettings } from '../services/emailProvider/emailProviderServ import { decrypt } from '../utils/encryption.js'; import { ApiResponse } from '../types/index.js'; import { getCustomerTargets, getContractTargets, getIdentityDocumentTargets, getBankCardTargets, documentTargets } from '../config/documentTargets.config.js'; +import { generateEmailPdf } from '../services/pdfService.js'; import { PrismaClient, DocumentType } from '@prisma/client'; import path from 'path'; import fs from 'fs'; @@ -1270,3 +1271,250 @@ export async function saveAttachmentTo(req: Request, res: Response): Promise { + try { + const emailId = parseInt(req.params.id); + const { entityType, entityId, targetKey } = req.body; + + console.log('[saveEmailAsPdf] Request:', { emailId, entityType, entityId, targetKey }); + + // Validierung + if (!entityType || !targetKey) { + res.status(400).json({ + success: false, + error: 'entityType und targetKey sind erforderlich', + } as ApiResponse); + return; + } + + // E-Mail aus Cache laden (mit Body) + const email = await cachedEmailService.getCachedEmailById(emailId); + if (!email) { + res.status(404).json({ + success: false, + error: 'E-Mail nicht gefunden', + } as ApiResponse); + return; + } + + // StressfreiEmail laden um an den Kunden zu kommen + const stressfreiEmail = await prisma.stressfreiEmail.findUnique({ + where: { id: email.stressfreiEmailId }, + include: { customer: true }, + }); + + if (!stressfreiEmail) { + res.status(404).json({ + success: false, + error: 'E-Mail-Konto nicht gefunden', + } as ApiResponse); + return; + } + + // Empfänger-Adressen parsen (JSON Array) + let toAddresses: string[] = []; + let ccAddresses: string[] = []; + try { + toAddresses = JSON.parse(email.toAddresses); + } catch { toAddresses = [email.toAddresses]; } + try { + if (email.ccAddresses) ccAddresses = JSON.parse(email.ccAddresses); + } catch { /* ignore */ } + + // PDF generieren + const pdfBuffer = await generateEmailPdf({ + from: email.fromAddress, + to: toAddresses.join(', '), + cc: ccAddresses.length > 0 ? ccAddresses.join(', ') : undefined, + subject: email.subject || '(Kein Betreff)', + date: email.receivedAt, + bodyText: email.textBody || undefined, + bodyHtml: email.htmlBody || undefined, + }); + + // Ziel-Konfiguration finden + let targetConfig; + let targetDir: string; + let targetField: string; + + console.log('[saveEmailAsPdf] Looking for target config:', { entityType, targetKey }); + + if (entityType === 'customer') { + targetConfig = documentTargets.customer.find(t => t.key === targetKey); + } else if (entityType === 'identityDocument') { + targetConfig = documentTargets.identityDocument.find(t => t.key === targetKey); + } else if (entityType === 'bankCard') { + targetConfig = documentTargets.bankCard.find(t => t.key === targetKey); + } else if (entityType === 'contract') { + targetConfig = documentTargets.contract.find(t => t.key === targetKey); + } + + console.log('[saveEmailAsPdf] Found targetConfig:', targetConfig); + + if (!targetConfig) { + res.status(400).json({ + success: false, + error: `Unbekanntes Dokumentziel: ${entityType}/${targetKey}`, + } as ApiResponse); + return; + } + + targetDir = targetConfig.directory; + targetField = targetConfig.field; + + // Uploads-Verzeichnis erstellen + const uploadsDir = path.join(process.cwd(), 'uploads', targetDir); + if (!fs.existsSync(uploadsDir)) { + fs.mkdirSync(uploadsDir, { recursive: true }); + } + + // Eindeutigen Dateinamen generieren + const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1e9); + const newFilename = `email-${uniqueSuffix}.pdf`; + const filePath = path.join(uploadsDir, newFilename); + const relativePath = `/uploads/${targetDir}/${newFilename}`; + + // PDF speichern + fs.writeFileSync(filePath, pdfBuffer); + + // Alte Datei löschen und DB aktualisieren + if (entityType === 'customer') { + const customer = stressfreiEmail.customer; + + // Alte Datei löschen + const oldPath = (customer as any)[targetField]; + if (oldPath) { + const oldFullPath = path.join(process.cwd(), oldPath); + if (fs.existsSync(oldFullPath)) { + fs.unlinkSync(oldFullPath); + } + } + + await prisma.customer.update({ + where: { id: customer.id }, + data: { [targetField]: relativePath }, + }); + } else if (entityType === 'identityDocument') { + if (!entityId) { + fs.unlinkSync(filePath); + res.status(400).json({ + success: false, + error: 'entityId ist für identityDocument erforderlich', + } as ApiResponse); + return; + } + + const doc = await prisma.identityDocument.findUnique({ where: { id: entityId } }); + if (!doc) { + fs.unlinkSync(filePath); + res.status(404).json({ + success: false, + error: 'Ausweis nicht gefunden', + } as ApiResponse); + return; + } + + // Alte Datei löschen + const oldPath = (doc as any)[targetField]; + if (oldPath) { + const oldFullPath = path.join(process.cwd(), oldPath); + if (fs.existsSync(oldFullPath)) { + fs.unlinkSync(oldFullPath); + } + } + + await prisma.identityDocument.update({ + where: { id: entityId }, + data: { [targetField]: relativePath }, + }); + } else if (entityType === 'bankCard') { + if (!entityId) { + fs.unlinkSync(filePath); + res.status(400).json({ + success: false, + error: 'entityId ist für bankCard erforderlich', + } as ApiResponse); + return; + } + + const card = await prisma.bankCard.findUnique({ where: { id: entityId } }); + if (!card) { + fs.unlinkSync(filePath); + res.status(404).json({ + success: false, + error: 'Bankkarte nicht gefunden', + } as ApiResponse); + return; + } + + // Alte Datei löschen + const oldPath = (card as any)[targetField]; + if (oldPath) { + const oldFullPath = path.join(process.cwd(), oldPath); + if (fs.existsSync(oldFullPath)) { + fs.unlinkSync(oldFullPath); + } + } + + await prisma.bankCard.update({ + where: { id: entityId }, + data: { [targetField]: relativePath }, + }); + } else if (entityType === 'contract') { + // Contract-ID kommt aus der E-Mail-Zuordnung oder direkt + const contractId = email.contractId; + if (!contractId) { + fs.unlinkSync(filePath); + res.status(400).json({ + success: false, + error: 'E-Mail ist keinem Vertrag zugeordnet', + } as ApiResponse); + return; + } + + const contract = await prisma.contract.findUnique({ where: { id: contractId } }); + if (!contract) { + fs.unlinkSync(filePath); + res.status(404).json({ + success: false, + error: 'Vertrag nicht gefunden', + } as ApiResponse); + return; + } + + // Alte Datei löschen + const oldPath = (contract as any)[targetField]; + if (oldPath) { + const oldFullPath = path.join(process.cwd(), oldPath); + if (fs.existsSync(oldFullPath)) { + fs.unlinkSync(oldFullPath); + } + } + + await prisma.contract.update({ + where: { id: contractId }, + data: { [targetField]: relativePath }, + }); + } + + res.json({ + success: true, + data: { + path: relativePath, + filename: newFilename, + size: pdfBuffer.length, + }, + } as ApiResponse); + } catch (error) { + console.error('saveEmailAsPdf error:', error); + const errorMessage = error instanceof Error ? error.message : 'Unbekannter Fehler'; + res.status(500).json({ + success: false, + error: `Fehler beim Erstellen der PDF: ${errorMessage}`, + } as ApiResponse); + } +} diff --git a/backend/src/routes/cachedEmail.routes.ts b/backend/src/routes/cachedEmail.routes.ts index 49ad1a36..b2b6c13d 100644 --- a/backend/src/routes/cachedEmail.routes.ts +++ b/backend/src/routes/cachedEmail.routes.ts @@ -176,6 +176,15 @@ router.post( cachedEmailController.saveAttachmentTo ); +// E-Mail als PDF exportieren und speichern +// POST /api/emails/:id/save-as-pdf { entityType, entityId?, targetKey } +router.post( + '/emails/:id/save-as-pdf', + authenticate, + requirePermission('customers:update'), + cachedEmailController.saveEmailAsPdf +); + // ==================== VERTRAGSZUORDNUNG ==================== // E-Mail Vertrag zuordnen diff --git a/backend/src/services/pdfService.ts b/backend/src/services/pdfService.ts index e42fee34..466ba31c 100644 --- a/backend/src/services/pdfService.ts +++ b/backend/src/services/pdfService.ts @@ -1,153 +1,174 @@ -import puppeteer from 'puppeteer'; +// ==================== PDF SERVICE ==================== + +import PDFDocument from 'pdfkit'; + +interface EmailData { + from: string; + to: string; + cc?: string; + subject: string; + date: Date; + bodyText?: string; + bodyHtml?: string; +} /** - * Konvertiert HTML zu PDF mit Puppeteer + * Generiert ein PDF aus einer E-Mail */ -export async function htmlToPdf(html: string): Promise { - const browser = await puppeteer.launch({ - headless: true, - args: ['--no-sandbox', '--disable-setuid-sandbox'], +export async function generateEmailPdf(email: EmailData): Promise { + return new Promise((resolve, reject) => { + try { + const doc = new PDFDocument({ + size: 'A4', + margins: { top: 50, bottom: 50, left: 50, right: 50 }, + }); + + const chunks: Buffer[] = []; + + doc.on('data', (chunk) => chunks.push(chunk)); + doc.on('end', () => resolve(Buffer.concat(chunks))); + doc.on('error', reject); + + // Header + doc + .fontSize(18) + .font('Helvetica-Bold') + .text('E-Mail', { align: 'center' }); + + doc.moveDown(1.5); + + // Metadaten-Tabelle + doc.fontSize(10).font('Helvetica'); + + // Von + doc + .font('Helvetica-Bold') + .text('Von: ', { continued: true }) + .font('Helvetica') + .text(email.from); + + // An + doc + .font('Helvetica-Bold') + .text('An: ', { continued: true }) + .font('Helvetica') + .text(email.to); + + // CC (falls vorhanden) + if (email.cc) { + doc + .font('Helvetica-Bold') + .text('CC: ', { continued: true }) + .font('Helvetica') + .text(email.cc); + } + + // Datum + const formattedDate = email.date.toLocaleString('de-DE', { + dateStyle: 'full', + timeStyle: 'short', + }); + doc + .font('Helvetica-Bold') + .text('Datum: ', { continued: true }) + .font('Helvetica') + .text(formattedDate); + + // Betreff + doc + .font('Helvetica-Bold') + .text('Betreff: ', { continued: true }) + .font('Helvetica') + .text(email.subject || '(Kein Betreff)'); + + doc.moveDown(1); + + // Trennlinie + doc + .moveTo(50, doc.y) + .lineTo(doc.page.width - 50, doc.y) + .stroke(); + + doc.moveDown(1); + + // Inhalt + doc.fontSize(11); + + // HTML in Text konvertieren (vereinfacht) + let content = email.bodyText || ''; + + if (!content && email.bodyHtml) { + // Einfache HTML-zu-Text Konvertierung + content = htmlToPlainText(email.bodyHtml); + } + + if (!content) { + content = '(Kein Inhalt)'; + } + + // Text mit Zeilenumbrüchen ausgeben + doc.text(content, { + align: 'left', + lineGap: 2, + }); + + // Footer mit Erstellungsdatum + const footerY = doc.page.height - 40; + doc + .fontSize(8) + .fillColor('#666666') + .text( + `Exportiert am ${new Date().toLocaleString('de-DE')}`, + 50, + footerY, + { align: 'center', width: doc.page.width - 100 } + ); + + doc.end(); + } catch (error) { + reject(error); + } }); - - try { - const page = await browser.newPage(); - await page.setContent(html, { waitUntil: 'networkidle0' }); - - const pdfBuffer = await page.pdf({ - format: 'A4', - margin: { - top: '20mm', - right: '15mm', - bottom: '20mm', - left: '15mm', - }, - printBackground: true, - }); - - return Buffer.from(pdfBuffer); - } finally { - await browser.close(); - } } /** - * Baut ein HTML-Dokument für eine E-Mail mit Header + * Konvertiert HTML in Plain-Text (vereinfacht) */ -export function buildEmailHtml(email: { - subject?: string | null; - fromAddress: string; - fromName?: string | null; - toAddresses: string; - receivedAt: Date; - htmlBody?: string | null; - textBody?: string | null; -}): string { - const formatDate = (date: Date) => { - return new Date(date).toLocaleString('de-DE', { - day: '2-digit', - month: '2-digit', - year: 'numeric', - hour: '2-digit', - minute: '2-digit', - }); - }; +function htmlToPlainText(html: string): string { + let text = html; - // To-Adressen parsen (JSON Array) - let toList: string[] = []; - try { - toList = JSON.parse(email.toAddresses); - } catch { - toList = [email.toAddresses]; - } + // Zeilenumbrüche vor Block-Elementen + text = text.replace(/<(br|p|div|h[1-6]|li|tr)[^>]*>/gi, '\n'); - const fromDisplay = email.fromName - ? `${email.fromName} <${email.fromAddress}>` - : email.fromAddress; + // Listen-Elemente + text = text.replace(/]*>/gi, '\n• '); - const body = email.htmlBody || `
${email.textBody || ''}
`; + // Links mit URL + text = text.replace(/]*href="([^"]*)"[^>]*>([^<]*)<\/a>/gi, '$2 ($1)'); - return ` - - - - - - - - - - - - `.trim(); -} - -function escapeHtml(str: string): string { - return str - .replace(/&/g, '&') - .replace(//g, '>') - .replace(/"/g, '"'); + // Alle anderen Tags entfernen + text = text.replace(/<[^>]+>/g, ''); + + // HTML-Entities dekodieren + text = text.replace(/ /g, ' '); + text = text.replace(/&/g, '&'); + text = text.replace(/</g, '<'); + text = text.replace(/>/g, '>'); + text = text.replace(/"/g, '"'); + text = text.replace(/'/g, "'"); + text = text.replace(/ä/g, 'ä'); + text = text.replace(/ö/g, 'ö'); + text = text.replace(/ü/g, 'ü'); + text = text.replace(/Ä/g, 'Ä'); + text = text.replace(/Ö/g, 'Ö'); + text = text.replace(/Ü/g, 'Ü'); + text = text.replace(/ß/g, 'ß'); + + // Mehrfache Leerzeilen reduzieren + text = text.replace(/\n{3,}/g, '\n\n'); + + // Führende/folgende Leerzeichen entfernen + text = text.trim(); + + return text; } diff --git a/frontend/src/components/contracts/ContractDetailModal.tsx b/frontend/src/components/contracts/ContractDetailModal.tsx new file mode 100644 index 00000000..1ea87a51 --- /dev/null +++ b/frontend/src/components/contracts/ContractDetailModal.tsx @@ -0,0 +1,194 @@ +import { useQuery } from '@tanstack/react-query'; +import { contractApi } from '../../services/api'; +import Modal from '../ui/Modal'; +import Badge from '../ui/Badge'; +import Card from '../ui/Card'; +import CopyButton from '../ui/CopyButton'; +import type { ContractType, ContractStatus } from '../../types'; + +const typeLabels: Record = { + ELECTRICITY: 'Strom', + GAS: 'Gas', + DSL: 'DSL', + CABLE: 'Kabelinternet', + FIBER: 'Glasfaser', + MOBILE: 'Mobilfunk', + TV: 'TV', + CAR_INSURANCE: 'KFZ-Versicherung', +}; + +const statusLabels: Record = { + DRAFT: 'Entwurf', + PENDING: 'Ausstehend', + ACTIVE: 'Aktiv', + CANCELLED: 'Gekündigt', + EXPIRED: 'Abgelaufen', + DEACTIVATED: 'Deaktiviert', +}; + +const statusVariants: Record = { + ACTIVE: 'success', + PENDING: 'warning', + CANCELLED: 'danger', + EXPIRED: 'danger', + DRAFT: 'default', + DEACTIVATED: 'default', +}; + +interface ContractDetailModalProps { + contractId: number; + isOpen: boolean; + onClose: () => void; +} + +export default function ContractDetailModal({ contractId, isOpen, onClose }: ContractDetailModalProps) { + const { data, isLoading, error } = useQuery({ + queryKey: ['contract', contractId], + queryFn: () => contractApi.getById(contractId), + enabled: isOpen, + }); + + const c = data?.data; + + return ( + + {isLoading && ( +
Laden...
+ )} + + {error && ( +
Fehler beim Laden des Vertrags
+ )} + + {c && ( +
+ {/* Header */} +
+ + {c.contractNumber} + + + {typeLabels[c.type as ContractType] || c.type} + + {statusLabels[c.status as ContractStatus] || c.status} + +
+ + {/* Anbieter & Tarif */} + {(c.providerName || c.provider?.name || c.tariffName || c.tariff?.name) && ( + +
+ {(c.providerName || c.provider?.name) && ( +
+
Anbieter
+
+ {c.providerName || c.provider?.name} + +
+
+ )} + {(c.tariffName || c.tariff?.name) && ( +
+
Tarif
+
+ {c.tariffName || c.tariff?.name} + +
+
+ )} + {c.customerNumberAtProvider && ( +
+
Kundennummer beim Anbieter
+
+ {c.customerNumberAtProvider} + +
+
+ )} +
+
+ )} + + {/* Laufzeit */} + +
+ {c.startDate && ( +
+
Vertragsbeginn
+
{new Date(c.startDate).toLocaleDateString('de-DE')}
+
+ )} + {c.endDate && ( +
+
Vertragsende
+
{new Date(c.endDate).toLocaleDateString('de-DE')}
+
+ )} + {c.contractDuration && ( +
+
Laufzeit
+
{c.contractDuration.description}
+
+ )} + {c.cancellationPeriod && ( +
+
Kündigungsfrist
+
{c.cancellationPeriod.description}
+
+ )} +
+
+ + {/* Portal-Zugangsdaten */} + {(c.portalUsername || c.provider?.portalUrl) && ( + +
+ {c.provider?.portalUrl && ( +
+
Portal-URL
+
+ + {c.provider.portalUrl} + +
+
+ )} + {c.portalUsername && ( +
+
Benutzername
+
+ {c.portalUsername} + +
+
+ )} +
+
+ )} + + {/* Adresse */} + {c.address && ( + +

+ {c.address.street} {c.address.houseNumber} +

+

{c.address.postalCode} {c.address.city}

+
+ )} + + {/* Notizen */} + {c.notes && ( + +

{c.notes}

+
+ )} +
+ )} +
+ ); +} diff --git a/frontend/src/components/contracts/index.ts b/frontend/src/components/contracts/index.ts new file mode 100644 index 00000000..a4bfc59f --- /dev/null +++ b/frontend/src/components/contracts/index.ts @@ -0,0 +1 @@ +export { default as ContractDetailModal } from './ContractDetailModal'; diff --git a/frontend/src/components/email/EmailDetail.tsx b/frontend/src/components/email/EmailDetail.tsx index fb81380c..f8788b82 100644 --- a/frontend/src/components/email/EmailDetail.tsx +++ b/frontend/src/components/email/EmailDetail.tsx @@ -1,5 +1,5 @@ import { useState, useEffect } from 'react'; -import { Reply, Star, Paperclip, Link2, X, Download, ExternalLink, Trash2, Undo2, Save } from 'lucide-react'; +import { Reply, Star, Paperclip, Link2, X, Download, ExternalLink, Trash2, Undo2, Save, FileDown } from 'lucide-react'; import { CachedEmail, cachedEmailApi } from '../../services/api'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import Button from '../ui/Button'; @@ -7,6 +7,7 @@ import { Link } from 'react-router-dom'; import { useAuth } from '../../context/AuthContext'; import toast from 'react-hot-toast'; import SaveAttachmentModal from './SaveAttachmentModal'; +import SaveEmailAsPdfModal from './SaveEmailAsPdfModal'; interface EmailDetailProps { email: CachedEmail; @@ -37,6 +38,7 @@ export default function EmailDetail({ const [showRestoreConfirm, setShowRestoreConfirm] = useState(false); const [showPermanentDeleteConfirm, setShowPermanentDeleteConfirm] = useState(false); const [saveAttachmentFilename, setSaveAttachmentFilename] = useState(null); + const [showSaveAsPdfModal, setShowSaveAsPdfModal] = useState(false); const queryClient = useQueryClient(); const { hasPermission } = useAuth(); @@ -219,6 +221,15 @@ export default function EmailDetail({ Antworten + {/* E-Mail als PDF speichern */} + {/* Löschen-Button nur für User mit emails:delete Permission */} {hasPermission('emails:delete') && ( + )} {hasPermission('contracts:create') && !c.followUpContract && ( {c.previousContract.providerName && ( @@ -2369,6 +2382,15 @@ export default function ContractDetail() {

{c.notes}

)} + + {/* Vorgängervertrag Modal */} + {showPredecessorModal && c.previousContract && ( + setShowPredecessorModal(false)} + /> + )} ); } diff --git a/frontend/src/services/api.ts b/frontend/src/services/api.ts index 9e2c01e6..a1953cc2 100644 --- a/frontend/src/services/api.ts +++ b/frontend/src/services/api.ts @@ -506,6 +506,14 @@ export const cachedEmailApi = { ); return res.data; }, + // E-Mail als PDF speichern + saveEmailAsPdf: async (emailId: number, params: { entityType: string; entityId?: number; targetKey: string }) => { + const res = await api.post>( + `/emails/${emailId}/save-as-pdf`, + params + ); + return res.data; + }, }; // Contracts - Vertragsbaum für Kundenansicht