From 219e1930f7df19a45943f6818ee0f9c7a449ff48 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 21 Mar 2026 18:23:54 +0100 Subject: [PATCH] complete new audit system --- .../appSetting.controller.d.ts.map | 2 +- .../dist/controllers/appSetting.controller.js | 38 +- .../controllers/appSetting.controller.js.map | 2 +- .../cancellation-period.controller.d.ts.map | 2 +- .../cancellation-period.controller.js | 20 +- .../cancellation-period.controller.js.map | 2 +- .../contract-duration.controller.d.ts.map | 2 +- .../contract-duration.controller.js | 20 +- .../contract-duration.controller.js.map | 2 +- .../dist/controllers/contract.controller.d.ts | 2 +- .../controllers/contract.controller.d.ts.map | 2 +- .../dist/controllers/contract.controller.js | 118 ++++- .../controllers/contract.controller.js.map | 2 +- .../contractCategory.controller.d.ts.map | 2 +- .../contractCategory.controller.js | 20 +- .../contractCategory.controller.js.map | 2 +- .../contractTask.controller.d.ts.map | 2 +- .../controllers/contractTask.controller.js | 61 +++ .../contractTask.controller.js.map | 2 +- .../controllers/customer.controller.d.ts.map | 2 +- .../dist/controllers/customer.controller.js | 493 +++++++++++++++++- .../controllers/customer.controller.js.map | 2 +- .../emailProvider.controller.d.ts.map | 2 +- .../controllers/emailProvider.controller.js | 17 + .../emailProvider.controller.js.map | 2 +- .../controllers/platform.controller.d.ts.map | 2 +- .../dist/controllers/platform.controller.js | 20 +- .../controllers/platform.controller.js.map | 2 +- .../controllers/provider.controller.d.ts.map | 2 +- .../dist/controllers/provider.controller.js | 20 +- .../controllers/provider.controller.js.map | 2 +- .../stressfreiEmail.controller.d.ts.map | 2 +- .../controllers/stressfreiEmail.controller.js | 20 +- .../stressfreiEmail.controller.js.map | 2 +- .../controllers/tariff.controller.d.ts.map | 2 +- backend/dist/controllers/tariff.controller.js | 20 +- .../dist/controllers/tariff.controller.js.map | 2 +- .../dist/controllers/user.controller.d.ts.map | 2 +- backend/dist/controllers/user.controller.js | 86 ++- .../dist/controllers/user.controller.js.map | 2 +- backend/dist/middleware/auth.d.ts.map | 2 +- backend/dist/middleware/auth.js | 5 +- backend/dist/middleware/auth.js.map | 2 +- backend/dist/routes/developer.routes.d.ts.map | 2 +- backend/dist/routes/developer.routes.js | 20 +- backend/dist/routes/developer.routes.js.map | 2 +- backend/dist/routes/upload.routes.d.ts.map | 2 +- backend/dist/routes/upload.routes.js | 76 +-- backend/dist/routes/upload.routes.js.map | 2 +- .../dist/services/appSetting.service.d.ts.map | 2 +- backend/dist/services/appSetting.service.js | 12 +- .../dist/services/appSetting.service.js.map | 2 +- backend/dist/services/auth.service.d.ts.map | 2 +- backend/dist/services/auth.service.js | 19 +- backend/dist/services/auth.service.js.map | 2 +- .../cancellation-period.service.d.ts.map | 2 +- .../services/cancellation-period.service.js | 18 +- .../cancellation-period.service.js.map | 2 +- .../contract-duration.service.d.ts.map | 2 +- .../services/contract-duration.service.js | 18 +- .../services/contract-duration.service.js.map | 2 +- backend/dist/services/contract.service.d.ts | 100 ++-- .../dist/services/contract.service.d.ts.map | 2 +- backend/dist/services/contract.service.js | 69 +-- backend/dist/services/contract.service.js.map | 2 +- .../contractCategory.service.d.ts.map | 2 +- .../dist/services/contractCategory.service.js | 20 +- .../services/contractCategory.service.js.map | 2 +- .../services/contractCockpit.service.d.ts.map | 2 +- .../dist/services/contractCockpit.service.js | 16 +- .../services/contractCockpit.service.js.map | 2 +- .../services/contractTask.service.d.ts.map | 2 +- backend/dist/services/contractTask.service.js | 44 +- .../dist/services/contractTask.service.js.map | 2 +- backend/dist/services/customer.service.d.ts | 38 +- .../dist/services/customer.service.d.ts.map | 2 +- backend/dist/services/customer.service.js | 100 ++-- backend/dist/services/customer.service.js.map | 2 +- .../emailProvider/emailProviderService.d.ts | 14 +- .../emailProviderService.d.ts.map | 2 +- .../emailProvider/emailProviderService.js | 24 +- .../emailProvider/emailProviderService.js.map | 2 +- .../dist/services/platform.service.d.ts.map | 2 +- backend/dist/services/platform.service.js | 18 +- backend/dist/services/platform.service.js.map | 2 +- .../dist/services/provider.service.d.ts.map | 2 +- backend/dist/services/provider.service.js | 18 +- backend/dist/services/provider.service.js.map | 2 +- .../services/stressfreiEmail.service.d.ts | 12 +- .../services/stressfreiEmail.service.d.ts.map | 2 +- .../dist/services/stressfreiEmail.service.js | 38 +- .../services/stressfreiEmail.service.js.map | 2 +- backend/dist/services/tariff.service.d.ts.map | 2 +- backend/dist/services/tariff.service.js | 18 +- backend/dist/services/tariff.service.js.map | 2 +- backend/dist/services/user.service.d.ts | 16 +- backend/dist/services/user.service.d.ts.map | 2 +- backend/dist/services/user.service.js | 87 ++-- backend/dist/services/user.service.js.map | 2 +- .../src/controllers/appSetting.controller.ts | 38 +- .../src/controllers/auditLog.controller.ts | 39 +- backend/src/controllers/backup.controller.ts | 17 + .../src/controllers/cachedEmail.controller.ts | 5 +- .../cancellation-period.controller.ts | 20 +- .../contract-duration.controller.ts | 20 +- .../src/controllers/contract.controller.ts | 111 +++- .../contractCategory.controller.ts | 20 +- .../controllers/contractHistory.controller.ts | 19 + .../controllers/contractTask.controller.ts | 66 +++ .../src/controllers/customer.controller.ts | 481 ++++++++++++++++- .../controllers/emailProvider.controller.ts | 17 + backend/src/controllers/gdpr.controller.ts | 82 ++- backend/src/controllers/invoice.controller.ts | 19 + .../src/controllers/platform.controller.ts | 20 +- .../src/controllers/provider.controller.ts | 20 +- .../controllers/stressfreiEmail.controller.ts | 20 +- backend/src/controllers/tariff.controller.ts | 20 +- backend/src/controllers/user.controller.ts | 81 ++- backend/src/lib/prisma.ts | 5 + backend/src/middleware/audit.ts | 33 +- backend/src/middleware/auth.ts | 4 +- backend/src/routes/auditLog.routes.ts | 13 +- backend/src/routes/developer.routes.ts | 4 +- backend/src/routes/upload.routes.ts | 22 +- backend/src/services/appSetting.service.ts | 4 +- backend/src/services/audit.service.ts | 92 +++- backend/src/services/auth.service.ts | 4 +- backend/src/services/backup.service.ts | 4 +- backend/src/services/cachedEmail.service.ts | 5 +- .../services/cancellation-period.service.ts | 4 +- backend/src/services/consent.service.ts | 4 +- .../src/services/contract-duration.service.ts | 4 +- backend/src/services/contract.service.ts | 5 +- .../src/services/contractCategory.service.ts | 4 +- .../src/services/contractCockpit.service.ts | 6 +- .../src/services/contractHistory.service.ts | 4 +- backend/src/services/contractTask.service.ts | 5 +- backend/src/services/customer.service.ts | 5 +- .../emailProvider/emailProviderService.ts | 4 +- backend/src/services/invoice.service.ts | 5 +- backend/src/services/platform.service.ts | 4 +- backend/src/services/provider.service.ts | 4 +- .../src/services/stressfreiEmail.service.ts | 4 +- backend/src/services/tariff.service.ts | 4 +- backend/src/services/user.service.ts | 4 +- backend/todo.md | 14 +- .../components/contracts/InvoicesSection.tsx | 5 +- .../email/AssignToContractModal.tsx | 7 +- .../src/pages/contracts/ContractCockpit.tsx | 5 +- .../src/pages/contracts/ContractDetail.tsx | 21 +- frontend/src/pages/contracts/ContractForm.tsx | 3 +- frontend/src/pages/contracts/ContractList.tsx | 7 +- .../src/pages/customers/CustomerDetail.tsx | 15 +- frontend/src/pages/customers/CustomerForm.tsx | 18 +- frontend/src/pages/portal/PortalPrivacy.tsx | 4 +- frontend/src/pages/public/ConsentPage.tsx | 3 +- frontend/src/pages/settings/AuditLogs.tsx | 190 ++++--- frontend/src/services/api.ts | 6 +- frontend/src/utils/dateFormat.ts | 25 + 159 files changed, 2841 insertions(+), 736 deletions(-) create mode 100644 frontend/src/utils/dateFormat.ts diff --git a/backend/dist/controllers/appSetting.controller.d.ts.map b/backend/dist/controllers/appSetting.controller.d.ts.map index 67cdb9ff..48d1fc3d 100644 --- a/backend/dist/controllers/appSetting.controller.d.ts.map +++ b/backend/dist/controllers/appSetting.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"appSetting.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/appSetting.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBlF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBnF"} \ No newline at end of file +{"version":3,"file":"appSetting.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/appSetting.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7D,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoClF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCnF"} \ No newline at end of file diff --git a/backend/dist/controllers/appSetting.controller.js b/backend/dist/controllers/appSetting.controller.js index 4f3516c7..891d56b0 100644 --- a/backend/dist/controllers/appSetting.controller.js +++ b/backend/dist/controllers/appSetting.controller.js @@ -32,12 +32,17 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllSettings = getAllSettings; exports.getPublicSettings = getPublicSettings; exports.updateSetting = updateSetting; exports.updateSettings = updateSettings; +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const appSettingService = __importStar(require("../services/appSetting.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getAllSettings(req, res) { try { const settings = await appSettingService.getAllSettings(); @@ -73,7 +78,20 @@ async function updateSetting(req, res) { }); return; } - await appSettingService.setSetting(key, String(value)); + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.appSetting.findUnique({ where: { key } }); + const oldValue = before?.value ?? '-'; + const newValue = String(value); + await appSettingService.setSetting(key, newValue); + const label = oldValue !== newValue + ? `Einstellung "${key}" geändert: ${oldValue} → ${newValue}` + : `Einstellung "${key}" geändert`; + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'AppSetting', + resourceId: key, + label, + details: oldValue !== newValue ? { [key]: { von: oldValue, nach: newValue } } : undefined, + }); res.json({ success: true, message: 'Einstellung gespeichert' }); } catch (error) { @@ -93,9 +111,25 @@ async function updateSettings(req, res) { }); return; } + // Vorherige Werte laden für Audit + const changes = {}; for (const [key, value] of Object.entries(settings)) { - await appSettingService.setSetting(key, String(value)); + const before = await prisma_js_1.default.appSetting.findUnique({ where: { key } }); + const oldValue = before?.value ?? '-'; + const newValue = String(value); + if (oldValue !== newValue) { + changes[key] = { von: oldValue, nach: newValue }; + } + await appSettingService.setSetting(key, newValue); } + const changeList = Object.entries(changes).map(([k, c]) => `${k}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'AppSetting', + label: changeList + ? `Einstellungen aktualisiert: ${changeList}` + : `Einstellungen aktualisiert (${Object.keys(settings).join(', ')})`, + details: Object.keys(changes).length > 0 ? changes : undefined, + }); res.json({ success: true, message: 'Einstellungen gespeichert' }); } catch (error) { diff --git a/backend/dist/controllers/appSetting.controller.js.map b/backend/dist/controllers/appSetting.controller.js.map index e2f185cf..b508dea5 100644 --- a/backend/dist/controllers/appSetting.controller.js.map +++ b/backend/dist/controllers/appSetting.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"appSetting.controller.js","sourceRoot":"","sources":["../../src/controllers/appSetting.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"appSetting.controller.js","sourceRoot":"","sources":["../../src/controllers/appSetting.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/cancellation-period.controller.d.ts.map b/backend/dist/controllers/cancellation-period.controller.d.ts.map index 34bec1d1..a669a5aa 100644 --- a/backend/dist/controllers/cancellation-period.controller.d.ts.map +++ b/backend/dist/controllers/cancellation-period.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"cancellation-period.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/cancellation-period.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzF"} \ No newline at end of file +{"version":3,"file":"cancellation-period.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/cancellation-period.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAezF;AAED,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBzF"} \ No newline at end of file diff --git a/backend/dist/controllers/cancellation-period.controller.js b/backend/dist/controllers/cancellation-period.controller.js index 38f01898..51e58529 100644 --- a/backend/dist/controllers/cancellation-period.controller.js +++ b/backend/dist/controllers/cancellation-period.controller.js @@ -39,6 +39,7 @@ exports.createCancellationPeriod = createCancellationPeriod; exports.updateCancellationPeriod = updateCancellationPeriod; exports.deleteCancellationPeriod = deleteCancellationPeriod; const cancellationPeriodService = __importStar(require("../services/cancellation-period.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getCancellationPeriods(req, res) { try { const includeInactive = req.query.includeInactive === 'true'; @@ -74,6 +75,11 @@ async function getCancellationPeriod(req, res) { async function createCancellationPeriod(req, res) { try { const period = await cancellationPeriodService.createCancellationPeriod(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'CancellationPeriod', + resourceId: period.id.toString(), + label: `Kündigungsfrist ${period.description} angelegt`, + }); res.status(201).json({ success: true, data: period }); } catch (error) { @@ -86,6 +92,11 @@ async function createCancellationPeriod(req, res) { async function updateCancellationPeriod(req, res) { try { const period = await cancellationPeriodService.updateCancellationPeriod(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'CancellationPeriod', + resourceId: period.id.toString(), + label: `Kündigungsfrist ${period.description} aktualisiert`, + }); res.json({ success: true, data: period }); } catch (error) { @@ -97,7 +108,14 @@ async function updateCancellationPeriod(req, res) { } async function deleteCancellationPeriod(req, res) { try { - await cancellationPeriodService.deleteCancellationPeriod(parseInt(req.params.id)); + const periodId = parseInt(req.params.id); + const period = await cancellationPeriodService.getCancellationPeriodById(periodId); + await cancellationPeriodService.deleteCancellationPeriod(periodId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'CancellationPeriod', + resourceId: periodId.toString(), + label: `Kündigungsfrist ${period?.description || periodId} gelöscht`, + }); res.json({ success: true, message: 'Kündigungsfrist gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/cancellation-period.controller.js.map b/backend/dist/controllers/cancellation-period.controller.js.map index 4b48b8db..cf78dc2f 100644 --- a/backend/dist/controllers/cancellation-period.controller.js.map +++ b/backend/dist/controllers/cancellation-period.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"cancellation-period.controller.js","sourceRoot":"","sources":["../../src/controllers/cancellation-period.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wDAWC;AAED,sDAiBC;AAED,4DAUC;AAED,4DAUC;AAED,4DAUC;AArED,sGAAwF;AAGjF,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACtE,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,MAAM,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;QAC3F,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAiB,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yCAAyC;SAClC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,GAAY,EAAE,GAAa;IACrE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gCAAgC;aACzB,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAiB,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,uCAAuC;SAChC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,GAAY,EAAE,GAAa;IACxE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAiB,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2CAA2C;SAC7E,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,GAAY,EAAE,GAAa;IACxE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3G,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAiB,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+CAA+C;SACjF,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,GAAY,EAAE,GAAa;IACxE,IAAI,CAAC;QACH,MAAM,yBAAyB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,0BAA0B,EAAiB,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC;SAC3E,CAAC,CAAC;IACpB,CAAC;AACH,CAAC"} \ No newline at end of file +{"version":3,"file":"cancellation-period.controller.js","sourceRoot":"","sources":["../../src/controllers/cancellation-period.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/contract-duration.controller.d.ts.map b/backend/dist/controllers/contract-duration.controller.d.ts.map index fccd9070..26a147ce 100644 --- a/backend/dist/controllers/contract-duration.controller.d.ts.map +++ b/backend/dist/controllers/contract-duration.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contract-duration.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contract-duration.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF"} \ No newline at end of file +{"version":3,"file":"contract-duration.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contract-duration.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF"} \ No newline at end of file diff --git a/backend/dist/controllers/contract-duration.controller.js b/backend/dist/controllers/contract-duration.controller.js index 8689ea78..62a2b414 100644 --- a/backend/dist/controllers/contract-duration.controller.js +++ b/backend/dist/controllers/contract-duration.controller.js @@ -39,6 +39,7 @@ exports.createContractDuration = createContractDuration; exports.updateContractDuration = updateContractDuration; exports.deleteContractDuration = deleteContractDuration; const contractDurationService = __importStar(require("../services/contract-duration.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getContractDurations(req, res) { try { const includeInactive = req.query.includeInactive === 'true'; @@ -74,6 +75,11 @@ async function getContractDuration(req, res) { async function createContractDuration(req, res) { try { const duration = await contractDurationService.createContractDuration(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractDuration', + resourceId: duration.id.toString(), + label: `Laufzeit ${duration.description} angelegt`, + }); res.status(201).json({ success: true, data: duration }); } catch (error) { @@ -86,6 +92,11 @@ async function createContractDuration(req, res) { async function updateContractDuration(req, res) { try { const duration = await contractDurationService.updateContractDuration(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractDuration', + resourceId: duration.id.toString(), + label: `Laufzeit ${duration.description} aktualisiert`, + }); res.json({ success: true, data: duration }); } catch (error) { @@ -97,7 +108,14 @@ async function updateContractDuration(req, res) { } async function deleteContractDuration(req, res) { try { - await contractDurationService.deleteContractDuration(parseInt(req.params.id)); + const durationId = parseInt(req.params.id); + const duration = await contractDurationService.getContractDurationById(durationId); + await contractDurationService.deleteContractDuration(durationId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'ContractDuration', + resourceId: durationId.toString(), + label: `Laufzeit ${duration?.description || durationId} gelöscht`, + }); res.json({ success: true, message: 'Laufzeit gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/contract-duration.controller.js.map b/backend/dist/controllers/contract-duration.controller.js.map index 36bc480b..62a004fe 100644 --- a/backend/dist/controllers/contract-duration.controller.js.map +++ b/backend/dist/controllers/contract-duration.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"contract-duration.controller.js","sourceRoot":"","sources":["../../src/controllers/contract-duration.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contract-duration.controller.js","sourceRoot":"","sources":["../../src/controllers/contract-duration.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/contract.controller.d.ts b/backend/dist/controllers/contract.controller.d.ts index 60586e59..949157a4 100644 --- a/backend/dist/controllers/contract.controller.d.ts +++ b/backend/dist/controllers/contract.controller.d.ts @@ -3,7 +3,7 @@ import { AuthRequest } from '../types/index.js'; export declare function getContracts(req: AuthRequest, res: Response): Promise; export declare function getContract(req: AuthRequest, res: Response): Promise; export declare function createContract(req: Request, res: Response): Promise; -export declare function updateContract(req: Request, res: Response): Promise; +export declare function updateContract(req: AuthRequest, res: Response): Promise; export declare function deleteContract(req: Request, res: Response): Promise; export declare function createFollowUp(req: AuthRequest, res: Response): Promise; export declare function getContractPassword(req: Request, res: Response): Promise; diff --git a/backend/dist/controllers/contract.controller.d.ts.map b/backend/dist/controllers/contract.controller.d.ts.map index 097ccedf..0f7f7332 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;AAM5C,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI7D,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDjF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqChF;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,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCnF;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;AAID,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDtF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxF;AAID,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC/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;AAM5C,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG7D,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDjF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqChF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEnF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8CnF;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;AAID,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DtF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxF;AAID,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C/E"} \ No newline at end of file diff --git a/backend/dist/controllers/contract.controller.js b/backend/dist/controllers/contract.controller.js index 735e6fd9..11be5ecf 100644 --- a/backend/dist/controllers/contract.controller.js +++ b/backend/dist/controllers/contract.controller.js @@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getContracts = getContracts; exports.getContract = getContract; @@ -47,12 +50,12 @@ exports.getCockpit = getCockpit; exports.addSuccessorMeter = addSuccessorMeter; exports.removeContractMeter = removeContractMeter; exports.snoozeContract = snoozeContract; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const contractService = __importStar(require("../services/contract.service.js")); const contractCockpitService = __importStar(require("../services/contractCockpit.service.js")); const contractHistoryService = __importStar(require("../services/contractHistory.service.js")); const authorizationService = __importStar(require("../services/authorization.service.js")); -const prisma = new client_1.PrismaClient(); +const audit_service_js_1 = require("../services/audit.service.js"); async function getContracts(req, res) { try { const { customerId, type, status, search, page, limit, tree } = req.query; @@ -138,6 +141,12 @@ async function getContract(req, res) { async function createContract(req, res) { try { const contract = await contractService.createContract(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Contract', + resourceId: contract.id.toString(), + label: `Vertrag ${contract.contractNumber} angelegt`, + customerId: contract.customerId, + }); res.status(201).json({ success: true, data: contract }); } catch (error) { @@ -149,7 +158,63 @@ async function createContract(req, res) { } async function updateContract(req, res) { try { - const contract = await contractService.updateContract(parseInt(req.params.id), req.body); + const contractId = parseInt(req.params.id); + // Vorherigen Stand laden für Audit-Vergleich + const before = await prisma_js_1.default.contract.findUnique({ + where: { id: contractId }, + include: { energyDetails: true, internetDetails: true, mobileDetails: true, tvDetails: true, carInsuranceDetails: true }, + }); + const contract = await contractService.updateContract(contractId, req.body); + // Geänderte Felder ermitteln + const changes = {}; + const fieldLabels = { + status: 'Status', startDate: 'Vertragsbeginn', endDate: 'Vertragsende', + portalUsername: 'Portal-Benutzername', customerNumberAtProvider: 'Kundennummer beim Anbieter', + providerId: 'Anbieter', tariffId: 'Tarif', cancellationPeriodId: 'Kündigungsfrist', + contractDurationId: 'Vertragslaufzeit', platformId: 'Vertriebsplattform', + cancellationDate: 'Kündigungsdatum', cancellationSentDate: 'Kündigung gesendet am', + identityDocumentId: 'Ausweis', bankCardId: 'Bankverbindung', addressId: 'Adresse', + commission: 'Provision', notes: 'Notizen', + }; + const energyLabels = { + meterId: 'Zähler', maloId: 'MaLo-ID', annualConsumption: 'Jahresverbrauch', + basePrice: 'Grundpreis', unitPrice: 'Arbeitspreis', unitPriceNt: 'NT-Arbeitspreis', bonus: 'Bonus', + }; + // Hauptfelder vergleichen + const body = req.body; + if (before) { + for (const [key, newVal] of Object.entries(body)) { + if (['energyDetails', 'internetDetails', 'mobileDetails', 'tvDetails', 'carInsuranceDetails', 'password'].includes(key)) + continue; + const oldVal = before[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + changes[label] = { von: oldVal ?? '-', nach: newVal ?? '-' }; + } + } + // Energie-Details vergleichen + if (body.energyDetails && before.energyDetails) { + for (const [key, newVal] of Object.entries(body.energyDetails)) { + const oldVal = before.energyDetails[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = energyLabels[key] || key; + changes[label] = { von: oldVal ?? '-', nach: newVal ?? '-' }; + } + } + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Contract', + resourceId: contractId.toString(), + label: changeList + ? `Vertrag ${before?.contractNumber || contractId} aktualisiert: ${changeList}` + : `Vertrag ${before?.contractNumber || contractId} aktualisiert`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId: before?.customerId, + }); res.json({ success: true, data: contract }); } catch (error) { @@ -161,7 +226,15 @@ async function updateContract(req, res) { } async function deleteContract(req, res) { try { - await contractService.deleteContract(parseInt(req.params.id)); + const contractId = parseInt(req.params.id); + const contract = await prisma_js_1.default.contract.findUnique({ where: { id: contractId }, select: { contractNumber: true, customerId: true } }); + await contractService.deleteContract(contractId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Contract', + resourceId: contractId.toString(), + label: `Vertrag ${contract?.contractNumber} gelöscht`, + customerId: contract?.customerId, + }); res.json({ success: true, message: 'Vertrag gelöscht' }); } catch (error) { @@ -175,7 +248,7 @@ async function createFollowUp(req, res) { try { const previousContractId = parseInt(req.params.id); // Vorgängervertrag laden für Vertragsnummer - const previousContract = await prisma.contract.findUnique({ + const previousContract = await prisma_js_1.default.contract.findUnique({ where: { id: previousContractId }, select: { contractNumber: true }, }); @@ -189,6 +262,12 @@ async function createFollowUp(req, res) { await contractHistoryService.createFollowUpHistoryEntry(previousContractId, contract.contractNumber, createdBy); // Historie-Eintrag für den neuen Folgevertrag erstellen await contractHistoryService.createNewContractFromPredecessorEntry(contract.id, previousContract.contractNumber, createdBy); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Contract', + resourceId: contract.id.toString(), + label: `Folgevertrag erstellt für ${previousContract.contractNumber}`, + customerId: contract.customerId, + }); res.status(201).json({ success: true, data: contract }); } catch (error) { @@ -272,7 +351,7 @@ async function addSuccessorMeter(req, res) { try { const contractId = parseInt(req.params.id); const { meterId, installedAt, finalReadingPrevious } = req.body; - const contract = await prisma.contract.findUnique({ + const contract = await prisma_js_1.default.contract.findUnique({ where: { id: contractId }, include: { energyDetails: { include: { contractMeters: { orderBy: { position: 'asc' } } } } }, }); @@ -288,7 +367,7 @@ async function addSuccessorMeter(req, res) { // Vorherigen Zähler als gewechselt markieren if (existingMeters.length > 0 && finalReadingPrevious !== undefined) { const prevMeter = existingMeters[existingMeters.length - 1]; - await prisma.contractMeter.update({ + await prisma_js_1.default.contractMeter.update({ where: { id: prevMeter.id }, data: { removedAt: installedAt ? new Date(installedAt) : new Date(), @@ -296,7 +375,7 @@ async function addSuccessorMeter(req, res) { }, }); } - const contractMeter = await prisma.contractMeter.create({ + const contractMeter = await prisma_js_1.default.contractMeter.create({ data: { energyContractDetailsId: ecdId, meterId: parseInt(meterId), @@ -306,10 +385,16 @@ async function addSuccessorMeter(req, res) { include: { meter: { include: { readings: true } } }, }); // Aktuellen Zähler am Vertrag aktualisieren - await prisma.energyContractDetails.update({ + await prisma_js_1.default.energyContractDetails.update({ where: { id: ecdId }, data: { meterId: parseInt(meterId) }, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractMeter', + resourceId: contractMeter.id.toString(), + label: `Folgezähler hinzugefügt zu Vertrag #${contractId}`, + customerId: contract.customerId, + }); res.json({ success: true, data: contractMeter }); } catch (error) { @@ -322,7 +407,13 @@ async function addSuccessorMeter(req, res) { async function removeContractMeter(req, res) { try { const contractMeterId = parseInt(req.params.contractMeterId); - await prisma.contractMeter.delete({ where: { id: contractMeterId } }); + const contractId = parseInt(req.params.id); + await prisma_js_1.default.contractMeter.delete({ where: { id: contractMeterId } }); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'ContractMeter', + resourceId: contractMeterId.toString(), + label: `Folgezähler entfernt von Vertrag #${contractId}`, + }); res.json({ success: true, data: null }); } catch (error) { @@ -348,7 +439,7 @@ async function snoozeContract(req, res) { reviewDate.setMonth(reviewDate.getMonth() + months); } // Wenn beides leer → nextReviewDate wird auf null gesetzt (Snooze aufheben) - const updated = await prisma.contract.update({ + const updated = await prisma_js_1.default.contract.update({ where: { id }, data: { nextReviewDate: reviewDate }, select: { @@ -357,6 +448,11 @@ async function snoozeContract(req, res) { nextReviewDate: true, }, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Contract', + resourceId: id.toString(), + label: `Vertrag ${updated.contractNumber} zurückgestellt`, + }); res.json({ success: true, data: updated, diff --git a/backend/dist/controllers/contract.controller.js.map b/backend/dist/controllers/contract.controller.js.map index e0017e42..c699e96f 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,oCAgDC;AAED,kCAqCC;AAED,wCAUC;AAED,wCAUC;AAED,wCAUC;AAED,wCAuCC;AAED,kDAiBC;AAED,sDAUC;AAED,wDAUC;AAED,8CAUC;AAID,gCAWC;AAID,8CAwDC;AAED,kDAWC;AAID,wCAyCC;AAzWD,2CAA8C;AAC9C,iFAAmE;AACnE,+FAAiF;AACjF,+FAAiF;AACjF,2FAA6E;AAG7E,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,YAAY,CAAC,GAAgB,EAAE,GAAa;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAE1E,iCAAiC;QACjC,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,0BAA0B,CAC/D,QAAQ,CAAC,UAAoB,CAAC,CAC/B,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,IAAI,WAAiC,CAAC;QACtC,IAAI,GAAG,CAAC,IAAI,EAAE,gBAAgB,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,2BAA2B;YAC3B,WAAW,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpC,+CAA+C;YAC/C,MAAM,cAAc,GAAa,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC;YACvE,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5F,IAAI,OAAO,EAAE,CAAC;oBACZ,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC;YACnD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAoB,CAAC,CAAC,CAAC,CAAC,SAAS;YACnE,WAAW,EAAE,6CAA6C;YAC1D,IAAI,EAAE,IAAW;YACjB,MAAM,EAAE,MAAa;YACrB,MAAM,EAAE,MAAgB;YACxB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,SAAS;YACjD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,UAAU,EAAE,MAAM,CAAC,UAAU;SACf,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC;SACzB,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,GAAgB,EAAE,GAAa;IAC/D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,wBAAwB;aACjB,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,sFAAsF;QACtF,IAAI,GAAG,CAAC,IAAI,EAAE,gBAAgB,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,cAAc,GAAa,GAAG,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC;YACvE,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5F,IAAI,OAAO,EAAE,CAAC;oBACZ,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,iCAAiC;iBAC1B,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;QACH,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gCAAgC;SACzB,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa;IAC9D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;SACtE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa;IAC9D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACzF,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wCAAwC;SAC1E,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa;IAC9D,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9D,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAiB,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC;SACpE,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAgB,EAAE,GAAa;IAClE,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEnD,4CAA4C;QAC5C,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YACxD,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE;YACjC,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;SACjC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAiB,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,WAAW,CAAC;QAEjD,sDAAsD;QACtD,MAAM,sBAAsB,CAAC,0BAA0B,CACrD,kBAAkB,EAClB,QAAQ,CAAC,cAAc,EACvB,SAAS,CACV,CAAC;QAEF,wDAAwD;QACxD,MAAM,sBAAsB,CAAC,qCAAqC,CAChE,QAAQ,CAAC,EAAE,EACX,gBAAgB,CAAC,cAAc,EAC/B,SAAS,CACV,CAAC;QAEF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC;SAC3E,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,GAAY,EAAE,GAAa;IACnE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B;aACnB,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAiB,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yCAAyC;SAClC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,GAAY,EAAE,GAAa;IACrE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAChG,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAiB,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,gDAAgD;SACzC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACtE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAiB,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,kDAAkD;SAC3C,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,GAAY,EAAE,GAAa;IACjE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAChG,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAiB,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,6CAA6C;SACtC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,6DAA6D;AAEtD,KAAK,UAAU,UAAU,CAAC,GAAgB,EAAE,GAAa;IAC9D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAiB,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,yCAAyC;SAClC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,wDAAwD;AAEjD,KAAK,UAAU,iBAAiB,CAAC,GAAgB,EAAE,GAAa;IACrE,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAChD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE;YACzB,OAAO,EAAE,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE;SAC9F,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAiB,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC;QAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC;YACtD,CAAC,CAAC,CAAC,CAAC;QAEN,6CAA6C;QAC7C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;gBAChC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE;gBAC3B,IAAI,EAAE;oBACJ,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBAC3D,YAAY,EAAE,UAAU,CAAC,oBAAoB,CAAC;iBAC/C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;YACtD,IAAI,EAAE;gBACJ,uBAAuB,EAAE,KAAK;gBAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC1B,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;aAC9D;YACD,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;SACpD,CAAC,CAAC;QAEH,4CAA4C;QAC5C,MAAM,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;YACpB,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE;SACrC,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAiB,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC;SAC3E,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,GAAgB,EAAE,GAAa;IACvE,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC7D,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAiB,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;SACzD,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,2EAA2E;AAEpE,KAAK,UAAU,cAAc,CAAC,GAAY,EAAE,GAAa;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAE5C,IAAI,UAAU,GAAgB,IAAI,CAAC;QAEnC,IAAI,cAAc,EAAE,CAAC;YACnB,6BAA6B;YAC7B,UAAU,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,EAAE,CAAC;YAClB,oCAAoC;YACpC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;QACtD,CAAC;QACD,4EAA4E;QAE5E,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE;YACpC,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;gBACR,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB;SACF,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;gBACjB,CAAC,CAAC,8BAA8B,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBACxE,CAAC,CAAC,2BAA2B;SACjB,CAAC,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,wCAAwC;SACjC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC"} \ 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/controllers/contractCategory.controller.d.ts.map b/backend/dist/controllers/contractCategory.controller.d.ts.map index 4435b2e3..4bf35d53 100644 --- a/backend/dist/controllers/contractCategory.controller.d.ts.map +++ b/backend/dist/controllers/contractCategory.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contractCategory.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contractCategory.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWtF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvF"} \ No newline at end of file +{"version":3,"file":"contractCategory.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contractCategory.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWtF;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBpF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAevF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF"} \ No newline at end of file diff --git a/backend/dist/controllers/contractCategory.controller.js b/backend/dist/controllers/contractCategory.controller.js index 31f34cbb..bf8aea21 100644 --- a/backend/dist/controllers/contractCategory.controller.js +++ b/backend/dist/controllers/contractCategory.controller.js @@ -39,6 +39,7 @@ exports.createContractCategory = createContractCategory; exports.updateContractCategory = updateContractCategory; exports.deleteContractCategory = deleteContractCategory; const contractCategoryService = __importStar(require("../services/contractCategory.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getContractCategories(req, res) { try { const includeInactive = req.query.includeInactive === 'true'; @@ -74,6 +75,11 @@ async function getContractCategory(req, res) { async function createContractCategory(req, res) { try { const category = await contractCategoryService.createContractCategory(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractCategory', + resourceId: category.id.toString(), + label: `Vertragskategorie ${category.name} angelegt`, + }); res.status(201).json({ success: true, data: category }); } catch (error) { @@ -86,6 +92,11 @@ async function createContractCategory(req, res) { async function updateContractCategory(req, res) { try { const category = await contractCategoryService.updateContractCategory(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractCategory', + resourceId: category.id.toString(), + label: `Vertragskategorie ${category.name} aktualisiert`, + }); res.json({ success: true, data: category }); } catch (error) { @@ -97,7 +108,14 @@ async function updateContractCategory(req, res) { } async function deleteContractCategory(req, res) { try { - await contractCategoryService.deleteContractCategory(parseInt(req.params.id)); + const categoryId = parseInt(req.params.id); + const category = await contractCategoryService.getContractCategoryById(categoryId); + await contractCategoryService.deleteContractCategory(categoryId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'ContractCategory', + resourceId: categoryId.toString(), + label: `Vertragskategorie ${category?.name || categoryId} gelöscht`, + }); res.json({ success: true, message: 'Vertragskategorie gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/contractCategory.controller.js.map b/backend/dist/controllers/contractCategory.controller.js.map index 3db7fa6b..46239cc7 100644 --- a/backend/dist/controllers/contractCategory.controller.js.map +++ b/backend/dist/controllers/contractCategory.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"contractCategory.controller.js","sourceRoot":"","sources":["../../src/controllers/contractCategory.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contractCategory.controller.js","sourceRoot":"","sources":["../../src/controllers/contractCategory.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/contractTask.controller.d.ts.map b/backend/dist/controllers/contractTask.controller.d.ts.map index ccae1369..cd8fcdbd 100644 --- a/backend/dist/controllers/contractTask.controller.d.ts.map +++ b/backend/dist/controllers/contractTask.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contractTask.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contractTask.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAKnC,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI7D,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhF;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BjF;AAID,wBAAsB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD7E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC/E;AAGD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DxF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E;AAID,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BlF;AAGD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DxF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBlF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWpF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWlF"} \ No newline at end of file +{"version":3,"file":"contractTask.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/contractTask.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMnC,OAAO,EAAe,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI7D,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BhF;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BjF;AAID,wBAAsB,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkD7E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/E;AAGD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoExF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB/E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBjF;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAID,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkClF;AAGD,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqExF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BlF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBpF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlF"} \ No newline at end of file diff --git a/backend/dist/controllers/contractTask.controller.js b/backend/dist/controllers/contractTask.controller.js index edcfc351..a8a0b8e7 100644 --- a/backend/dist/controllers/contractTask.controller.js +++ b/backend/dist/controllers/contractTask.controller.js @@ -52,6 +52,7 @@ const contractTaskService = __importStar(require("../services/contractTask.servi const contractService = __importStar(require("../services/contract.service.js")); const customerService = __importStar(require("../services/customer.service.js")); const appSettingService = __importStar(require("../services/appSetting.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); // ==================== ALL TASKS (Dashboard & Task List) ==================== async function getAllTasks(req, res) { try { @@ -175,6 +176,11 @@ async function createTask(req, res) { visibleInPortal: finalVisibleInPortal, createdBy, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractTask', + resourceId: task.id.toString(), + label: `Aufgabe "${title}" erstellt`, + }); res.status(201).json({ success: true, data: task }); } catch (error) { @@ -233,6 +239,11 @@ async function createSupportTicket(req, res) { visibleInPortal: true, // Immer sichtbar im Portal createdBy, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractTask', + resourceId: task.id.toString(), + label: `Support-Anfrage "${title}" erstellt`, + }); res.status(201).json({ success: true, data: task }); } catch (error) { @@ -251,6 +262,11 @@ async function updateTask(req, res) { description, visibleInPortal, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe aktualisiert`, + }); res.json({ success: true, data: task }); } catch (error) { @@ -264,6 +280,11 @@ async function completeTask(req, res) { try { const taskId = parseInt(req.params.taskId); const task = await contractTaskService.completeTask(taskId); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe abgeschlossen`, + }); res.json({ success: true, data: task }); } catch (error) { @@ -277,6 +298,11 @@ async function reopenTask(req, res) { try { const taskId = parseInt(req.params.taskId); const task = await contractTaskService.reopenTask(taskId); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe wiedereröffnet`, + }); res.json({ success: true, data: task }); } catch (error) { @@ -290,6 +316,11 @@ async function deleteTask(req, res) { try { const taskId = parseInt(req.params.taskId); await contractTaskService.deleteTask(taskId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe gelöscht`, + }); res.json({ success: true, message: 'Aufgabe gelöscht' }); } catch (error) { @@ -317,6 +348,11 @@ async function createSubtask(req, res) { title, createdBy, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractSubtask', + resourceId: subtask.id.toString(), + label: `Unteraufgabe "${title}" erstellt`, + }); res.status(201).json({ success: true, data: subtask }); } catch (error) { @@ -377,6 +413,11 @@ async function createCustomerReply(req, res) { title, createdBy, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractSubtask', + resourceId: subtask.id.toString(), + label: `Kundenantwort erstellt`, + }); res.status(201).json({ success: true, data: subtask }); } catch (error) { @@ -398,6 +439,11 @@ async function updateSubtask(req, res) { return; } const subtask = await contractTaskService.updateSubtask(subtaskId, { title }); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractSubtask', + resourceId: subtaskId.toString(), + label: `Unteraufgabe aktualisiert`, + }); res.json({ success: true, data: subtask }); } catch (error) { @@ -411,6 +457,11 @@ async function completeSubtask(req, res) { try { const subtaskId = parseInt(req.params.subtaskId); const subtask = await contractTaskService.completeSubtask(subtaskId); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractSubtask', + resourceId: subtaskId.toString(), + label: `Unteraufgabe abgeschlossen`, + }); res.json({ success: true, data: subtask }); } catch (error) { @@ -424,6 +475,11 @@ async function reopenSubtask(req, res) { try { const subtaskId = parseInt(req.params.subtaskId); const subtask = await contractTaskService.reopenSubtask(subtaskId); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'ContractSubtask', + resourceId: subtaskId.toString(), + label: `Unteraufgabe wiedereröffnet`, + }); res.json({ success: true, data: subtask }); } catch (error) { @@ -437,6 +493,11 @@ async function deleteSubtask(req, res) { try { const subtaskId = parseInt(req.params.subtaskId); await contractTaskService.deleteSubtask(subtaskId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'ContractSubtask', + resourceId: subtaskId.toString(), + label: `Unteraufgabe gelöscht`, + }); res.json({ success: true, message: 'Unteraufgabe gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/contractTask.controller.js.map b/backend/dist/controllers/contractTask.controller.js.map index 4b92ea89..9854a932 100644 --- a/backend/dist/controllers/contractTask.controller.js.map +++ b/backend/dist/controllers/contractTask.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"contractTask.controller.js","sourceRoot":"","sources":["../../src/controllers/contractTask.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contractTask.controller.js","sourceRoot":"","sources":["../../src/controllers/contractTask.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/customer.controller.d.ts.map b/backend/dist/controllers/customer.controller.d.ts.map index 9a799c89..b5b148c7 100644 --- a/backend/dist/controllers/customer.controller.d.ts.map +++ b/backend/dist/controllers/customer.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"customer.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/customer.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"customer.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/customer.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/customer.controller.js b/backend/dist/controllers/customer.controller.js index fcc2e99e..e32a59ec 100644 --- a/backend/dist/controllers/customer.controller.js +++ b/backend/dist/controllers/customer.controller.js @@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCustomers = getCustomers; exports.getCustomer = getCustomer; @@ -69,10 +72,10 @@ exports.getRepresentatives = getRepresentatives; exports.addRepresentative = addRepresentative; exports.removeRepresentative = removeRepresentative; exports.searchForRepresentative = searchForRepresentative; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const customerService = __importStar(require("../services/customer.service.js")); const authService = __importStar(require("../services/auth.service.js")); -const prisma = new client_1.PrismaClient(); +const audit_service_js_1 = require("../services/audit.service.js"); // Customer CRUD async function getCustomers(req, res) { try { @@ -113,6 +116,12 @@ async function createCustomer(req, res) { data.birthDate = new Date(data.birthDate); } const customer = await customerService.createCustomer(data); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Customer', + resourceId: customer.id.toString(), + label: `Kunde ${customer.customerNumber} angelegt (${customer.firstName} ${customer.lastName})`, + customerId: customer.id, + }); res.status(201).json({ success: true, data: customer }); } catch (error) { @@ -124,12 +133,73 @@ async function createCustomer(req, res) { } async function updateCustomer(req, res) { try { + const customerId = parseInt(req.params.id); const data = { ...req.body }; - // Convert birthDate string to Date if present - if (data.birthDate) { + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); + // Convert birthDate string to Date if present, empty string to null + if (data.birthDate === '' || data.birthDate === null) { + data.birthDate = null; + } + else if (data.birthDate) { data.birthDate = new Date(data.birthDate); } - const customer = await customerService.updateCustomer(parseInt(req.params.id), data); + // Leere Strings in optionalen Feldern zu null konvertieren + const nullableFields = ['salutation', 'birthPlace', 'phone', 'mobile', 'email', 'companyName', 'taxNumber', 'businessRegistration', 'commercialRegister', 'commercialRegisterNumber', 'notes']; + for (const field of nullableFields) { + if (data[field] === '') + data[field] = null; + } + const customer = await customerService.updateCustomer(customerId, data); + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes = {}; + const fieldLabels = { + salutation: 'Anrede', firstName: 'Vorname', lastName: 'Nachname', email: 'E-Mail', + phone: 'Telefon', mobile: 'Mobil', birthDate: 'Geburtsdatum', birthPlace: 'Geburtsort', + companyName: 'Firma', type: 'Typ', taxNumber: 'Steuernummer', notes: 'Notizen', + }; + for (const [key, value] of Object.entries(data)) { + // Technische/interne Felder überspringen + if (['id', 'createdAt', 'updatedAt', 'customerNumber', 'portalPasswordHash', 'portalPasswordEncrypted'].includes(key)) + continue; + const oldVal = before[key]; + const newVal = value; + // Normalisieren: null, undefined, "" werden alle als "leer" behandelt + const normalize = (v) => { + if (v === null || v === undefined || v === '') + return null; + if (v instanceof Date) + return v.toISOString().split('T')[0]; + return v; + }; + const oldNorm = normalize(oldVal); + const newNorm = normalize(newVal); + if (JSON.stringify(oldNorm) !== JSON.stringify(newNorm)) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (v instanceof Date) + return v.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + if (Object.keys(changes).length > 0) { + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Customer', + resourceId: customerId.toString(), + label: `Kunde ${before.customerNumber} aktualisiert: ${changeList}`, + details: changes, + customerId, + }); + } + } res.json({ success: true, data: customer }); } catch (error) { @@ -142,7 +212,15 @@ async function updateCustomer(req, res) { } async function deleteCustomer(req, res) { try { - await customerService.deleteCustomer(parseInt(req.params.id)); + const customerId = parseInt(req.params.id); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId }, select: { customerNumber: true, firstName: true, lastName: true } }); + await customerService.deleteCustomer(customerId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Customer', + resourceId: customerId.toString(), + label: `Kunde ${customer?.customerNumber} gelöscht (${customer?.firstName} ${customer?.lastName})`, + customerId, + }); res.json({ success: true, message: 'Kunde gelöscht' }); } catch (error) { @@ -164,7 +242,14 @@ async function getAddresses(req, res) { } async function createAddress(req, res) { try { - const address = await customerService.createAddress(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const address = await customerService.createAddress(customerId, req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Address', + resourceId: address.id.toString(), + label: `Adresse hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: address }); } catch (error) { @@ -176,7 +261,53 @@ async function createAddress(req, res) { } async function updateAddress(req, res) { try { - const address = await customerService.updateAddress(parseInt(req.params.id), req.body); + const addressId = parseInt(req.params.id); + const data = req.body; + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.address.findUnique({ where: { id: addressId } }); + const address = await customerService.updateAddress(addressId, data); + const customerId = address.customerId; + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes = {}; + const fieldLabels = { + street: 'Straße', houseNumber: 'Hausnummer', postalCode: 'PLZ', + city: 'Stadt', country: 'Land', type: 'Typ', isDefault: 'Standard', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) + continue; + const oldVal = before[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Address', + resourceId: address.id.toString(), + label: changeList ? `Adresse aktualisiert für Kunde #${customerId}: ${changeList}` : `Adresse aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } + else { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Address', + resourceId: address.id.toString(), + label: `Adresse aktualisiert für Kunde #${customerId}`, + customerId, + }); + } res.json({ success: true, data: address }); } catch (error) { @@ -188,7 +319,16 @@ async function updateAddress(req, res) { } async function deleteAddress(req, res) { try { - await customerService.deleteAddress(parseInt(req.params.id)); + const addressId = parseInt(req.params.id); + const addr = await prisma_js_1.default.address.findUnique({ where: { id: addressId }, select: { customerId: true } }); + const customerId = addr?.customerId; + await customerService.deleteAddress(addressId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Address', + resourceId: addressId.toString(), + label: `Adresse gelöscht für Kunde #${customerId}`, + customerId: customerId ?? undefined, + }); res.json({ success: true, message: 'Adresse gelöscht' }); } catch (error) { @@ -211,7 +351,14 @@ async function getBankCards(req, res) { } async function createBankCard(req, res) { try { - const card = await customerService.createBankCard(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const card = await customerService.createBankCard(customerId, req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'BankCard', + resourceId: card.id.toString(), + label: `Bankverbindung hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: card }); } catch (error) { @@ -223,7 +370,53 @@ async function createBankCard(req, res) { } async function updateBankCard(req, res) { try { - const card = await customerService.updateBankCard(parseInt(req.params.id), req.body); + const cardId = parseInt(req.params.id); + const data = req.body; + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.bankCard.findUnique({ where: { id: cardId } }); + const card = await customerService.updateBankCard(cardId, data); + const customerId = card.customerId; + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes = {}; + const fieldLabels = { + iban: 'IBAN', bic: 'BIC', bankName: 'Bank', + accountHolder: 'Kontoinhaber', isActive: 'Aktiv', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) + continue; + const oldVal = before[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'BankCard', + resourceId: card.id.toString(), + label: changeList ? `Bankverbindung aktualisiert für Kunde #${customerId}: ${changeList}` : `Bankverbindung aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } + else { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'BankCard', + resourceId: card.id.toString(), + label: `Bankverbindung aktualisiert für Kunde #${customerId}`, + customerId, + }); + } res.json({ success: true, data: card }); } catch (error) { @@ -235,7 +428,16 @@ async function updateBankCard(req, res) { } async function deleteBankCard(req, res) { try { - await customerService.deleteBankCard(parseInt(req.params.id)); + const cardId = parseInt(req.params.id); + const card = await prisma_js_1.default.bankCard.findUnique({ where: { id: cardId }, select: { customerId: true } }); + const customerId = card?.customerId; + await customerService.deleteBankCard(cardId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'BankCard', + resourceId: cardId.toString(), + label: `Bankverbindung gelöscht für Kunde #${customerId}`, + customerId: customerId ?? undefined, + }); res.json({ success: true, message: 'Bankkarte gelöscht' }); } catch (error) { @@ -258,7 +460,14 @@ async function getDocuments(req, res) { } async function createDocument(req, res) { try { - const doc = await customerService.createDocument(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const doc = await customerService.createDocument(customerId, req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'IdentityDocument', + resourceId: doc.id.toString(), + label: `Ausweis hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: doc }); } catch (error) { @@ -270,7 +479,62 @@ async function createDocument(req, res) { } async function updateDocument(req, res) { try { - const doc = await customerService.updateDocument(parseInt(req.params.id), req.body); + const docId = parseInt(req.params.id); + const data = req.body; + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.identityDocument.findUnique({ where: { id: docId } }); + const doc = await customerService.updateDocument(docId, data); + const customerId = doc.customerId; + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes = {}; + const fieldLabels = { + type: 'Dokumenttyp', documentNumber: 'Dokumentnummer', + issuingAuthority: 'Ausstellungsbehörde', issueDate: 'Ausstellungsdatum', + expiryDate: 'Ablaufdatum', isActive: 'Aktiv', licenseClasses: 'Führerscheinklassen', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) + continue; + const oldVal = before[key]; + const norm = (v) => { + if (v === null || v === undefined || v === '') + return null; + if (v instanceof Date) + return v.toISOString().split('T')[0]; + return v; + }; + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (v instanceof Date) + return v.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'IdentityDocument', + resourceId: doc.id.toString(), + label: changeList ? `Ausweis aktualisiert für Kunde #${customerId}: ${changeList}` : `Ausweis aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } + else { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'IdentityDocument', + resourceId: doc.id.toString(), + label: `Ausweis aktualisiert für Kunde #${customerId}`, + customerId, + }); + } res.json({ success: true, data: doc }); } catch (error) { @@ -282,7 +546,16 @@ async function updateDocument(req, res) { } async function deleteDocument(req, res) { try { - await customerService.deleteDocument(parseInt(req.params.id)); + const docId = parseInt(req.params.id); + const doc = await prisma_js_1.default.identityDocument.findUnique({ where: { id: docId }, select: { customerId: true } }); + const customerId = doc?.customerId; + await customerService.deleteDocument(docId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'IdentityDocument', + resourceId: docId.toString(), + label: `Ausweis gelöscht für Kunde #${customerId}`, + customerId: customerId ?? undefined, + }); res.json({ success: true, message: 'Ausweis gelöscht' }); } catch (error) { @@ -305,7 +578,14 @@ async function getMeters(req, res) { } async function createMeter(req, res) { try { - const meter = await customerService.createMeter(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const meter = await customerService.createMeter(customerId, req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Meter', + resourceId: meter.id.toString(), + label: `Zähler angelegt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: meter }); } catch (error) { @@ -317,7 +597,52 @@ async function createMeter(req, res) { } async function updateMeter(req, res) { try { - const meter = await customerService.updateMeter(parseInt(req.params.id), req.body); + const meterId = parseInt(req.params.id); + const data = req.body; + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.meter.findUnique({ where: { id: meterId } }); + const meter = await customerService.updateMeter(meterId, data); + const customerId = meter.customerId; + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes = {}; + const fieldLabels = { + meterNumber: 'Zählernummer', type: 'Typ', tariffModel: 'Tarifmodell', + location: 'Standort', isActive: 'Aktiv', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) + continue; + const oldVal = before[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Meter', + resourceId: meter.id.toString(), + label: changeList ? `Zähler aktualisiert: ${changeList}` : `Zähler aktualisiert`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } + else { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Meter', + resourceId: meter.id.toString(), + label: `Zähler aktualisiert`, + }); + } res.json({ success: true, data: meter }); } catch (error) { @@ -329,7 +654,13 @@ async function updateMeter(req, res) { } async function deleteMeter(req, res) { try { - await customerService.deleteMeter(parseInt(req.params.id)); + const meterId = parseInt(req.params.id); + await customerService.deleteMeter(meterId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Meter', + resourceId: meterId.toString(), + label: `Zähler gelöscht`, + }); res.json({ success: true, message: 'Zähler gelöscht' }); } catch (error) { @@ -352,13 +683,28 @@ async function getMeterReadings(req, res) { async function addMeterReading(req, res) { try { const { readingDate, value, valueNt, unit, notes } = req.body; - const reading = await customerService.addMeterReading(parseInt(req.params.meterId), { + const meterId = parseInt(req.params.meterId); + const reading = await customerService.addMeterReading(meterId, { readingDate: new Date(readingDate), value: parseFloat(value), valueNt: valueNt !== undefined && valueNt !== null && valueNt !== '' ? parseFloat(valueNt) : undefined, unit, notes, }); + // Audit: Zählerstand mit Kontext loggen + const meter = await prisma_js_1.default.meter.findUnique({ + where: { id: meterId }, + select: { meterNumber: true, customer: { select: { id: true, firstName: true, lastName: true } } }, + }); + if (meter) { + const ntInfo = valueNt ? ` / NT: ${parseFloat(valueNt)}` : ''; + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'MeterReading', + label: `Zählerstand ${parseFloat(value)}${ntInfo} ${unit || 'kWh'} für Zähler ${meter.meterNumber} erfasst (${meter.customer.firstName} ${meter.customer.lastName})`, + details: { zähler: meter.meterNumber, stand: parseFloat(value), datum: readingDate }, + customerId: meter.customer.id, + }); + } res.status(201).json({ success: true, data: reading }); } catch (error) { @@ -383,6 +729,11 @@ async function updateMeterReading(req, res) { if (notes !== undefined) updateData.notes = notes; const reading = await customerService.updateMeterReading(parseInt(req.params.meterId), parseInt(req.params.readingId), updateData); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'MeterReading', + resourceId: reading.id.toString(), + label: `Zählerstand aktualisiert`, + }); res.json({ success: true, data: reading }); } catch (error) { @@ -394,7 +745,13 @@ async function updateMeterReading(req, res) { } async function deleteMeterReading(req, res) { try { - await customerService.deleteMeterReading(parseInt(req.params.meterId), parseInt(req.params.readingId)); + const readingId = parseInt(req.params.readingId); + await customerService.deleteMeterReading(parseInt(req.params.meterId), readingId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'MeterReading', + resourceId: readingId.toString(), + label: `Zählerstand gelöscht`, + }); res.json({ success: true, data: null }); } catch (error) { @@ -415,7 +772,7 @@ async function reportMeterReading(req, res) { const meterId = parseInt(req.params.meterId); const { value, readingDate, notes } = req.body; // Prüfe ob der Zähler zum Kunden gehört - const meter = await prisma.meter.findUnique({ + const meter = await prisma_js_1.default.meter.findUnique({ where: { id: meterId }, select: { customerId: true }, }); @@ -432,10 +789,18 @@ async function reportMeterReading(req, res) { notes, }); // Status auf REPORTED setzen - await prisma.meterReading.update({ + await prisma_js_1.default.meterReading.update({ where: { id: reading.id }, data: { reportedBy: user.email, status: 'REPORTED' }, }); + // Audit + const meterInfo = await prisma_js_1.default.meter.findUnique({ where: { id: meterId }, select: { meterNumber: true } }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'MeterReading', + label: `Zählerstand ${parsedValue} gemeldet (Zähler ${meterInfo?.meterNumber || meterId})`, + details: { zähler: meterInfo?.meterNumber, stand: parsedValue, datum: parsedDate.toISOString() }, + customerId: user.customerId, + }); res.status(201).json({ success: true, data: reading }); } catch (error) { @@ -452,7 +817,7 @@ async function getMyMeters(req, res) { res.status(403).json({ success: false, error: 'Nur für Kundenportal-Benutzer' }); return; } - const meters = await prisma.meter.findMany({ + const meters = await prisma_js_1.default.meter.findMany({ where: { customerId: user.customerId, isActive: true }, include: { readings: { @@ -472,7 +837,7 @@ async function markReadingTransferred(req, res) { try { const meterId = parseInt(req.params.meterId); const readingId = parseInt(req.params.readingId); - const reading = await prisma.meterReading.update({ + const reading = await prisma_js_1.default.meterReading.update({ where: { id: readingId }, data: { status: 'TRANSFERRED', @@ -480,6 +845,11 @@ async function markReadingTransferred(req, res) { transferredBy: req.user?.email, }, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'MeterReading', + resourceId: readingId.toString(), + label: `Zählerstand als übertragen markiert`, + }); res.json({ success: true, data: reading }); } catch (error) { @@ -518,11 +888,58 @@ async function getPortalSettings(req, res) { } async function updatePortalSettings(req, res) { try { + const customerId = parseInt(req.params.customerId); const { portalEnabled, portalEmail } = req.body; - const settings = await customerService.updatePortalSettings(parseInt(req.params.customerId), { + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.customer.findUnique({ + where: { id: customerId }, + select: { portalEnabled: true, portalEmail: true }, + }); + const settings = await customerService.updatePortalSettings(customerId, { portalEnabled, portalEmail, }); + // Audit: Geänderte Felder ermitteln und loggen + const data = { portalEnabled, portalEmail }; + if (before) { + const changes = {}; + const fieldLabels = { + portalEnabled: 'Portal aktiv', portalEmail: 'Portal-E-Mail', + }; + for (const [key, newVal] of Object.entries(data)) { + if (newVal === undefined) + continue; + const oldVal = before[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'PortalSettings', + resourceId: customerId.toString(), + label: changeList ? `Portal-Einstellungen aktualisiert für Kunde #${customerId}: ${changeList}` : `Portal-Einstellungen aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } + else { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'PortalSettings', + resourceId: customerId.toString(), + label: `Portal-Einstellungen aktualisiert für Kunde #${customerId}`, + customerId, + }); + } res.json({ success: true, data: settings }); } catch (error) { @@ -542,7 +959,14 @@ async function setPortalPassword(req, res) { }); return; } - await authService.setCustomerPortalPassword(parseInt(req.params.customerId), password); + const customerId = parseInt(req.params.customerId); + await authService.setCustomerPortalPassword(customerId, password); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'PortalSettings', + resourceId: customerId.toString(), + label: `Portal-Passwort gesetzt für Kunde #${customerId}`, + customerId, + }); res.json({ success: true, message: 'Passwort gesetzt' }); } catch (error) { @@ -580,8 +1004,15 @@ async function getRepresentatives(req, res) { } async function addRepresentative(req, res) { try { + const customerId = parseInt(req.params.customerId); const { representativeId, notes } = req.body; - const representative = await customerService.addRepresentative(parseInt(req.params.customerId), parseInt(representativeId), notes); + const representative = await customerService.addRepresentative(customerId, parseInt(representativeId), notes); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Representative', + resourceId: representative.id.toString(), + label: `Vertreter hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: representative }); } catch (error) { @@ -593,7 +1024,13 @@ async function addRepresentative(req, res) { } async function removeRepresentative(req, res) { try { - await customerService.removeRepresentative(parseInt(req.params.customerId), parseInt(req.params.representativeId)); + const customerId = parseInt(req.params.customerId); + await customerService.removeRepresentative(customerId, parseInt(req.params.representativeId)); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Representative', + label: `Vertreter entfernt für Kunde #${customerId}`, + customerId, + }); res.json({ success: true, message: 'Vertreter entfernt' }); } catch (error) { diff --git a/backend/dist/controllers/customer.controller.js.map b/backend/dist/controllers/customer.controller.js.map index 5b830e1a..5732b0f0 100644 --- a/backend/dist/controllers/customer.controller.js.map +++ b/backend/dist/controllers/customer.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"customer.controller.js","sourceRoot":"","sources":["../../src/controllers/customer.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"customer.controller.js","sourceRoot":"","sources":["../../src/controllers/customer.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/emailProvider.controller.d.ts.map b/backend/dist/controllers/emailProvider.controller.d.ts.map index e30f3259..86274282 100644 --- a/backend/dist/controllers/emailProvider.controller.d.ts.map +++ b/backend/dist/controllers/emailProvider.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"emailProvider.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/emailProvider.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAM5C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUrF;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAID,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB/E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB/E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlF"} \ No newline at end of file +{"version":3,"file":"emailProvider.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/emailProvider.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO5C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAerF;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBrF;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrF;AAID,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB/E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB/E;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlF"} \ No newline at end of file diff --git a/backend/dist/controllers/emailProvider.controller.js b/backend/dist/controllers/emailProvider.controller.js index 46b17f1f..d34b7358 100644 --- a/backend/dist/controllers/emailProvider.controller.js +++ b/backend/dist/controllers/emailProvider.controller.js @@ -45,6 +45,7 @@ exports.provisionEmail = provisionEmail; exports.deprovisionEmail = deprovisionEmail; exports.getProviderDomain = getProviderDomain; const emailProviderService = __importStar(require("../services/emailProvider/emailProviderService.js")); +const audit_service_js_1 = require("../services/audit.service.js"); // ==================== CONFIG CRUD ==================== async function getProviderConfigs(req, res) { try { @@ -81,6 +82,11 @@ async function getProviderConfig(req, res) { async function createProviderConfig(req, res) { try { const config = await emailProviderService.createProviderConfig(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'EmailProviderConfig', + resourceId: config.id.toString(), + label: `E-Mail-Provider ${config.name} angelegt`, + }); res.status(201).json({ success: true, data: config }); } catch (error) { @@ -94,6 +100,11 @@ async function updateProviderConfig(req, res) { try { const id = parseInt(req.params.id); const config = await emailProviderService.updateProviderConfig(id, req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'EmailProviderConfig', + resourceId: id.toString(), + label: `E-Mail-Provider ${config.name} aktualisiert`, + }); res.json({ success: true, data: config }); } catch (error) { @@ -106,7 +117,13 @@ async function updateProviderConfig(req, res) { async function deleteProviderConfig(req, res) { try { const id = parseInt(req.params.id); + const config = await emailProviderService.getProviderConfigById(id); await emailProviderService.deleteProviderConfig(id); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'EmailProviderConfig', + resourceId: id.toString(), + label: `E-Mail-Provider ${config?.name || id} gelöscht`, + }); res.json({ success: true, message: 'Email-Provider gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/emailProvider.controller.js.map b/backend/dist/controllers/emailProvider.controller.js.map index d395f775..e441e149 100644 --- a/backend/dist/controllers/emailProvider.controller.js.map +++ b/backend/dist/controllers/emailProvider.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"emailProvider.controller.js","sourceRoot":"","sources":["../../src/controllers/emailProvider.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"emailProvider.controller.js","sourceRoot":"","sources":["../../src/controllers/emailProvider.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/platform.controller.d.ts.map b/backend/dist/controllers/platform.controller.d.ts.map index 43faa397..da49a6b9 100644 --- a/backend/dist/controllers/platform.controller.d.ts.map +++ b/backend/dist/controllers/platform.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"platform.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/platform.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;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"} \ No newline at end of file +{"version":3,"file":"platform.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/platform.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/E"} \ No newline at end of file diff --git a/backend/dist/controllers/platform.controller.js b/backend/dist/controllers/platform.controller.js index 43da9aa0..5b7fccf2 100644 --- a/backend/dist/controllers/platform.controller.js +++ b/backend/dist/controllers/platform.controller.js @@ -39,6 +39,7 @@ exports.createPlatform = createPlatform; exports.updatePlatform = updatePlatform; exports.deletePlatform = deletePlatform; const platformService = __importStar(require("../services/platform.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getPlatforms(req, res) { try { const includeInactive = req.query.includeInactive === 'true'; @@ -74,6 +75,11 @@ async function getPlatform(req, res) { async function createPlatform(req, res) { try { const platform = await platformService.createPlatform(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Platform', + resourceId: platform.id.toString(), + label: `Vertriebsplattform ${platform.name} angelegt`, + }); res.status(201).json({ success: true, data: platform }); } catch (error) { @@ -86,6 +92,11 @@ async function createPlatform(req, res) { async function updatePlatform(req, res) { try { const platform = await platformService.updatePlatform(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Platform', + resourceId: platform.id.toString(), + label: `Vertriebsplattform ${platform.name} aktualisiert`, + }); res.json({ success: true, data: platform }); } catch (error) { @@ -97,7 +108,14 @@ async function updatePlatform(req, res) { } async function deletePlatform(req, res) { try { - await platformService.deletePlatform(parseInt(req.params.id)); + const platformId = parseInt(req.params.id); + const platform = await platformService.getPlatformById(platformId); + await platformService.deletePlatform(platformId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Platform', + resourceId: platformId.toString(), + label: `Vertriebsplattform ${platform?.name || platformId} gelöscht`, + }); res.json({ success: true, message: 'Vertriebsplattform gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/platform.controller.js.map b/backend/dist/controllers/platform.controller.js.map index 31e2d320..a45ca006 100644 --- a/backend/dist/controllers/platform.controller.js.map +++ b/backend/dist/controllers/platform.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"platform.controller.js","sourceRoot":"","sources":["../../src/controllers/platform.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"platform.controller.js","sourceRoot":"","sources":["../../src/controllers/platform.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/provider.controller.d.ts.map b/backend/dist/controllers/provider.controller.d.ts.map index a54f5e2d..aaac5ad2 100644 --- a/backend/dist/controllers/provider.controller.d.ts.map +++ b/backend/dist/controllers/provider.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"provider.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/provider.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;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"} \ No newline at end of file +{"version":3,"file":"provider.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/provider.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB5E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe/E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/E"} \ No newline at end of file diff --git a/backend/dist/controllers/provider.controller.js b/backend/dist/controllers/provider.controller.js index 18dc0fb7..8d8d6c6e 100644 --- a/backend/dist/controllers/provider.controller.js +++ b/backend/dist/controllers/provider.controller.js @@ -39,6 +39,7 @@ exports.createProvider = createProvider; exports.updateProvider = updateProvider; exports.deleteProvider = deleteProvider; const providerService = __importStar(require("../services/provider.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getProviders(req, res) { try { const includeInactive = req.query.includeInactive === 'true'; @@ -74,6 +75,11 @@ async function getProvider(req, res) { async function createProvider(req, res) { try { const provider = await providerService.createProvider(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Provider', + resourceId: provider.id.toString(), + label: `Anbieter ${provider.name} angelegt`, + }); res.status(201).json({ success: true, data: provider }); } catch (error) { @@ -86,6 +92,11 @@ async function createProvider(req, res) { async function updateProvider(req, res) { try { const provider = await providerService.updateProvider(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Provider', + resourceId: provider.id.toString(), + label: `Anbieter ${provider.name} aktualisiert`, + }); res.json({ success: true, data: provider }); } catch (error) { @@ -97,7 +108,14 @@ async function updateProvider(req, res) { } async function deleteProvider(req, res) { try { - await providerService.deleteProvider(parseInt(req.params.id)); + const providerId = parseInt(req.params.id); + const provider = await providerService.getProviderById(providerId); + await providerService.deleteProvider(providerId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Provider', + resourceId: providerId.toString(), + label: `Anbieter ${provider?.name || providerId} gelöscht`, + }); res.json({ success: true, message: 'Anbieter gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/provider.controller.js.map b/backend/dist/controllers/provider.controller.js.map index ff442b35..aebad4f7 100644 --- a/backend/dist/controllers/provider.controller.js.map +++ b/backend/dist/controllers/provider.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"provider.controller.js","sourceRoot":"","sources":["../../src/controllers/provider.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"provider.controller.js","sourceRoot":"","sources":["../../src/controllers/provider.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/stressfreiEmail.controller.d.ts.map b/backend/dist/controllers/stressfreiEmail.controller.d.ts.map index 6679bbbe..9bba9a5f 100644 --- a/backend/dist/controllers/stressfreiEmail.controller.d.ts.map +++ b/backend/dist/controllers/stressfreiEmail.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"stressfreiEmail.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/stressfreiEmail.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpF;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBzE;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU5E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9E"} \ No newline at end of file +{"version":3,"file":"stressfreiEmail.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/stressfreiEmail.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAYpF;AAED,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBzE;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5E;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5E;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB9E"} \ No newline at end of file diff --git a/backend/dist/controllers/stressfreiEmail.controller.js b/backend/dist/controllers/stressfreiEmail.controller.js index 1dc2e94f..12cf6d31 100644 --- a/backend/dist/controllers/stressfreiEmail.controller.js +++ b/backend/dist/controllers/stressfreiEmail.controller.js @@ -40,6 +40,7 @@ exports.updateEmail = updateEmail; exports.deleteEmail = deleteEmail; exports.resetPassword = resetPassword; const stressfreiEmailService = __importStar(require("../services/stressfreiEmail.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getEmailsByCustomer(req, res) { try { const customerId = parseInt(req.params.customerId); @@ -80,6 +81,12 @@ async function createEmail(req, res) { ...req.body, customerId, }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'StressfreiEmail', + resourceId: email.id.toString(), + label: `Stressfrei-Wechseln Adresse angelegt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: email }); } catch (error) { @@ -92,6 +99,11 @@ async function createEmail(req, res) { async function updateEmail(req, res) { try { const email = await stressfreiEmailService.updateEmail(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'StressfreiEmail', + resourceId: email.id.toString(), + label: `Stressfrei-Wechseln Adresse aktualisiert`, + }); res.json({ success: true, data: email }); } catch (error) { @@ -103,7 +115,13 @@ async function updateEmail(req, res) { } async function deleteEmail(req, res) { try { - await stressfreiEmailService.deleteEmail(parseInt(req.params.id)); + const emailId = parseInt(req.params.id); + await stressfreiEmailService.deleteEmail(emailId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'StressfreiEmail', + resourceId: emailId.toString(), + label: `Stressfrei-Wechseln Adresse gelöscht`, + }); res.json({ success: true, message: 'Stressfrei-Wechseln Adresse gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/stressfreiEmail.controller.js.map b/backend/dist/controllers/stressfreiEmail.controller.js.map index dfeb4afe..e0a274ad 100644 --- a/backend/dist/controllers/stressfreiEmail.controller.js.map +++ b/backend/dist/controllers/stressfreiEmail.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"stressfreiEmail.controller.js","sourceRoot":"","sources":["../../src/controllers/stressfreiEmail.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"stressfreiEmail.controller.js","sourceRoot":"","sources":["../../src/controllers/stressfreiEmail.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/tariff.controller.d.ts.map b/backend/dist/controllers/tariff.controller.d.ts.map index 707fba59..cd3568e0 100644 --- a/backend/dist/controllers/tariff.controller.d.ts.map +++ b/backend/dist/controllers/tariff.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tariff.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/tariff.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI5C,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3E;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB1E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAW7E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU7E"} \ No newline at end of file +{"version":3,"file":"tariff.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/tariff.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3E;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB1E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe7E;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB7E"} \ No newline at end of file diff --git a/backend/dist/controllers/tariff.controller.js b/backend/dist/controllers/tariff.controller.js index add9a3ca..8701bd10 100644 --- a/backend/dist/controllers/tariff.controller.js +++ b/backend/dist/controllers/tariff.controller.js @@ -39,6 +39,7 @@ exports.createTariff = createTariff; exports.updateTariff = updateTariff; exports.deleteTariff = deleteTariff; const tariffService = __importStar(require("../services/tariff.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); async function getTariffs(req, res) { try { const providerId = parseInt(req.params.providerId); @@ -76,6 +77,11 @@ async function createTariff(req, res) { try { const providerId = parseInt(req.params.providerId); const tariff = await tariffService.createTariff({ ...req.body, providerId }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Tariff', + resourceId: tariff.id.toString(), + label: `Tarif ${tariff.name} angelegt`, + }); res.status(201).json({ success: true, data: tariff }); } catch (error) { @@ -88,6 +94,11 @@ async function createTariff(req, res) { async function updateTariff(req, res) { try { const tariff = await tariffService.updateTariff(parseInt(req.params.id), req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Tariff', + resourceId: tariff.id.toString(), + label: `Tarif ${tariff.name} aktualisiert`, + }); res.json({ success: true, data: tariff }); } catch (error) { @@ -99,7 +110,14 @@ async function updateTariff(req, res) { } async function deleteTariff(req, res) { try { - await tariffService.deleteTariff(parseInt(req.params.id)); + const tariffId = parseInt(req.params.id); + const tariff = await tariffService.getTariffById(tariffId); + await tariffService.deleteTariff(tariffId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Tariff', + resourceId: tariffId.toString(), + label: `Tarif ${tariff?.name || tariffId} gelöscht`, + }); res.json({ success: true, message: 'Tarif gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/tariff.controller.js.map b/backend/dist/controllers/tariff.controller.js.map index 6e8a6819..2b0a0215 100644 --- a/backend/dist/controllers/tariff.controller.js.map +++ b/backend/dist/controllers/tariff.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"tariff.controller.js","sourceRoot":"","sources":["../../src/controllers/tariff.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tariff.controller.js","sourceRoot":"","sources":["../../src/controllers/tariff.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/controllers/user.controller.d.ts.map b/backend/dist/controllers/user.controller.d.ts.map index 9a8c11e0..3d370bcf 100644 --- a/backend/dist/controllers/user.controller.d.ts.map +++ b/backend/dist/controllers/user.controller.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/user.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAK5C,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzE;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAGD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E;AAGD,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E"} \ No newline at end of file +{"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/user.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAO5C,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBzE;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3E;AAGD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBxE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAe3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3E;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3E;AAGD,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E"} \ No newline at end of file diff --git a/backend/dist/controllers/user.controller.js b/backend/dist/controllers/user.controller.js index 3e21e4fa..7c057738 100644 --- a/backend/dist/controllers/user.controller.js +++ b/backend/dist/controllers/user.controller.js @@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUsers = getUsers; exports.getUser = getUser; @@ -44,7 +47,9 @@ exports.createRole = createRole; exports.updateRole = updateRole; exports.deleteRole = deleteRole; exports.getPermissions = getPermissions; +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const userService = __importStar(require("../services/user.service.js")); +const audit_service_js_1 = require("../services/audit.service.js"); // Users async function getUsers(req, res) { try { @@ -91,6 +96,11 @@ async function getUser(req, res) { async function createUser(req, res) { try { const user = await userService.createUser(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'User', + resourceId: user.id.toString(), + label: `Benutzer ${user.firstName} ${user.lastName} angelegt`, + }); res.status(201).json({ success: true, data: user }); } catch (error) { @@ -102,7 +112,51 @@ async function createUser(req, res) { } async function updateUser(req, res) { try { - const user = await userService.updateUser(parseInt(req.params.id), req.body); + const userId = parseInt(req.params.id); + const data = req.body; + // Vorherigen Stand laden für Audit + const before = await prisma_js_1.default.user.findUnique({ where: { id: userId } }); + const user = await userService.updateUser(userId, data); + if (user) { + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes = {}; + const fieldLabels = { + email: 'E-Mail', firstName: 'Vorname', lastName: 'Nachname', isActive: 'Aktiv', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) + continue; + const oldVal = before[key]; + const norm = (v) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v) => { + if (v === null || v === undefined || v === '') + return '-'; + if (typeof v === 'boolean') + return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'User', + resourceId: user.id.toString(), + label: changeList ? `Benutzer ${user.firstName} ${user.lastName} aktualisiert: ${changeList}` : `Benutzer ${user.firstName} ${user.lastName} aktualisiert`, + details: Object.keys(changes).length > 0 ? changes : undefined, + }); + } + else { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'User', + resourceId: user.id.toString(), + label: `Benutzer ${user.firstName} ${user.lastName} aktualisiert`, + }); + } + } res.json({ success: true, data: user }); } catch (error) { @@ -114,7 +168,14 @@ async function updateUser(req, res) { } async function deleteUser(req, res) { try { - await userService.deleteUser(parseInt(req.params.id)); + const userId = parseInt(req.params.id); + const userBefore = await userService.getUserById(userId); + await userService.deleteUser(userId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'User', + resourceId: userId.toString(), + label: `Benutzer ${userBefore?.firstName || ''} ${userBefore?.lastName || ''} gelöscht`, + }); res.json({ success: true, message: 'Benutzer gelöscht' }); } catch (error) { @@ -159,6 +220,11 @@ async function getRole(req, res) { async function createRole(req, res) { try { const role = await userService.createRole(req.body); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'Role', + resourceId: role.id.toString(), + label: `Rolle ${role.name} angelegt`, + }); res.status(201).json({ success: true, data: role }); } catch (error) { @@ -171,6 +237,13 @@ async function createRole(req, res) { async function updateRole(req, res) { try { const role = await userService.updateRole(parseInt(req.params.id), req.body); + if (role) { + await (0, audit_service_js_1.logChange)({ + req, action: 'UPDATE', resourceType: 'Role', + resourceId: role.id.toString(), + label: `Rolle ${role.name} aktualisiert`, + }); + } res.json({ success: true, data: role }); } catch (error) { @@ -182,7 +255,14 @@ async function updateRole(req, res) { } async function deleteRole(req, res) { try { - await userService.deleteRole(parseInt(req.params.id)); + const roleId = parseInt(req.params.id); + const role = await userService.getRoleById(roleId); + await userService.deleteRole(roleId); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'Role', + resourceId: roleId.toString(), + label: `Rolle ${role?.name || roleId} gelöscht`, + }); res.json({ success: true, message: 'Rolle gelöscht' }); } catch (error) { diff --git a/backend/dist/controllers/user.controller.js.map b/backend/dist/controllers/user.controller.js.map index 891967f3..21d22f53 100644 --- a/backend/dist/controllers/user.controller.js.map +++ b/backend/dist/controllers/user.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/controllers/user.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/controllers/user.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/middleware/auth.d.ts.map b/backend/dist/middleware/auth.d.ts.map index f7b1f307..9387f23a 100644 --- a/backend/dist/middleware/auth.d.ts.map +++ b/backend/dist/middleware/auth.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAI5D,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED,wBAAgB,iBAAiB,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,IACxD,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAuBnE;AAGD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAiCN"} \ No newline at end of file +{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAGjD,OAAO,EAAE,WAAW,EAAc,MAAM,mBAAmB,CAAC;AAE5D,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED,wBAAgB,iBAAiB,CAAC,GAAG,mBAAmB,EAAE,MAAM,EAAE,IACxD,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAuBnE;AAGD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI,CAiCN"} \ No newline at end of file diff --git a/backend/dist/middleware/auth.js b/backend/dist/middleware/auth.js index 6dbe29e4..900992ba 100644 --- a/backend/dist/middleware/auth.js +++ b/backend/dist/middleware/auth.js @@ -7,8 +7,7 @@ exports.authenticate = authenticate; exports.requirePermission = requirePermission; exports.requireCustomerAccess = requireCustomerAccess; const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function authenticate(req, res, next) { const authHeader = req.headers.authorization; // Token aus Header oder Query-Parameter (für Downloads) @@ -28,7 +27,7 @@ async function authenticate(req, res, next) { const decoded = jsonwebtoken_1.default.verify(token, process.env.JWT_SECRET || 'fallback-secret'); // Prüfen ob Token durch Rechteänderung invalidiert wurde (nur für Mitarbeiter) if (decoded.userId && decoded.iat) { - const user = await prisma.user.findUnique({ + const user = await prisma_js_1.default.user.findUnique({ where: { id: decoded.userId }, select: { tokenInvalidatedAt: true, isActive: true }, }); diff --git a/backend/dist/middleware/auth.js.map b/backend/dist/middleware/auth.js.map index fb5857b5..525ec84a 100644 --- a/backend/dist/middleware/auth.js.map +++ b/backend/dist/middleware/auth.js.map @@ -1 +1 @@ -{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":";;;;;AAOA,oCA2DC;AAED,8CAwBC;AAGD,sDAqCC;AAnID,gEAA+B;AAC/B,2CAA8C;AAG9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,YAAY,CAChC,GAAgB,EAChB,GAAa,EACb,IAAkB;IAElB,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;IAE7C,wDAAwD;IACxD,IAAI,KAAK,GAAkB,IAAI,CAAC;IAEhC,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnD,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClE,oDAAoD;QACpD,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,sBAAG,CAAC,MAAM,CACxB,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,iBAAiB,CAC9B,CAAC;QAEhB,+EAA+E;QAC/E,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBACxC,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC7B,MAAM,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;aACrD,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBAC7E,OAAO;YACT,CAAC;YAED,gDAAgD;YAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,iDAAiD;gBAC3F,IAAI,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;oBACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACnB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,uEAAuE;qBAC/E,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAG,mBAA6B;IAChE,OAAO,CAAC,GAAgB,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QACnE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;QAEnD,oDAAoD;QACpD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACtD,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC/B,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,qCAAqC;aAC7C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC;AAED,gEAAgE;AAChE,SAAgB,qBAAqB,CACnC,GAAgB,EAChB,GAAa,EACb,IAAkB;IAElB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAEnD,gDAAgD;IAChD,IACE,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC1C,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAC5C,CAAC;QACD,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,mEAAmE;IACnE,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG;QACjB,GAAG,CAAC,IAAI,CAAC,UAAU;QACnB,GAAG,CAAE,GAAG,CAAC,IAAY,CAAC,sBAAsB,IAAI,EAAE,CAAC;KACpD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC;QACP,OAAO;IACT,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,oCAAoC;KAC5C,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/routes/developer.routes.d.ts.map b/backend/dist/routes/developer.routes.d.ts.map index e260f76d..2af51242 100644 --- a/backend/dist/routes/developer.routes.d.ts.map +++ b/backend/dist/routes/developer.routes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"developer.routes.d.ts","sourceRoot":"","sources":["../../src/routes/developer.routes.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA0fxB,eAAe,MAAM,CAAC"} \ No newline at end of file +{"version":3,"file":"developer.routes.d.ts","sourceRoot":"","sources":["../../src/routes/developer.routes.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAyfxB,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/backend/dist/routes/developer.routes.js b/backend/dist/routes/developer.routes.js index 683b92a8..e4b7ee86 100644 --- a/backend/dist/routes/developer.routes.js +++ b/backend/dist/routes/developer.routes.js @@ -1,22 +1,24 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); const express_1 = require("express"); -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const auth_js_1 = require("../middleware/auth.js"); const router = (0, express_1.Router)(); -const prisma = new client_1.PrismaClient(); // Setup-Endpunkt: Erstellt die developer:access Permission und fügt sie der Admin-Rolle hinzu // Dieser Endpunkt erfordert keine Authentifizierung, da er nur einmalig zum Setup verwendet wird router.post('/setup', async (req, res) => { try { // Create or get the developer:access permission - const developerPerm = await prisma.permission.upsert({ + const developerPerm = await prisma_js_1.default.permission.upsert({ where: { resource_action: { resource: 'developer', action: 'access' } }, update: {}, create: { resource: 'developer', action: 'access' }, }); // Get the Admin role - const adminRole = await prisma.role.findUnique({ + const adminRole = await prisma_js_1.default.role.findUnique({ where: { name: 'Admin' }, include: { permissions: true }, }); @@ -27,7 +29,7 @@ router.post('/setup', async (req, res) => { // Check if Admin already has this permission const hasPermission = adminRole.permissions.some((rp) => rp.permissionId === developerPerm.id); if (!hasPermission) { - await prisma.rolePermission.create({ + await prisma_js_1.default.rolePermission.create({ data: { roleId: adminRole.id, permissionId: developerPerm.id, @@ -286,7 +288,7 @@ router.get('/table/:tableName', auth_js_1.authenticate, (0, auth_js_1.requirePer } const skip = (parseInt(page) - 1) * parseInt(limit); const take = parseInt(limit); - const model = prisma[meta.model]; + const model = prisma_js_1.default[meta.model]; const [data, total] = await Promise.all([ model.findMany({ skip, @@ -339,7 +341,7 @@ router.put('/table/:tableName/:id', auth_js_1.authenticate, (0, auth_js_1.requir return; } } - const model = prisma[meta.model]; + const model = prisma_js_1.default[meta.model]; // Composite Primary Key Handling let where; if (meta.primaryKey.includes(',')) { @@ -381,7 +383,7 @@ router.delete('/table/:tableName/:id', auth_js_1.authenticate, (0, auth_js_1.req res.status(404).json({ success: false, error: 'Tabelle nicht gefunden' }); return; } - const model = prisma[meta.model]; + const model = prisma_js_1.default[meta.model]; // Composite Primary Key Handling let where; if (meta.primaryKey.includes(',')) { @@ -439,7 +441,7 @@ router.get('/reference/:tableName', auth_js_1.authenticate, (0, auth_js_1.requir res.status(404).json({ success: false, error: 'Tabelle nicht gefunden' }); return; } - const model = prisma[meta.model]; + const model = prisma_js_1.default[meta.model]; const data = await model.findMany({ take: parseInt(limit), }); diff --git a/backend/dist/routes/developer.routes.js.map b/backend/dist/routes/developer.routes.js.map index 03335d87..8c2f7b7e 100644 --- a/backend/dist/routes/developer.routes.js.map +++ b/backend/dist/routes/developer.routes.js.map @@ -1 +1 @@ -{"version":3,"file":"developer.routes.js","sourceRoot":"","sources":["../../src/routes/developer.routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"developer.routes.js","sourceRoot":"","sources":["../../src/routes/developer.routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/routes/upload.routes.d.ts.map b/backend/dist/routes/upload.routes.d.ts.map index 65172a71..71e29b4c 100644 --- a/backend/dist/routes/upload.routes.d.ts.map +++ b/backend/dist/routes/upload.routes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"upload.routes.d.ts","sourceRoot":"","sources":["../../src/routes/upload.routes.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA2vBxB,eAAe,MAAM,CAAC"} \ No newline at end of file +{"version":3,"file":"upload.routes.d.ts","sourceRoot":"","sources":["../../src/routes/upload.routes.ts"],"names":[],"mappings":"AASA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA4wBxB,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/backend/dist/routes/upload.routes.js b/backend/dist/routes/upload.routes.js index 68ebcd90..ed16465e 100644 --- a/backend/dist/routes/upload.routes.js +++ b/backend/dist/routes/upload.routes.js @@ -7,10 +7,10 @@ const express_1 = require("express"); const multer_1 = __importDefault(require("multer")); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const auth_js_1 = require("../middleware/auth.js"); +const audit_service_js_1 = require("../services/audit.service.js"); const router = (0, express_1.Router)(); -const prisma = new client_1.PrismaClient(); // Uploads-Verzeichnis erstellen falls nicht vorhanden const uploadsDir = path_1.default.join(process.cwd(), 'uploads'); if (!fs_1.default.existsSync(uploadsDir)) { @@ -66,7 +66,7 @@ router.post('/bank-cards/:id', auth_js_1.authenticate, (0, auth_js_1.requirePerm const bankCardId = parseInt(req.params.id); const relativePath = `/uploads/bank-cards/${req.file.filename}`; // Bankkarte in der DB aktualisieren - await prisma.bankCard.update({ + await prisma_js_1.default.bankCard.update({ where: { id: bankCardId }, data: { documentPath: relativePath }, }); @@ -95,7 +95,7 @@ router.post('/documents/:id', auth_js_1.authenticate, (0, auth_js_1.requirePermi const documentId = parseInt(req.params.id); const relativePath = `/uploads/documents/${req.file.filename}`; // Ausweis in der DB aktualisieren - await prisma.identityDocument.update({ + await prisma_js_1.default.identityDocument.update({ where: { id: documentId }, data: { documentPath: relativePath }, }); @@ -119,7 +119,7 @@ router.delete('/bank-cards/:id', auth_js_1.authenticate, (0, auth_js_1.requirePe try { const bankCardId = parseInt(req.params.id); // Bankkarte aus DB holen um Dateipfad zu bekommen - const bankCard = await prisma.bankCard.findUnique({ + const bankCard = await prisma_js_1.default.bankCard.findUnique({ where: { id: bankCardId }, }); if (!bankCard) { @@ -136,7 +136,7 @@ router.delete('/bank-cards/:id', auth_js_1.authenticate, (0, auth_js_1.requirePe fs_1.default.unlinkSync(filePath); } // documentPath in DB auf null setzen - await prisma.bankCard.update({ + await prisma_js_1.default.bankCard.update({ where: { id: bankCardId }, data: { documentPath: null }, }); @@ -152,7 +152,7 @@ router.delete('/documents/:id', auth_js_1.authenticate, (0, auth_js_1.requirePer try { const documentId = parseInt(req.params.id); // Ausweis aus DB holen um Dateipfad zu bekommen - const document = await prisma.identityDocument.findUnique({ + const document = await prisma_js_1.default.identityDocument.findUnique({ where: { id: documentId }, }); if (!document) { @@ -169,7 +169,7 @@ router.delete('/documents/:id', auth_js_1.authenticate, (0, auth_js_1.requirePer fs_1.default.unlinkSync(filePath); } // documentPath in DB auf null setzen - await prisma.identityDocument.update({ + await prisma_js_1.default.identityDocument.update({ where: { id: documentId }, data: { documentPath: null }, }); @@ -191,7 +191,7 @@ router.post('/customers/:id/business-registration', auth_js_1.authenticate, (0, const customerId = parseInt(req.params.id); const relativePath = `/uploads/business-registrations/${req.file.filename}`; // Alte Datei löschen falls vorhanden - const customer = await prisma.customer.findUnique({ where: { id: customerId } }); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); if (customer?.businessRegistrationPath) { const oldPath = path_1.default.join(process.cwd(), customer.businessRegistrationPath); if (fs_1.default.existsSync(oldPath)) { @@ -199,7 +199,7 @@ router.post('/customers/:id/business-registration', auth_js_1.authenticate, (0, } } // Kunde in der DB aktualisieren - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { businessRegistrationPath: relativePath }, }); @@ -228,7 +228,7 @@ router.post('/customers/:id/commercial-register', auth_js_1.authenticate, (0, au const customerId = parseInt(req.params.id); const relativePath = `/uploads/commercial-registers/${req.file.filename}`; // Alte Datei löschen falls vorhanden - const customer = await prisma.customer.findUnique({ where: { id: customerId } }); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); if (customer?.commercialRegisterPath) { const oldPath = path_1.default.join(process.cwd(), customer.commercialRegisterPath); if (fs_1.default.existsSync(oldPath)) { @@ -236,7 +236,7 @@ router.post('/customers/:id/commercial-register', auth_js_1.authenticate, (0, au } } // Kunde in der DB aktualisieren - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { commercialRegisterPath: relativePath }, }); @@ -259,7 +259,7 @@ router.post('/customers/:id/commercial-register', auth_js_1.authenticate, (0, au router.delete('/customers/:id/business-registration', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('customers:update'), async (req, res) => { try { const customerId = parseInt(req.params.id); - const customer = await prisma.customer.findUnique({ where: { id: customerId } }); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); if (!customer) { res.status(404).json({ success: false, error: 'Kunde nicht gefunden' }); return; @@ -274,7 +274,7 @@ router.delete('/customers/:id/business-registration', auth_js_1.authenticate, (0 fs_1.default.unlinkSync(filePath); } // Pfad in DB auf null setzen - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { businessRegistrationPath: null }, }); @@ -289,7 +289,7 @@ router.delete('/customers/:id/business-registration', auth_js_1.authenticate, (0 router.delete('/customers/:id/commercial-register', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('customers:update'), async (req, res) => { try { const customerId = parseInt(req.params.id); - const customer = await prisma.customer.findUnique({ where: { id: customerId } }); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); if (!customer) { res.status(404).json({ success: false, error: 'Kunde nicht gefunden' }); return; @@ -304,7 +304,7 @@ router.delete('/customers/:id/commercial-register', auth_js_1.authenticate, (0, fs_1.default.unlinkSync(filePath); } // Pfad in DB auf null setzen - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { commercialRegisterPath: null }, }); @@ -326,7 +326,7 @@ router.post('/customers/:id/privacy-policy', auth_js_1.authenticate, (0, auth_js const customerId = parseInt(req.params.id); const relativePath = `/uploads/privacy-policies/${req.file.filename}`; // Alte Datei löschen falls vorhanden - const customer = await prisma.customer.findUnique({ where: { id: customerId } }); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); if (customer?.privacyPolicyPath) { const oldPath = path_1.default.join(process.cwd(), customer.privacyPolicyPath); if (fs_1.default.existsSync(oldPath)) { @@ -334,19 +334,27 @@ router.post('/customers/:id/privacy-policy', auth_js_1.authenticate, (0, auth_js } } // Kunde in der DB aktualisieren - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { privacyPolicyPath: relativePath }, }); // Alle Consents auf GRANTED setzen (PDF = vollständige Einwilligung) const consentTypes = ['DATA_PROCESSING', 'MARKETING_EMAIL', 'MARKETING_PHONE', 'DATA_SHARING_PARTNER']; for (const consentType of consentTypes) { - await prisma.customerConsent.upsert({ + await prisma_js_1.default.customerConsent.upsert({ where: { customerId_consentType: { customerId, consentType } }, update: { status: 'GRANTED', grantedAt: new Date(), source: 'papier' }, create: { customerId, consentType, status: 'GRANTED', grantedAt: new Date(), source: 'papier', createdBy: req.user?.email || 'admin' }, }); } + // Audit + const cust = await prisma_js_1.default.customer.findUnique({ where: { id: customerId }, select: { firstName: true, lastName: true } }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'CustomerConsent', + label: `Datenschutzerklärung-PDF hochgeladen für ${cust?.firstName} ${cust?.lastName} – alle Einwilligungen erteilt`, + details: { aktion: 'PDF hochgeladen', einwilligungen: 'alle erteilt', quelle: 'papier' }, + customerId, + }); res.json({ success: true, data: { @@ -366,7 +374,7 @@ router.post('/customers/:id/privacy-policy', auth_js_1.authenticate, (0, auth_js router.delete('/customers/:id/privacy-policy', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('customers:update'), async (req, res) => { try { const customerId = parseInt(req.params.id); - const customer = await prisma.customer.findUnique({ where: { id: customerId } }); + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId } }); if (!customer) { res.status(404).json({ success: false, error: 'Kunde nicht gefunden' }); return; @@ -381,15 +389,23 @@ router.delete('/customers/:id/privacy-policy', auth_js_1.authenticate, (0, auth_ fs_1.default.unlinkSync(filePath); } // Pfad in DB auf null setzen - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { privacyPolicyPath: null }, }); // Nur Consents widerrufen die per Papier erteilt wurden - await prisma.customerConsent.updateMany({ + await prisma_js_1.default.customerConsent.updateMany({ where: { customerId, status: 'GRANTED', source: 'papier' }, data: { status: 'WITHDRAWN', withdrawnAt: new Date() }, }); + // Audit + const cust = await prisma_js_1.default.customer.findUnique({ where: { id: customerId }, select: { firstName: true, lastName: true } }); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'CustomerConsent', + label: `Datenschutzerklärung-PDF gelöscht für ${cust?.firstName} ${cust?.lastName} – Papier-Einwilligungen widerrufen`, + details: { aktion: 'PDF gelöscht', einwilligungen: 'papier-basierte widerrufen' }, + customerId, + }); res.json({ success: true }); } catch (error) { @@ -408,7 +424,7 @@ async function handleContractDocumentUpload(req, res, fieldName, subDir) { const contractId = parseInt(req.params.id); const relativePath = `/uploads/${subDir}/${req.file.filename}`; // Alte Datei löschen falls vorhanden - const contract = await prisma.contract.findUnique({ where: { id: contractId } }); + const contract = await prisma_js_1.default.contract.findUnique({ where: { id: contractId } }); if (!contract) { res.status(404).json({ success: false, error: 'Vertrag nicht gefunden' }); return; @@ -421,7 +437,7 @@ async function handleContractDocumentUpload(req, res, fieldName, subDir) { } } // Vertrag in der DB aktualisieren - await prisma.contract.update({ + await prisma_js_1.default.contract.update({ where: { id: contractId }, data: { [fieldName]: relativePath }, }); @@ -444,7 +460,7 @@ async function handleContractDocumentUpload(req, res, fieldName, subDir) { async function handleContractDocumentDelete(req, res, fieldName) { try { const contractId = parseInt(req.params.id); - const contract = await prisma.contract.findUnique({ where: { id: contractId } }); + const contract = await prisma_js_1.default.contract.findUnique({ where: { id: contractId } }); if (!contract) { res.status(404).json({ success: false, error: 'Vertrag nicht gefunden' }); return; @@ -460,7 +476,7 @@ async function handleContractDocumentDelete(req, res, fieldName) { fs_1.default.unlinkSync(filePath); } // Pfad in DB auf null setzen - await prisma.contract.update({ + await prisma_js_1.default.contract.update({ where: { id: contractId }, data: { [fieldName]: null }, }); @@ -494,7 +510,7 @@ router.post('/invoices/:id', auth_js_1.authenticate, (0, auth_js_1.requirePermis const invoiceId = parseInt(req.params.id); const relativePath = `/uploads/invoices/${req.file.filename}`; // Alte Datei löschen falls vorhanden - const invoice = await prisma.invoice.findUnique({ where: { id: invoiceId } }); + const invoice = await prisma_js_1.default.invoice.findUnique({ where: { id: invoiceId } }); if (!invoice) { res.status(404).json({ success: false, error: 'Rechnung nicht gefunden' }); return; @@ -506,7 +522,7 @@ router.post('/invoices/:id', auth_js_1.authenticate, (0, auth_js_1.requirePermis } } // Invoice in der DB aktualisieren - await prisma.invoice.update({ + await prisma_js_1.default.invoice.update({ where: { id: invoiceId }, data: { documentPath: relativePath }, }); @@ -529,7 +545,7 @@ router.post('/invoices/:id', auth_js_1.authenticate, (0, auth_js_1.requirePermis router.delete('/invoices/:id', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), async (req, res) => { try { const invoiceId = parseInt(req.params.id); - const invoice = await prisma.invoice.findUnique({ where: { id: invoiceId } }); + const invoice = await prisma_js_1.default.invoice.findUnique({ where: { id: invoiceId } }); if (!invoice) { res.status(404).json({ success: false, error: 'Rechnung nicht gefunden' }); return; @@ -544,7 +560,7 @@ router.delete('/invoices/:id', auth_js_1.authenticate, (0, auth_js_1.requirePerm fs_1.default.unlinkSync(filePath); } // documentPath in DB auf null setzen - await prisma.invoice.update({ + await prisma_js_1.default.invoice.update({ where: { id: invoiceId }, data: { documentPath: null }, }); diff --git a/backend/dist/routes/upload.routes.js.map b/backend/dist/routes/upload.routes.js.map index 621157b4..7ccfa5d0 100644 --- a/backend/dist/routes/upload.routes.js.map +++ b/backend/dist/routes/upload.routes.js.map @@ -1 +1 @@ -{"version":3,"file":"upload.routes.js","sourceRoot":"","sources":["../../src/routes/upload.routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"upload.routes.js","sourceRoot":"","sources":["../../src/routes/upload.routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/appSetting.service.d.ts.map b/backend/dist/services/appSetting.service.d.ts.map index 9baafe38..7be347bf 100644 --- a/backend/dist/services/appSetting.service.d.ts.map +++ b/backend/dist/services/appSetting.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"appSetting.service.d.ts","sourceRoot":"","sources":["../../src/services/appSetting.service.ts"],"names":[],"mappings":"AAgBA,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWpE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWtE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAazE"} \ No newline at end of file +{"version":3,"file":"appSetting.service.d.ts","sourceRoot":"","sources":["../../src/services/appSetting.service.ts"],"names":[],"mappings":"AAcA,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWpE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;AAED,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWtE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAazE"} \ No newline at end of file diff --git a/backend/dist/services/appSetting.service.js b/backend/dist/services/appSetting.service.js index e503436d..2f4e6269 100644 --- a/backend/dist/services/appSetting.service.js +++ b/backend/dist/services/appSetting.service.js @@ -1,12 +1,14 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSetting = getSetting; exports.getSettingBool = getSettingBool; exports.setSetting = setSetting; exports.getAllSettings = getAllSettings; exports.getPublicSettings = getPublicSettings; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); // Default settings const DEFAULT_SETTINGS = { customerSupportTicketsEnabled: 'false', @@ -19,7 +21,7 @@ const DEFAULT_SETTINGS = { documentExpiryWarningDays: '90', // Gelb: Warnung (Standard 90 Tage) }; async function getSetting(key) { - const setting = await prisma.appSetting.findUnique({ + const setting = await prisma_js_1.default.appSetting.findUnique({ where: { key }, }); if (setting) { @@ -33,14 +35,14 @@ async function getSettingBool(key) { return value === 'true'; } async function setSetting(key, value) { - await prisma.appSetting.upsert({ + await prisma_js_1.default.appSetting.upsert({ where: { key }, update: { value }, create: { key, value }, }); } async function getAllSettings() { - const settings = await prisma.appSetting.findMany(); + const settings = await prisma_js_1.default.appSetting.findMany(); // Start with defaults, then override with stored values const result = { ...DEFAULT_SETTINGS }; for (const setting of settings) { diff --git a/backend/dist/services/appSetting.service.js.map b/backend/dist/services/appSetting.service.js.map index 288459ad..75edb661 100644 --- a/backend/dist/services/appSetting.service.js.map +++ b/backend/dist/services/appSetting.service.js.map @@ -1 +1 @@ -{"version":3,"file":"appSetting.service.js","sourceRoot":"","sources":["../../src/services/appSetting.service.ts"],"names":[],"mappings":";;AAgBA,gCAWC;AAED,wCAGC;AAED,gCAMC;AAED,wCAWC;AAED,8CAaC;AApED,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAElC,mBAAmB;AACnB,MAAM,gBAAgB,GAA2B;IAC/C,6BAA6B,EAAE,OAAO;IACtC,gDAAgD;IAChD,oBAAoB,EAAE,IAAI,EAAO,gBAAgB;IACjD,mBAAmB,EAAE,IAAI,EAAQ,2BAA2B;IAC5D,cAAc,EAAE,IAAI,EAAa,sBAAsB;IACvD,8CAA8C;IAC9C,0BAA0B,EAAE,IAAI,EAAE,mCAAmC;IACrE,yBAAyB,EAAE,IAAI,EAAG,mCAAmC;CACtE,CAAC;AAEK,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QACjD,KAAK,EAAE,EAAE,GAAG,EAAE;KACf,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,2BAA2B;IAC3B,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,KAAK,KAAK,MAAM,CAAC;AAC1B,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,KAAa;IACzD,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,EAAE,GAAG,EAAE;QACd,MAAM,EAAE,EAAE,KAAK,EAAE;QACjB,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;KACvB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAEpD,wDAAwD;IACxD,MAAM,MAAM,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,iBAAiB;IACrC,qFAAqF;IACrF,MAAM,UAAU,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"} \ No newline at end of file +{"version":3,"file":"appSetting.service.js","sourceRoot":"","sources":["../../src/services/appSetting.service.ts"],"names":[],"mappings":";;;;;AAcA,gCAWC;AAED,wCAGC;AAED,gCAMC;AAED,wCAWC;AAED,8CAaC;AAlED,iEAAsC;AAEtC,mBAAmB;AACnB,MAAM,gBAAgB,GAA2B;IAC/C,6BAA6B,EAAE,OAAO;IACtC,gDAAgD;IAChD,oBAAoB,EAAE,IAAI,EAAO,gBAAgB;IACjD,mBAAmB,EAAE,IAAI,EAAQ,2BAA2B;IAC5D,cAAc,EAAE,IAAI,EAAa,sBAAsB;IACvD,8CAA8C;IAC9C,0BAA0B,EAAE,IAAI,EAAE,mCAAmC;IACrE,yBAAyB,EAAE,IAAI,EAAG,mCAAmC;CACtE,CAAC;AAEK,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,MAAM,mBAAM,CAAC,UAAU,CAAC,UAAU,CAAC;QACjD,KAAK,EAAE,EAAE,GAAG,EAAE;KACf,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,2BAA2B;IAC3B,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,KAAK,KAAK,MAAM,CAAC;AAC1B,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,KAAa;IACzD,MAAM,mBAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAC7B,KAAK,EAAE,EAAE,GAAG,EAAE;QACd,MAAM,EAAE,EAAE,KAAK,EAAE;QACjB,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;KACvB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc;IAClC,MAAM,QAAQ,GAAG,MAAM,mBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAEpD,wDAAwD;IACxD,MAAM,MAAM,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEvC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;IACtC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAEM,KAAK,UAAU,iBAAiB;IACrC,qFAAqF;IACrF,MAAM,UAAU,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"} \ No newline at end of file diff --git a/backend/dist/services/auth.service.d.ts.map b/backend/dist/services/auth.service.d.ts.map index 60025e70..04f84659 100644 --- a/backend/dist/services/auth.service.d.ts.map +++ b/backend/dist/services/auth.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AASA,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;GA+D1D;AAGD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;GAwFlE;AAGD,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAiBnF;AAGD,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgB1F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;GA8BA;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;UAiD3C;AAGD,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;UA+C7D"} \ No newline at end of file +{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"AAOA,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;GA+D1D;AAGD,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;GAwFlE;AAGD,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAiBnF;AAGD,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgB1F;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;;;;;;GA8BA;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;UAiD3C;AAGD,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;UA+C7D"} \ No newline at end of file diff --git a/backend/dist/services/auth.service.js b/backend/dist/services/auth.service.js index 99efbca6..019dcbcf 100644 --- a/backend/dist/services/auth.service.js +++ b/backend/dist/services/auth.service.js @@ -10,14 +10,13 @@ exports.getCustomerPortalPassword = getCustomerPortalPassword; exports.createUser = createUser; exports.getUserById = getUserById; exports.getCustomerPortalUser = getCustomerPortalUser; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const bcryptjs_1 = __importDefault(require("bcryptjs")); const jsonwebtoken_1 = __importDefault(require("jsonwebtoken")); const encryption_js_1 = require("../utils/encryption.js"); -const prisma = new client_1.PrismaClient(); // Mitarbeiter-Login async function login(email, password) { - const user = await prisma.user.findUnique({ + const user = await prisma_js_1.default.user.findUnique({ where: { email }, include: { roles: { @@ -75,7 +74,7 @@ async function login(email, password) { // Kundenportal-Login async function customerLogin(email, password) { console.log('[CustomerLogin] Versuch mit E-Mail:', email); - const customer = await prisma.customer.findUnique({ + const customer = await prisma_js_1.default.customer.findUnique({ where: { portalEmail: email }, include: { // Kunden, die dieser Kunde vertreten kann @@ -107,7 +106,7 @@ async function customerLogin(email, password) { throw new Error('Ungültige Anmeldedaten'); } // Letzte Anmeldung aktualisieren - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customer.id }, data: { portalLastLogin: new Date() }, }); @@ -155,7 +154,7 @@ async function setCustomerPortalPassword(customerId, password) { const hashedPassword = await bcryptjs_1.default.hash(password, 10); const encryptedPassword = (0, encryption_js_1.encrypt)(password); console.log('[SetPortalPassword] Hash erstellt, Länge:', hashedPassword.length); - await prisma.customer.update({ + await prisma_js_1.default.customer.update({ where: { id: customerId }, data: { portalPasswordHash: hashedPassword, @@ -166,7 +165,7 @@ async function setCustomerPortalPassword(customerId, password) { } // Kundenportal-Passwort im Klartext abrufen async function getCustomerPortalPassword(customerId) { - const customer = await prisma.customer.findUnique({ + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId }, select: { portalPasswordEncrypted: true }, }); @@ -183,7 +182,7 @@ async function getCustomerPortalPassword(customerId) { } async function createUser(data) { const hashedPassword = await bcryptjs_1.default.hash(data.password, 10); - const user = await prisma.user.create({ + const user = await prisma_js_1.default.user.create({ data: { email: data.email, password: hashedPassword, @@ -211,7 +210,7 @@ async function createUser(data) { }; } async function getUserById(id) { - const user = await prisma.user.findUnique({ + const user = await prisma_js_1.default.user.findUnique({ where: { id }, include: { roles: { @@ -256,7 +255,7 @@ async function getUserById(id) { } // Kundenportal-Benutzer laden (für /me Endpoint) async function getCustomerPortalUser(customerId) { - const customer = await prisma.customer.findUnique({ + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: customerId }, include: { representingFor: { diff --git a/backend/dist/services/auth.service.js.map b/backend/dist/services/auth.service.js.map index c5427192..859b0c75 100644 --- a/backend/dist/services/auth.service.js.map +++ b/backend/dist/services/auth.service.js.map @@ -1 +1 @@ -{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/cancellation-period.service.d.ts.map b/backend/dist/services/cancellation-period.service.d.ts.map index cf060276..58a0683e 100644 --- a/backend/dist/services/cancellation-period.service.d.ts.map +++ b/backend/dist/services/cancellation-period.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"cancellation-period.service.d.ts","sourceRoot":"","sources":["../../src/services/cancellation-period.service.ts"],"names":[],"mappings":"AAIA,wBAAsB,yBAAyB,CAAC,eAAe,UAAQ;;;;;;;KAMtE;AAED,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;WASzD;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;;;;;;;GAOA;AAED,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM;;;;;;;GAaxD"} \ No newline at end of file +{"version":3,"file":"cancellation-period.service.d.ts","sourceRoot":"","sources":["../../src/services/cancellation-period.service.ts"],"names":[],"mappings":"AAEA,wBAAsB,yBAAyB,CAAC,eAAe,UAAQ;;;;;;;KAMtE;AAED,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;WASzD;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;;;;;;;GAOA;AAED,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM;;;;;;;GAaxD"} \ No newline at end of file diff --git a/backend/dist/services/cancellation-period.service.js b/backend/dist/services/cancellation-period.service.js index 467217fb..293a0f67 100644 --- a/backend/dist/services/cancellation-period.service.js +++ b/backend/dist/services/cancellation-period.service.js @@ -1,21 +1,23 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllCancellationPeriods = getAllCancellationPeriods; exports.getCancellationPeriodById = getCancellationPeriodById; exports.createCancellationPeriod = createCancellationPeriod; exports.updateCancellationPeriod = updateCancellationPeriod; exports.deleteCancellationPeriod = deleteCancellationPeriod; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getAllCancellationPeriods(includeInactive = false) { const where = includeInactive ? {} : { isActive: true }; - return prisma.cancellationPeriod.findMany({ + return prisma_js_1.default.cancellationPeriod.findMany({ where, orderBy: { code: 'asc' }, }); } async function getCancellationPeriodById(id) { - return prisma.cancellationPeriod.findUnique({ + return prisma_js_1.default.cancellationPeriod.findUnique({ where: { id }, include: { _count: { @@ -25,7 +27,7 @@ async function getCancellationPeriodById(id) { }); } async function createCancellationPeriod(data) { - return prisma.cancellationPeriod.create({ + return prisma_js_1.default.cancellationPeriod.create({ data: { ...data, isActive: true, @@ -33,19 +35,19 @@ async function createCancellationPeriod(data) { }); } async function updateCancellationPeriod(id, data) { - return prisma.cancellationPeriod.update({ + return prisma_js_1.default.cancellationPeriod.update({ where: { id }, data, }); } async function deleteCancellationPeriod(id) { // Check if cancellation period is used by any contracts - const count = await prisma.contract.count({ + const count = await prisma_js_1.default.contract.count({ where: { cancellationPeriodId: id }, }); if (count > 0) { throw new Error(`Kündigungsfrist kann nicht gelöscht werden, da sie von ${count} Verträgen verwendet wird`); } - return prisma.cancellationPeriod.delete({ where: { id } }); + return prisma_js_1.default.cancellationPeriod.delete({ where: { id } }); } //# sourceMappingURL=cancellation-period.service.js.map \ No newline at end of file diff --git a/backend/dist/services/cancellation-period.service.js.map b/backend/dist/services/cancellation-period.service.js.map index f89ffb14..a72085fe 100644 --- a/backend/dist/services/cancellation-period.service.js.map +++ b/backend/dist/services/cancellation-period.service.js.map @@ -1 +1 @@ -{"version":3,"file":"cancellation-period.service.js","sourceRoot":"","sources":["../../src/services/cancellation-period.service.ts"],"names":[],"mappings":";;AAIA,8DAMC;AAED,8DASC;AAED,4DAUC;AAED,4DAYC;AAED,4DAaC;AA9DD,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,yBAAyB,CAAC,eAAe,GAAG,KAAK;IACrE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACxC,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,EAAU;IACxD,OAAO,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC;QAC1C,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,IAG9C;IACC,OAAO,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,EAAU,EACV,IAIC;IAED,OAAO,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACtC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,EAAU;IACvD,wDAAwD;IACxD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,0DAA0D,KAAK,2BAA2B,CAC3F,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC"} \ No newline at end of file +{"version":3,"file":"cancellation-period.service.js","sourceRoot":"","sources":["../../src/services/cancellation-period.service.ts"],"names":[],"mappings":";;;;;AAEA,8DAMC;AAED,8DASC;AAED,4DAUC;AAED,4DAYC;AAED,4DAaC;AA5DD,iEAAsC;AAE/B,KAAK,UAAU,yBAAyB,CAAC,eAAe,GAAG,KAAK;IACrE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,mBAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACxC,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,EAAU;IACxD,OAAO,mBAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC;QAC1C,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,IAG9C;IACC,OAAO,mBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACtC,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,EAAU,EACV,IAIC;IAED,OAAO,mBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC;QACtC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAAC,EAAU;IACvD,wDAAwD;IACxD,MAAM,KAAK,GAAG,MAAM,mBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,oBAAoB,EAAE,EAAE,EAAE;KACpC,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,0DAA0D,KAAK,2BAA2B,CAC3F,CAAC;IACJ,CAAC;IAED,OAAO,mBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC"} \ No newline at end of file diff --git a/backend/dist/services/contract-duration.service.d.ts.map b/backend/dist/services/contract-duration.service.d.ts.map index 43d33f08..0b96e9d9 100644 --- a/backend/dist/services/contract-duration.service.d.ts.map +++ b/backend/dist/services/contract-duration.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contract-duration.service.d.ts","sourceRoot":"","sources":["../../src/services/contract-duration.service.ts"],"names":[],"mappings":"AAIA,wBAAsB,uBAAuB,CAAC,eAAe,UAAQ;;;;;;;KAMpE;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;WASvD;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;;;;;;;GAOA;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM;;;;;;;GAatD"} \ No newline at end of file +{"version":3,"file":"contract-duration.service.d.ts","sourceRoot":"","sources":["../../src/services/contract-duration.service.ts"],"names":[],"mappings":"AAEA,wBAAsB,uBAAuB,CAAC,eAAe,UAAQ;;;;;;;KAMpE;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;WASvD;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;;;;;;;GAOA;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM;;;;;;;GAatD"} \ No newline at end of file diff --git a/backend/dist/services/contract-duration.service.js b/backend/dist/services/contract-duration.service.js index 3f6487ec..8cb0e5e2 100644 --- a/backend/dist/services/contract-duration.service.js +++ b/backend/dist/services/contract-duration.service.js @@ -1,21 +1,23 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllContractDurations = getAllContractDurations; exports.getContractDurationById = getContractDurationById; exports.createContractDuration = createContractDuration; exports.updateContractDuration = updateContractDuration; exports.deleteContractDuration = deleteContractDuration; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getAllContractDurations(includeInactive = false) { const where = includeInactive ? {} : { isActive: true }; - return prisma.contractDuration.findMany({ + return prisma_js_1.default.contractDuration.findMany({ where, orderBy: { code: 'asc' }, }); } async function getContractDurationById(id) { - return prisma.contractDuration.findUnique({ + return prisma_js_1.default.contractDuration.findUnique({ where: { id }, include: { _count: { @@ -25,7 +27,7 @@ async function getContractDurationById(id) { }); } async function createContractDuration(data) { - return prisma.contractDuration.create({ + return prisma_js_1.default.contractDuration.create({ data: { ...data, isActive: true, @@ -33,19 +35,19 @@ async function createContractDuration(data) { }); } async function updateContractDuration(id, data) { - return prisma.contractDuration.update({ + return prisma_js_1.default.contractDuration.update({ where: { id }, data, }); } async function deleteContractDuration(id) { // Check if contract duration is used by any contracts - const count = await prisma.contract.count({ + const count = await prisma_js_1.default.contract.count({ where: { contractDurationId: id }, }); if (count > 0) { throw new Error(`Laufzeit kann nicht gelöscht werden, da sie von ${count} Verträgen verwendet wird`); } - return prisma.contractDuration.delete({ where: { id } }); + return prisma_js_1.default.contractDuration.delete({ where: { id } }); } //# sourceMappingURL=contract-duration.service.js.map \ No newline at end of file diff --git a/backend/dist/services/contract-duration.service.js.map b/backend/dist/services/contract-duration.service.js.map index 1dcef985..10239733 100644 --- a/backend/dist/services/contract-duration.service.js.map +++ b/backend/dist/services/contract-duration.service.js.map @@ -1 +1 @@ -{"version":3,"file":"contract-duration.service.js","sourceRoot":"","sources":["../../src/services/contract-duration.service.ts"],"names":[],"mappings":";;AAIA,0DAMC;AAED,0DASC;AAED,wDAUC;AAED,wDAYC;AAED,wDAaC;AA9DD,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,uBAAuB,CAAC,eAAe,GAAG,KAAK;IACnE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACtC,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAAU;IACtD,OAAO,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,IAG5C;IACC,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,EAAU,EACV,IAIC;IAED,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAAU;IACrD,sDAAsD;IACtD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE;KAClC,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,mDAAmD,KAAK,2BAA2B,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file +{"version":3,"file":"contract-duration.service.js","sourceRoot":"","sources":["../../src/services/contract-duration.service.ts"],"names":[],"mappings":";;;;;AAEA,0DAMC;AAED,0DASC;AAED,wDAUC;AAED,wDAYC;AAED,wDAaC;AA5DD,iEAAsC;AAE/B,KAAK,UAAU,uBAAuB,CAAC,eAAe,GAAG,KAAK;IACnE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,mBAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACtC,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAAU;IACtD,OAAO,mBAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,IAG5C;IACC,OAAO,mBAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,EAAU,EACV,IAIC;IAED,OAAO,mBAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAAU;IACrD,sDAAsD;IACtD,MAAM,KAAK,GAAG,MAAM,mBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE;KAClC,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,mDAAmD,KAAK,2BAA2B,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,mBAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"} \ 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 14e8cba4..53374bd1 100644 --- a/backend/dist/services/contract.service.d.ts +++ b/backend/dist/services/contract.service.d.ts @@ -97,13 +97,13 @@ export declare function getAllContracts(filters: ContractFilters): Promise<{ providerId: number; } | null; } & { + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; @@ -150,6 +150,8 @@ export declare function getAllContracts(filters: ContractFilters): Promise<{ }>; export declare function getContractById(id: number, decryptPassword?: boolean): Promise<({ customer: { + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -174,8 +176,6 @@ export declare function getContractById(id: number, decryptPassword?: boolean): privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }; address: { @@ -230,13 +230,13 @@ export declare function getContractById(id: number, decryptPassword?: boolean): energyDetails: ({ meter: ({ readings: { + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -257,13 +257,13 @@ export declare function getContractById(id: number, decryptPassword?: boolean): contractMeters: ({ meter: { readings: { + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -359,13 +359,13 @@ export declare function getContractById(id: number, decryptPassword?: boolean): energyDetails: ({ meter: ({ readings: { + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -386,13 +386,13 @@ export declare function getContractById(id: number, decryptPassword?: boolean): contractMeters: ({ meter: { readings: { + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -446,15 +446,16 @@ export declare function getContractById(id: number, decryptPassword?: boolean): }) | null; internetDetails: ({ phoneNumbers: { + sipPasswordEncrypted: string | null; id: number; phoneNumber: string; isMain: boolean; sipUsername: string | null; - sipPasswordEncrypted: string | null; sipServer: string | null; internetContractDetailsId: number; }[]; } & { + internetPasswordEncrypted: string | null; id: number; contractId: number; activationCode: string | null; @@ -465,18 +466,17 @@ export declare function getContractById(id: number, decryptPassword?: boolean): routerModel: string | null; installationDate: Date | null; internetUsername: string | null; - internetPasswordEncrypted: string | null; }) | null; mobileDetails: ({ simCards: { + pin: string | null; + puk: string | null; id: number; createdAt: Date; updatedAt: Date; simCardNumber: string | null; phoneNumber: string | null; isMain: boolean; - pin: string | null; - puk: string | null; isMultisim: boolean; mobileDetailsId: number; }[]; @@ -516,13 +516,13 @@ export declare function getContractById(id: number, decryptPassword?: boolean): previousInsurer: string | null; } | null; } & { + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; @@ -594,6 +594,7 @@ export declare function getContractById(id: number, decryptPassword?: boolean): providerId: number; } | null; stressfreiEmail: { + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -606,19 +607,19 @@ export declare function getContractById(id: number, decryptPassword?: boolean): isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; } | null; internetDetails: ({ phoneNumbers: { + sipPasswordEncrypted: string | null; id: number; phoneNumber: string; isMain: boolean; sipUsername: string | null; - sipPasswordEncrypted: string | null; sipServer: string | null; internetContractDetailsId: number; }[]; } & { + internetPasswordEncrypted: string | null; id: number; contractId: number; activationCode: string | null; @@ -629,18 +630,17 @@ export declare function getContractById(id: number, decryptPassword?: boolean): routerModel: string | null; installationDate: Date | null; internetUsername: string | null; - internetPasswordEncrypted: string | null; }) | null; mobileDetails: ({ simCards: { + pin: string | null; + puk: string | null; id: number; createdAt: Date; updatedAt: Date; simCardNumber: string | null; phoneNumber: string | null; isMain: boolean; - pin: string | null; - puk: string | null; isMultisim: boolean; mobileDetailsId: number; }[]; @@ -680,13 +680,13 @@ export declare function getContractById(id: number, decryptPassword?: boolean): previousInsurer: string | null; } | null; } & { + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; @@ -824,6 +824,8 @@ interface ContractCreateData { } export declare function createContract(data: ContractCreateData): Promise<{ customer: { + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -848,8 +850,6 @@ export declare function createContract(data: ContractCreateData): Promise<{ privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }; address: { @@ -902,15 +902,16 @@ export declare function createContract(data: ContractCreateData): Promise<{ } | null; internetDetails: ({ phoneNumbers: { + sipPasswordEncrypted: string | null; id: number; phoneNumber: string; isMain: boolean; sipUsername: string | null; - sipPasswordEncrypted: string | null; sipServer: string | null; internetContractDetailsId: number; }[]; } & { + internetPasswordEncrypted: string | null; id: number; contractId: number; activationCode: string | null; @@ -921,18 +922,17 @@ export declare function createContract(data: ContractCreateData): Promise<{ routerModel: string | null; installationDate: Date | null; internetUsername: string | null; - internetPasswordEncrypted: string | null; }) | null; mobileDetails: ({ simCards: { + pin: string | null; + puk: string | null; id: number; createdAt: Date; updatedAt: Date; simCardNumber: string | null; phoneNumber: string | null; isMain: boolean; - pin: string | null; - puk: string | null; isMultisim: boolean; mobileDetailsId: number; }[]; @@ -972,13 +972,13 @@ export declare function createContract(data: ContractCreateData): Promise<{ previousInsurer: string | null; } | null; } & { + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; @@ -1018,6 +1018,8 @@ export declare function createContract(data: ContractCreateData): Promise<{ }>; export declare function updateContract(id: number, data: Partial): Promise<({ customer: { + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -1042,8 +1044,6 @@ export declare function updateContract(id: number, data: Partial; export declare function deleteContract(id: number): Promise<{ + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; @@ -1639,6 +1639,8 @@ export declare function deleteContract(id: number): Promise<{ }>; export declare function createFollowUpContract(previousContractId: number): Promise<{ customer: { + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -1663,8 +1665,6 @@ export declare function createFollowUpContract(previousContractId: number): Prom privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }; address: { @@ -1717,15 +1717,16 @@ export declare function createFollowUpContract(previousContractId: number): Prom } | null; internetDetails: ({ phoneNumbers: { + sipPasswordEncrypted: string | null; id: number; phoneNumber: string; isMain: boolean; sipUsername: string | null; - sipPasswordEncrypted: string | null; sipServer: string | null; internetContractDetailsId: number; }[]; } & { + internetPasswordEncrypted: string | null; id: number; contractId: number; activationCode: string | null; @@ -1736,18 +1737,17 @@ export declare function createFollowUpContract(previousContractId: number): Prom routerModel: string | null; installationDate: Date | null; internetUsername: string | null; - internetPasswordEncrypted: string | null; }) | null; mobileDetails: ({ simCards: { + pin: string | null; + puk: string | null; id: number; createdAt: Date; updatedAt: Date; simCardNumber: string | null; phoneNumber: string | null; isMain: boolean; - pin: string | null; - puk: string | null; isMultisim: boolean; mobileDetailsId: number; }[]; @@ -1787,13 +1787,13 @@ export declare function createFollowUpContract(previousContractId: number): Prom previousInsurer: string | null; } | null; } & { + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; diff --git a/backend/dist/services/contract.service.d.ts.map b/backend/dist/services/contract.service.d.ts.map index 8e638857..97020780 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 f7f43ebe..94b222e5 100644 --- a/backend/dist/services/contract.service.js +++ b/backend/dist/services/contract.service.js @@ -1,4 +1,7 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllContracts = getAllContracts; exports.getContractById = getContractById; @@ -12,9 +15,9 @@ exports.getInternetCredentials = getInternetCredentials; exports.getSipCredentials = getSipCredentials; exports.getContractTreeForCustomer = getContractTreeForCustomer; const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const helpers_js_1 = require("../utils/helpers.js"); const encryption_js_1 = require("../utils/encryption.js"); -const prisma = new client_1.PrismaClient(); async function getAllContracts(filters) { const { customerId, customerIds, type, status, search, page = 1, limit = 20 } = filters; const { skip, take } = (0, helpers_js_1.paginate)(page, limit); @@ -72,7 +75,7 @@ async function getAllContracts(filters) { ]; } const [contracts, total] = await Promise.all([ - prisma.contract.findMany({ + prisma_js_1.default.contract.findMany({ where, skip, take, @@ -97,7 +100,7 @@ async function getAllContracts(filters) { contractCategory: true, }, }), - prisma.contract.count({ where }), + prisma_js_1.default.contract.count({ where }), ]); return { contracts, @@ -105,7 +108,7 @@ async function getAllContracts(filters) { }; } async function getContractById(id, decryptPassword = false) { - const contract = await prisma.contract.findUnique({ + const contract = await prisma_js_1.default.contract.findUnique({ where: { id }, include: { customer: true, @@ -159,7 +162,7 @@ async function createContract(data) { const portalPasswordEncrypted = portalPassword ? (0, encryption_js_1.encrypt)(portalPassword) : undefined; - const contract = await prisma.contract.create({ + const contract = await prisma_js_1.default.contract.create({ data: { ...contractData, contractNumber: (0, helpers_js_1.generateContractNumber)(data.type), @@ -255,7 +258,7 @@ async function updateContract(id, data) { ? (0, encryption_js_1.encrypt)(portalPassword) : undefined; // Update main contract - await prisma.contract.update({ + await prisma_js_1.default.contract.update({ where: { id }, data: { ...contractData, @@ -264,11 +267,11 @@ async function updateContract(id, data) { }); // Update type-specific details if (energyDetails) { - const existingEcd = await prisma.energyContractDetails.findUnique({ + const existingEcd = await prisma_js_1.default.energyContractDetails.findUnique({ where: { contractId: id }, select: { id: true, meterId: true }, }); - await prisma.energyContractDetails.upsert({ + await prisma_js_1.default.energyContractDetails.upsert({ where: { contractId: id }, update: energyDetails, create: { contractId: id, ...energyDetails }, @@ -279,16 +282,16 @@ async function updateContract(id, data) { const newMeterId = energyDetails.meterId; if (oldMeterId !== newMeterId) { // Alle alten ContractMeter-Einträge entfernen - await prisma.contractMeter.deleteMany({ + await prisma_js_1.default.contractMeter.deleteMany({ where: { energyContractDetailsId: existingEcd.id }, }); // Neuen ContractMeter-Eintrag erstellen (wenn ein Zähler gesetzt) if (newMeterId) { - const contract = await prisma.contract.findUnique({ + const contract = await prisma_js_1.default.contract.findUnique({ where: { id }, select: { startDate: true }, }); - await prisma.contractMeter.create({ + await prisma_js_1.default.contractMeter.create({ data: { energyContractDetailsId: existingEcd.id, meterId: newMeterId, @@ -302,7 +305,7 @@ async function updateContract(id, data) { } if (internetDetails) { const { phoneNumbers, internetPassword, ...internetData } = internetDetails; - const existing = await prisma.internetContractDetails.findUnique({ + const existing = await prisma_js_1.default.internetContractDetails.findUnique({ where: { contractId: id }, include: { phoneNumbers: true }, }); @@ -322,7 +325,7 @@ async function updateContract(id, data) { activationCode: internetData.activationCode, }; if (existing) { - await prisma.internetContractDetails.update({ + await prisma_js_1.default.internetContractDetails.update({ where: { contractId: id }, data: preparedInternetData, }); @@ -330,11 +333,11 @@ async function updateContract(id, data) { // Get existing phone numbers for preserving encrypted passwords const existingPhoneNumbers = existing.phoneNumbers || []; // Delete all existing phone numbers - await prisma.phoneNumber.deleteMany({ + await prisma_js_1.default.phoneNumber.deleteMany({ where: { internetContractDetailsId: existing.id }, }); // Create new phone numbers with encryption - await prisma.phoneNumber.createMany({ + await prisma_js_1.default.phoneNumber.createMany({ data: phoneNumbers.map((pn) => { // Find existing entry to preserve sipPassword if not changed const existingPn = pn.id @@ -356,7 +359,7 @@ async function updateContract(id, data) { } } else { - await prisma.internetContractDetails.create({ + await prisma_js_1.default.internetContractDetails.create({ data: { contractId: id, ...preparedInternetData, @@ -382,26 +385,26 @@ async function updateContract(id, data) { } if (mobileDetails) { const { simCards, ...mobileData } = mobileDetails; - const existing = await prisma.mobileContractDetails.findUnique({ + const existing = await prisma_js_1.default.mobileContractDetails.findUnique({ where: { contractId: id }, }); if (existing) { - await prisma.mobileContractDetails.update({ + await prisma_js_1.default.mobileContractDetails.update({ where: { contractId: id }, data: mobileData, }); if (simCards) { // Get existing sim cards to preserve PIN/PUK if not provided - const existingSimCards = await prisma.simCard.findMany({ + const existingSimCards = await prisma_js_1.default.simCard.findMany({ where: { mobileDetailsId: existing.id }, }); const existingSimCardMap = new Map(existingSimCards.map(sc => [sc.id, sc])); // Delete existing sim cards - await prisma.simCard.deleteMany({ + await prisma_js_1.default.simCard.deleteMany({ where: { mobileDetailsId: existing.id }, }); // Create new sim cards, preserving PIN/PUK if not provided - await prisma.simCard.createMany({ + await prisma_js_1.default.simCard.createMany({ data: simCards.map((sc) => { const existingSc = sc.id ? existingSimCardMap.get(sc.id) : undefined; return { @@ -419,7 +422,7 @@ async function updateContract(id, data) { } } else { - await prisma.mobileContractDetails.create({ + await prisma_js_1.default.mobileContractDetails.create({ data: { contractId: id, ...mobileData, @@ -440,14 +443,14 @@ async function updateContract(id, data) { } } if (tvDetails) { - await prisma.tvContractDetails.upsert({ + await prisma_js_1.default.tvContractDetails.upsert({ where: { contractId: id }, update: tvDetails, create: { contractId: id, ...tvDetails }, }); } if (carInsuranceDetails) { - await prisma.carInsuranceDetails.upsert({ + await prisma_js_1.default.carInsuranceDetails.upsert({ where: { contractId: id }, update: carInsuranceDetails, create: { contractId: id, ...carInsuranceDetails }, @@ -459,17 +462,17 @@ async function deleteContract(id) { // Vertragskette erhalten beim Löschen: // Wenn A → B → C und B gelöscht wird, soll C direkt auf A zeigen (A → C) // 1. Zu löschenden Vertrag holen um dessen Vorgänger zu kennen - const contractToDelete = await prisma.contract.findUnique({ + const contractToDelete = await prisma_js_1.default.contract.findUnique({ where: { id }, select: { previousContractId: true }, }); // 2. Folgevertrag(e) mit dem Vorgänger des gelöschten Vertrags verbinden // So bleibt die Kette erhalten: A → B → C wird zu A → C - await prisma.contract.updateMany({ + await prisma_js_1.default.contract.updateMany({ where: { previousContractId: id }, data: { previousContractId: contractToDelete?.previousContractId ?? null }, }); - return prisma.contract.delete({ where: { id } }); + return prisma_js_1.default.contract.delete({ where: { id } }); } async function createFollowUpContract(previousContractId) { const previousContract = await getContractById(previousContractId); @@ -477,7 +480,7 @@ async function createFollowUpContract(previousContractId) { throw new Error('Vorgängervertrag nicht gefunden'); } // Prüfen ob bereits ein Folgevertrag existiert - const existingFollowUp = await prisma.contract.findFirst({ + const existingFollowUp = await prisma_js_1.default.contract.findFirst({ where: { previousContractId }, select: { id: true, contractNumber: true }, }); @@ -568,7 +571,7 @@ async function createFollowUpContract(previousContractId) { } // Decrypt password for viewing async function getContractPassword(id) { - const contract = await prisma.contract.findUnique({ + const contract = await prisma_js_1.default.contract.findUnique({ where: { id }, select: { portalPasswordEncrypted: true }, }); @@ -583,7 +586,7 @@ async function getContractPassword(id) { } // Decrypt SimCard PIN/PUK async function getSimCardCredentials(simCardId) { - const simCard = await prisma.simCard.findUnique({ + const simCard = await prisma_js_1.default.simCard.findUnique({ where: { id: simCardId }, select: { pin: true, puk: true }, }); @@ -601,7 +604,7 @@ async function getSimCardCredentials(simCardId) { } // Decrypt Internet password async function getInternetCredentials(contractId) { - const internetDetails = await prisma.internetContractDetails.findUnique({ + const internetDetails = await prisma_js_1.default.internetContractDetails.findUnique({ where: { contractId }, select: { internetPasswordEncrypted: true }, }); @@ -618,7 +621,7 @@ async function getInternetCredentials(contractId) { } // Decrypt SIP password for a phone number async function getSipCredentials(phoneNumberId) { - const phoneNumber = await prisma.phoneNumber.findUnique({ + const phoneNumber = await prisma_js_1.default.phoneNumber.findUnique({ where: { id: phoneNumberId }, select: { sipPasswordEncrypted: true }, }); @@ -640,7 +643,7 @@ async function getSipCredentials(phoneNumberId) { */ async function getContractTreeForCustomer(customerId) { // Alle Verträge des Kunden laden (außer DEACTIVATED) - const allContracts = await prisma.contract.findMany({ + const allContracts = await prisma_js_1.default.contract.findMany({ where: { customerId, status: { not: client_1.ContractStatus.DEACTIVATED }, diff --git a/backend/dist/services/contract.service.js.map b/backend/dist/services/contract.service.js.map index 4da3feee..4cd8df9f 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/contractCategory.service.d.ts.map b/backend/dist/services/contractCategory.service.d.ts.map index 4f3098b6..befb4c96 100644 --- a/backend/dist/services/contractCategory.service.d.ts.map +++ b/backend/dist/services/contractCategory.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contractCategory.service.d.ts","sourceRoot":"","sources":["../../src/services/contractCategory.service.ts"],"names":[],"mappings":"AAIA,wBAAsB,wBAAwB,CAAC,eAAe,UAAQ;;;;;;;;;;;;;;MAUrE;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;WASvD;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;UAI3D;AAED,UAAU,0BAA0B;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,0BAA0B;;;;;;;;;;;;;;GAS5E;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC;;;;;;;;;;;;;;GAUjG;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;GAYtD"} \ No newline at end of file +{"version":3,"file":"contractCategory.service.d.ts","sourceRoot":"","sources":["../../src/services/contractCategory.service.ts"],"names":[],"mappings":"AAEA,wBAAsB,wBAAwB,CAAC,eAAe,UAAQ;;;;;;;;;;;;;;MAUrE;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;WASvD;AAED,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;UAI3D;AAED,UAAU,0BAA0B;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,0BAA0B;;;;;;;;;;;;;;GAS5E;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,0BAA0B,CAAC;;;;;;;;;;;;;;GAUjG;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;GAYtD"} \ No newline at end of file diff --git a/backend/dist/services/contractCategory.service.js b/backend/dist/services/contractCategory.service.js index b95b79ff..7df716f9 100644 --- a/backend/dist/services/contractCategory.service.js +++ b/backend/dist/services/contractCategory.service.js @@ -1,4 +1,7 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllContractCategories = getAllContractCategories; exports.getContractCategoryById = getContractCategoryById; @@ -6,10 +9,9 @@ exports.getContractCategoryByCode = getContractCategoryByCode; exports.createContractCategory = createContractCategory; exports.updateContractCategory = updateContractCategory; exports.deleteContractCategory = deleteContractCategory; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getAllContractCategories(includeInactive = false) { - return prisma.contractCategory.findMany({ + return prisma_js_1.default.contractCategory.findMany({ where: includeInactive ? {} : { isActive: true }, orderBy: [{ sortOrder: 'asc' }, { name: 'asc' }], include: { @@ -20,7 +22,7 @@ async function getAllContractCategories(includeInactive = false) { }); } async function getContractCategoryById(id) { - return prisma.contractCategory.findUnique({ + return prisma_js_1.default.contractCategory.findUnique({ where: { id }, include: { _count: { @@ -30,12 +32,12 @@ async function getContractCategoryById(id) { }); } async function getContractCategoryByCode(code) { - return prisma.contractCategory.findUnique({ + return prisma_js_1.default.contractCategory.findUnique({ where: { code }, }); } async function createContractCategory(data) { - return prisma.contractCategory.create({ + return prisma_js_1.default.contractCategory.create({ data, include: { _count: { @@ -45,7 +47,7 @@ async function createContractCategory(data) { }); } async function updateContractCategory(id, data) { - return prisma.contractCategory.update({ + return prisma_js_1.default.contractCategory.update({ where: { id }, data, include: { @@ -57,13 +59,13 @@ async function updateContractCategory(id, data) { } async function deleteContractCategory(id) { // Check if category has contracts - const category = await prisma.contractCategory.findUnique({ + const category = await prisma_js_1.default.contractCategory.findUnique({ where: { id }, include: { _count: { select: { contracts: true } } }, }); if (category && category._count.contracts > 0) { throw new Error(`Kategorie kann nicht gelöscht werden, da ${category._count.contracts} Verträge zugeordnet sind.`); } - return prisma.contractCategory.delete({ where: { id } }); + return prisma_js_1.default.contractCategory.delete({ where: { id } }); } //# sourceMappingURL=contractCategory.service.js.map \ No newline at end of file diff --git a/backend/dist/services/contractCategory.service.js.map b/backend/dist/services/contractCategory.service.js.map index cf9fdcfa..9815b694 100644 --- a/backend/dist/services/contractCategory.service.js.map +++ b/backend/dist/services/contractCategory.service.js.map @@ -1 +1 @@ -{"version":3,"file":"contractCategory.service.js","sourceRoot":"","sources":["../../src/services/contractCategory.service.ts"],"names":[],"mappings":";;AAIA,4DAUC;AAED,0DASC;AAED,8DAIC;AAWD,wDASC;AAED,wDAUC;AAED,wDAYC;AA7ED,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,wBAAwB,CAAC,eAAe,GAAG,KAAK;IACpE,OAAO,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAChD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAAU;IACtD,OAAO,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,IAAY;IAC1D,OAAO,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,IAAI,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAWM,KAAK,UAAU,sBAAsB,CAAC,IAAgC;IAC3E,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAAU,EAAE,IAAyC;IAChG,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAAU;IACrD,kCAAkC;IAClC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxD,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;KACrD,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,CAAC,MAAM,CAAC,SAAS,4BAA4B,CAAC,CAAC;IACrH,CAAC;IAED,OAAO,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file +{"version":3,"file":"contractCategory.service.js","sourceRoot":"","sources":["../../src/services/contractCategory.service.ts"],"names":[],"mappings":";;;;;AAEA,4DAUC;AAED,0DASC;AAED,8DAIC;AAWD,wDASC;AAED,wDAUC;AAED,wDAYC;AA3ED,iEAAsC;AAE/B,KAAK,UAAU,wBAAwB,CAAC,eAAe,GAAG,KAAK;IACpE,OAAO,mBAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QACtC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAChD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,uBAAuB,CAAC,EAAU;IACtD,OAAO,mBAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,IAAY;IAC1D,OAAO,mBAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,IAAI,EAAE;KAChB,CAAC,CAAC;AACL,CAAC;AAWM,KAAK,UAAU,sBAAsB,CAAC,IAAgC;IAC3E,OAAO,mBAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAAU,EAAE,IAAyC;IAChG,OAAO,mBAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;QACJ,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAAU;IACrD,kCAAkC;IAClC,MAAM,QAAQ,GAAG,MAAM,mBAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;QACxD,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE;KACrD,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,4CAA4C,QAAQ,CAAC,MAAM,CAAC,SAAS,4BAA4B,CAAC,CAAC;IACrH,CAAC;IAED,OAAO,mBAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC"} \ No newline at end of file diff --git a/backend/dist/services/contractCockpit.service.d.ts.map b/backend/dist/services/contractCockpit.service.d.ts.map index b7e1df84..095f4076 100644 --- a/backend/dist/services/contractCockpit.service.d.ts.map +++ b/backend/dist/services/contractCockpit.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contractCockpit.service.d.ts","sourceRoot":"","sources":["../../src/services/contractCockpit.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contractCockpit.service.d.ts","sourceRoot":"","sources":["../../src/services/contractCockpit.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/contractCockpit.service.js b/backend/dist/services/contractCockpit.service.js index 99763e61..ac2e0f43 100644 --- a/backend/dist/services/contractCockpit.service.js +++ b/backend/dist/services/contractCockpit.service.js @@ -32,11 +32,13 @@ var __importStar = (this && this.__importStar) || (function () { return result; }; })(); +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCockpitData = getCockpitData; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const appSettingService = __importStar(require("./appSetting.service.js")); -const prisma = new client_1.PrismaClient(); // Hilfsfunktion: Tage bis zu einem Datum berechnen function daysUntil(date) { if (!date) @@ -108,7 +110,7 @@ async function getCockpitData() { const docExpiryCriticalDays = parseInt(settings.documentExpiryCriticalDays) || 30; const docExpiryWarningDays = parseInt(settings.documentExpiryWarningDays) || 90; // Lade alle relevanten Verträge (inkl. CANCELLED/DEACTIVATED für Schlussrechnung-Check) - const contracts = await prisma.contract.findMany({ + const contracts = await prisma_js_1.default.contract.findMany({ where: { status: { in: ['ACTIVE', 'PENDING', 'DRAFT', 'CANCELLED', 'DEACTIVATED', 'EXPIRED'], @@ -197,7 +199,7 @@ async function getCockpitData() { }, }; // Consent-Daten batch-laden für alle Kunden - const allConsents = await prisma.customerConsent.findMany({ + const allConsents = await prisma_js_1.default.customerConsent.findMany({ where: { status: 'GRANTED' }, select: { customerId: true, consentType: true }, }); @@ -210,7 +212,7 @@ async function getCockpitData() { grantedConsentsMap.get(c.customerId).add(c.consentType); } // Widerrufene Consents laden - const withdrawnConsents = await prisma.customerConsent.findMany({ + const withdrawnConsents = await prisma_js_1.default.customerConsent.findMany({ where: { status: 'WITHDRAWN' }, select: { customerId: true, consentType: true }, }); @@ -629,7 +631,7 @@ async function getCockpitData() { async function getDocumentExpiryAlerts(criticalDays, warningDays) { const now = new Date(); const inWarningDays = new Date(now.getTime() + warningDays * 24 * 60 * 60 * 1000); - const documents = await prisma.identityDocument.findMany({ + const documents = await prisma_js_1.default.identityDocument.findMany({ where: { isActive: true, expiryDate: { lte: inWarningDays }, @@ -668,7 +670,7 @@ async function getDocumentExpiryAlerts(criticalDays, warningDays) { * Vom Kunden gemeldete Zählerstände die noch nicht übertragen wurden */ async function getReportedMeterReadings() { - const readings = await prisma.meterReading.findMany({ + const readings = await prisma_js_1.default.meterReading.findMany({ where: { status: 'REPORTED' }, include: { meter: { diff --git a/backend/dist/services/contractCockpit.service.js.map b/backend/dist/services/contractCockpit.service.js.map index e36ab595..9150aca5 100644 --- a/backend/dist/services/contractCockpit.service.js.map +++ b/backend/dist/services/contractCockpit.service.js.map @@ -1 +1 @@ -{"version":3,"file":"contractCockpit.service.js","sourceRoot":"","sources":["../../src/services/contractCockpit.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contractCockpit.service.js","sourceRoot":"","sources":["../../src/services/contractCockpit.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/contractTask.service.d.ts.map b/backend/dist/services/contractTask.service.d.ts.map index ce014d18..4e1a79ee 100644 --- a/backend/dist/services/contractTask.service.d.ts.map +++ b/backend/dist/services/contractTask.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contractTask.service.d.ts","sourceRoot":"","sources":["../../src/services/contractTask.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIlE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;MAgCpE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;UAI3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;;GAUA;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;;;;;;;;;;;GAMF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;GAQ5C;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;GAQ1C;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;GAI1C;AAID,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;GAQ9F;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;GAKvE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GA8B/C;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GA0B7C;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GAI7C;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;WAK9C;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoEzD;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe;;GA6B1D"} \ No newline at end of file +{"version":3,"file":"contractTask.service.d.ts","sourceRoot":"","sources":["../../src/services/contractTask.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;MAgCpE;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;UAI3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;;;;;;;;;;GAUA;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;;;;;;;;;;;GAMF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;GAQ5C;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;GAQ1C;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;GAI1C;AAID,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;GAQ9F;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;GAKvE;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GA8B/C;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GA0B7C;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GAI7C;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;WAK9C;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoEzD;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,eAAe;;GA6B1D"} \ No newline at end of file diff --git a/backend/dist/services/contractTask.service.js b/backend/dist/services/contractTask.service.js index c56d85fe..2286fbd5 100644 --- a/backend/dist/services/contractTask.service.js +++ b/backend/dist/services/contractTask.service.js @@ -1,4 +1,7 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTasksByContract = getTasksByContract; exports.getTaskById = getTaskById; @@ -15,8 +18,7 @@ exports.deleteSubtask = deleteSubtask; exports.getSubtaskById = getSubtaskById; exports.getAllTasks = getAllTasks; exports.getTaskStats = getTaskStats; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getTasksByContract(filters) { // eslint-disable-next-line @typescript-eslint/no-explicit-any const where = { @@ -38,7 +40,7 @@ async function getTasksByContract(filters) { else if (filters.visibleInPortal !== undefined) { where.visibleInPortal = filters.visibleInPortal; } - return prisma.contractTask.findMany({ + return prisma_js_1.default.contractTask.findMany({ where, include: { subtasks: { @@ -49,12 +51,12 @@ async function getTasksByContract(filters) { }); } async function getTaskById(id) { - return prisma.contractTask.findUnique({ + return prisma_js_1.default.contractTask.findUnique({ where: { id }, }); } async function createTask(data) { - return prisma.contractTask.create({ + return prisma_js_1.default.contractTask.create({ data: { contractId: data.contractId, title: data.title, @@ -65,13 +67,13 @@ async function createTask(data) { }); } async function updateTask(id, data) { - return prisma.contractTask.update({ + return prisma_js_1.default.contractTask.update({ where: { id }, data, }); } async function completeTask(id) { - return prisma.contractTask.update({ + return prisma_js_1.default.contractTask.update({ where: { id }, data: { status: 'COMPLETED', @@ -80,7 +82,7 @@ async function completeTask(id) { }); } async function reopenTask(id) { - return prisma.contractTask.update({ + return prisma_js_1.default.contractTask.update({ where: { id }, data: { status: 'OPEN', @@ -89,13 +91,13 @@ async function reopenTask(id) { }); } async function deleteTask(id) { - return prisma.contractTask.delete({ + return prisma_js_1.default.contractTask.delete({ where: { id }, }); } // ==================== SUBTASKS ==================== async function createSubtask(data) { - return prisma.contractTaskSubtask.create({ + return prisma_js_1.default.contractTaskSubtask.create({ data: { taskId: data.taskId, title: data.title, @@ -104,14 +106,14 @@ async function createSubtask(data) { }); } async function updateSubtask(id, data) { - return prisma.contractTaskSubtask.update({ + return prisma_js_1.default.contractTaskSubtask.update({ where: { id }, data, }); } async function completeSubtask(id) { // Complete the subtask - const subtask = await prisma.contractTaskSubtask.update({ + const subtask = await prisma_js_1.default.contractTaskSubtask.update({ where: { id }, data: { status: 'COMPLETED', @@ -119,7 +121,7 @@ async function completeSubtask(id) { }, }); // Check if all subtasks of the parent task are now completed - const remainingOpenSubtasks = await prisma.contractTaskSubtask.count({ + const remainingOpenSubtasks = await prisma_js_1.default.contractTaskSubtask.count({ where: { taskId: subtask.taskId, status: 'OPEN', @@ -127,7 +129,7 @@ async function completeSubtask(id) { }); // If no open subtasks remain, automatically complete the parent task if (remainingOpenSubtasks === 0) { - await prisma.contractTask.update({ + await prisma_js_1.default.contractTask.update({ where: { id: subtask.taskId }, data: { status: 'COMPLETED', @@ -139,7 +141,7 @@ async function completeSubtask(id) { } async function reopenSubtask(id) { // Reopen the subtask - const subtask = await prisma.contractTaskSubtask.update({ + const subtask = await prisma_js_1.default.contractTaskSubtask.update({ where: { id }, data: { status: 'OPEN', @@ -147,11 +149,11 @@ async function reopenSubtask(id) { }, }); // If the parent task was completed, reopen it as well - const parentTask = await prisma.contractTask.findUnique({ + const parentTask = await prisma_js_1.default.contractTask.findUnique({ where: { id: subtask.taskId }, }); if (parentTask?.status === 'COMPLETED') { - await prisma.contractTask.update({ + await prisma_js_1.default.contractTask.update({ where: { id: subtask.taskId }, data: { status: 'OPEN', @@ -162,12 +164,12 @@ async function reopenSubtask(id) { return subtask; } async function deleteSubtask(id) { - return prisma.contractTaskSubtask.delete({ + return prisma_js_1.default.contractTaskSubtask.delete({ where: { id }, }); } async function getSubtaskById(id) { - return prisma.contractTaskSubtask.findUnique({ + return prisma_js_1.default.contractTaskSubtask.findUnique({ where: { id }, include: { task: true }, }); @@ -200,7 +202,7 @@ async function getAllTasks(filters) { customerId: filters.customerId, }; } - return prisma.contractTask.findMany({ + return prisma_js_1.default.contractTask.findMany({ where, include: { subtasks: { @@ -266,7 +268,7 @@ async function getTaskStats(filters) { customerId: filters.customerId, }; } - const openCount = await prisma.contractTask.count({ where }); + const openCount = await prisma_js_1.default.contractTask.count({ where }); return { openCount }; } //# sourceMappingURL=contractTask.service.js.map \ No newline at end of file diff --git a/backend/dist/services/contractTask.service.js.map b/backend/dist/services/contractTask.service.js.map index 3f95199f..4c843793 100644 --- a/backend/dist/services/contractTask.service.js.map +++ b/backend/dist/services/contractTask.service.js.map @@ -1 +1 @@ -{"version":3,"file":"contractTask.service.js","sourceRoot":"","sources":["../../src/services/contractTask.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contractTask.service.js","sourceRoot":"","sources":["../../src/services/contractTask.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 68b2c8d5..b3a406c5 100644 --- a/backend/dist/services/customer.service.d.ts +++ b/backend/dist/services/customer.service.d.ts @@ -24,6 +24,8 @@ export declare function getAllCustomers(filters: CustomerFilters): Promise<{ contracts: number; }; } & { + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -48,8 +50,6 @@ export declare function getAllCustomers(filters: CustomerFilters): Promise<{ privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; })[]; pagination: { @@ -103,13 +103,13 @@ export declare function getCustomerById(id: number): Promise<({ }[]; meters: ({ readings: { + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -128,6 +128,7 @@ export declare function getCustomerById(id: number): Promise<({ location: string | null; })[]; stressfreiEmails: { + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -140,7 +141,6 @@ export declare function getCustomerById(id: number): Promise<({ isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; }[]; contracts: ({ address: { @@ -165,13 +165,13 @@ export declare function getCustomerById(id: number): Promise<({ contactInfo: string | null; } | null; } & { + portalPasswordEncrypted: string | null; id: number; customerId: number; createdAt: Date; updatedAt: Date; type: import(".prisma/client").$Enums.ContractType; notes: string | null; - portalPasswordEncrypted: string | null; startDate: Date | null; contractNumber: string; status: import(".prisma/client").$Enums.ContractStatus; @@ -210,6 +210,8 @@ export declare function getCustomerById(id: number): Promise<({ nextReviewDate: Date | null; })[]; } & { + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -234,8 +236,6 @@ export declare function getCustomerById(id: number): Promise<({ privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }) | null>; export declare function getCustomersByIds(ids: number[]): Promise<{ @@ -258,6 +258,8 @@ export declare function createCustomer(data: { commercialRegister?: string; notes?: string; }): Promise<{ + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -282,8 +284,6 @@ export declare function createCustomer(data: { privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }>; export declare function updateCustomer(id: number, data: { @@ -302,6 +302,8 @@ export declare function updateCustomer(id: number, data: { commercialRegister?: string; notes?: string; }): Promise<{ + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -326,11 +328,11 @@ export declare function updateCustomer(id: number, data: { privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }>; export declare function deleteCustomer(id: number): Promise<{ + portalPasswordHash: string | null; + portalPasswordEncrypted: string | null; id: number; email: string | null; firstName: string; @@ -355,8 +357,6 @@ export declare function deleteCustomer(id: number): Promise<{ privacyPolicyPath: string | null; notes: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; - portalPasswordEncrypted: string | null; portalLastLogin: Date | null; }>; export declare function getCustomerAddresses(customerId: number): Promise<{ @@ -571,13 +571,13 @@ export declare function deleteDocument(id: number): Promise<{ }>; export declare function getCustomerMeters(customerId: number, showInactive?: boolean): Promise<({ readings: { + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -644,13 +644,13 @@ export declare function addMeterReading(meterId: number, data: { unit?: string; notes?: string; }): Promise<{ + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -658,13 +658,13 @@ export declare function addMeterReading(meterId: number, data: { transferredBy: string | null; }>; export declare function getMeterReadings(meterId: number): Promise<{ + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -678,13 +678,13 @@ export declare function updateMeterReading(meterId: number, readingId: number, d unit?: string; notes?: string; }): Promise<{ + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -692,13 +692,13 @@ export declare function updateMeterReading(meterId: number, readingId: number, d transferredBy: string | null; }>; export declare function deleteMeterReading(meterId: number, readingId: number): Promise<{ + value: number; id: number; createdAt: Date; notes: string | null; readingDate: Date; meterId: number; status: import(".prisma/client").$Enums.MeterReadingStatus; - value: number; valueNt: number | null; unit: string; reportedBy: string | null; @@ -715,10 +715,10 @@ export declare function updatePortalSettings(customerId: number, data: { portalLastLogin: Date | null; }>; export declare function getPortalSettings(customerId: number): Promise<{ + portalPasswordHash: string | null; id: number; portalEmail: string | null; portalEnabled: boolean; - portalPasswordHash: string | null; portalLastLogin: Date | null; } | null>; export declare function getCustomerRepresentatives(customerId: number): Promise<({ diff --git a/backend/dist/services/customer.service.d.ts.map b/backend/dist/services/customer.service.d.ts.map index 4d64b272..b3ec452f 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/dist/services/customer.service.js b/backend/dist/services/customer.service.js index 02c95678..1287b5ec 100644 --- a/backend/dist/services/customer.service.js +++ b/backend/dist/services/customer.service.js @@ -37,10 +37,10 @@ exports.addRepresentative = addRepresentative; exports.removeRepresentative = removeRepresentative; exports.searchCustomersForRepresentative = searchCustomersForRepresentative; const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const helpers_js_1 = require("../utils/helpers.js"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); -const prisma = new client_1.PrismaClient(); // Helper zum Löschen von Dateien function deleteFileIfExists(filePath) { if (!filePath) @@ -72,7 +72,7 @@ async function getAllCustomers(filters) { ]; } const [customers, total] = await Promise.all([ - prisma.customer.findMany({ + prisma_js_1.default.customer.findMany({ where, skip, take, @@ -84,7 +84,7 @@ async function getAllCustomers(filters) { }, }, }), - prisma.customer.count({ where }), + prisma_js_1.default.customer.count({ where }), ]); return { customers, @@ -92,7 +92,7 @@ async function getAllCustomers(filters) { }; } async function getCustomerById(id) { - return prisma.customer.findUnique({ + return prisma_js_1.default.customer.findUnique({ where: { id }, include: { addresses: true, @@ -122,7 +122,7 @@ async function getCustomerById(id) { }); } async function getCustomersByIds(ids) { - return prisma.customer.findMany({ + return prisma_js_1.default.customer.findMany({ where: { id: { in: ids } }, select: { id: true, @@ -131,7 +131,7 @@ async function getCustomersByIds(ids) { }); } async function createCustomer(data) { - return prisma.customer.create({ + return prisma_js_1.default.customer.create({ data: { ...data, customerNumber: (0, helpers_js_1.generateCustomerNumber)(), @@ -139,22 +139,22 @@ async function createCustomer(data) { }); } async function updateCustomer(id, data) { - return prisma.customer.update({ + return prisma_js_1.default.customer.update({ where: { id }, data, }); } async function deleteCustomer(id) { // Vor dem Löschen: Alle Dokumente (Dateien) des Kunden löschen - const customer = await prisma.customer.findUnique({ + const customer = await prisma_js_1.default.customer.findUnique({ where: { id }, select: { businessRegistrationPath: true, commercialRegisterPath: true, privacyPolicyPath: true }, }); - const bankCards = await prisma.bankCard.findMany({ + const bankCards = await prisma_js_1.default.bankCard.findMany({ where: { customerId: id }, select: { documentPath: true }, }); - const identityDocs = await prisma.identityDocument.findMany({ + const identityDocs = await prisma_js_1.default.identityDocument.findMany({ where: { customerId: id }, select: { documentPath: true }, }); @@ -172,13 +172,13 @@ async function deleteCustomer(id) { deleteFileIfExists(doc.documentPath); } // Jetzt DB-Eintrag löschen (Cascade löscht die verknüpften Einträge) - return prisma.customer.delete({ + return prisma_js_1.default.customer.delete({ where: { id }, }); } // Address operations async function getCustomerAddresses(customerId) { - return prisma.address.findMany({ + return prisma_js_1.default.address.findMany({ where: { customerId }, orderBy: [{ isDefault: 'desc' }, { createdAt: 'desc' }], }); @@ -186,12 +186,12 @@ async function getCustomerAddresses(customerId) { async function createAddress(customerId, data) { // If this is set as default, unset other defaults of same type if (data.isDefault) { - await prisma.address.updateMany({ + await prisma_js_1.default.address.updateMany({ where: { customerId, type: data.type }, data: { isDefault: false }, }); } - return prisma.address.create({ + return prisma_js_1.default.address.create({ data: { customerId, ...data, @@ -199,11 +199,11 @@ async function createAddress(customerId, data) { }); } async function updateAddress(id, data) { - const address = await prisma.address.findUnique({ where: { id } }); + const address = await prisma_js_1.default.address.findUnique({ where: { id } }); if (!address) throw new Error('Adresse nicht gefunden'); if (data.isDefault) { - await prisma.address.updateMany({ + await prisma_js_1.default.address.updateMany({ where: { customerId: address.customerId, type: data.type || address.type, @@ -212,13 +212,13 @@ async function updateAddress(id, data) { data: { isDefault: false }, }); } - return prisma.address.update({ + return prisma_js_1.default.address.update({ where: { id }, data, }); } async function deleteAddress(id) { - return prisma.address.delete({ where: { id } }); + return prisma_js_1.default.address.delete({ where: { id } }); } // Bank card operations async function getCustomerBankCards(customerId, showInactive = false) { @@ -226,13 +226,13 @@ async function getCustomerBankCards(customerId, showInactive = false) { if (!showInactive) { where.isActive = true; } - return prisma.bankCard.findMany({ + return prisma_js_1.default.bankCard.findMany({ where, orderBy: [{ isActive: 'desc' }, { createdAt: 'desc' }], }); } async function createBankCard(customerId, data) { - return prisma.bankCard.create({ + return prisma_js_1.default.bankCard.create({ data: { customerId, ...data, @@ -241,18 +241,18 @@ async function createBankCard(customerId, data) { }); } async function updateBankCard(id, data) { - return prisma.bankCard.update({ + return prisma_js_1.default.bankCard.update({ where: { id }, data, }); } async function deleteBankCard(id) { // Erst Datei-Pfad holen, dann Datei löschen, dann DB-Eintrag löschen - const bankCard = await prisma.bankCard.findUnique({ where: { id } }); + const bankCard = await prisma_js_1.default.bankCard.findUnique({ where: { id } }); if (bankCard?.documentPath) { deleteFileIfExists(bankCard.documentPath); } - return prisma.bankCard.delete({ where: { id } }); + return prisma_js_1.default.bankCard.delete({ where: { id } }); } // Identity document operations async function getCustomerDocuments(customerId, showInactive = false) { @@ -260,13 +260,13 @@ async function getCustomerDocuments(customerId, showInactive = false) { if (!showInactive) { where.isActive = true; } - return prisma.identityDocument.findMany({ + return prisma_js_1.default.identityDocument.findMany({ where, orderBy: [{ isActive: 'desc' }, { createdAt: 'desc' }], }); } async function createDocument(customerId, data) { - return prisma.identityDocument.create({ + return prisma_js_1.default.identityDocument.create({ data: { customerId, ...data, @@ -275,18 +275,18 @@ async function createDocument(customerId, data) { }); } async function updateDocument(id, data) { - return prisma.identityDocument.update({ + return prisma_js_1.default.identityDocument.update({ where: { id }, data, }); } async function deleteDocument(id) { // Erst Datei-Pfad holen, dann Datei löschen, dann DB-Eintrag löschen - const document = await prisma.identityDocument.findUnique({ where: { id } }); + const document = await prisma_js_1.default.identityDocument.findUnique({ where: { id } }); if (document?.documentPath) { deleteFileIfExists(document.documentPath); } - return prisma.identityDocument.delete({ where: { id } }); + return prisma_js_1.default.identityDocument.delete({ where: { id } }); } // Meter operations async function getCustomerMeters(customerId, showInactive = false) { @@ -294,7 +294,7 @@ async function getCustomerMeters(customerId, showInactive = false) { if (!showInactive) { where.isActive = true; } - return prisma.meter.findMany({ + return prisma_js_1.default.meter.findMany({ where, include: { readings: { @@ -306,7 +306,7 @@ async function getCustomerMeters(customerId, showInactive = false) { }); } async function createMeter(customerId, data) { - return prisma.meter.create({ + return prisma_js_1.default.meter.create({ data: { customerId, ...data, @@ -315,14 +315,14 @@ async function createMeter(customerId, data) { }); } async function updateMeter(id, data) { - return prisma.meter.update({ + return prisma_js_1.default.meter.update({ where: { id }, data, }); } async function deleteMeter(id) { // Prüfen ob der Zähler noch an Verträgen hängt - const linkedContracts = await prisma.contractMeter.findMany({ + const linkedContracts = await prisma_js_1.default.contractMeter.findMany({ where: { meterId: id }, include: { energyContractDetails: { include: { contract: { select: { contractNumber: true } } } } }, }); @@ -333,7 +333,7 @@ async function deleteMeter(id) { throw new Error(`Zähler kann nicht gelöscht werden – noch an Vertrag/Verträgen zugeordnet: ${contractNumbers}`); } // Auch direkte meterId-Referenz auf EnergyContractDetails prüfen - const directLinks = await prisma.energyContractDetails.findMany({ + const directLinks = await prisma_js_1.default.energyContractDetails.findMany({ where: { meterId: id }, include: { contract: { select: { contractNumber: true } } }, }); @@ -341,7 +341,7 @@ async function deleteMeter(id) { const contractNumbers = directLinks.map(d => d.contract.contractNumber).join(', '); throw new Error(`Zähler kann nicht gelöscht werden – noch an Vertrag/Verträgen zugeordnet: ${contractNumbers}`); } - return prisma.meter.delete({ where: { id } }); + return prisma_js_1.default.meter.delete({ where: { id } }); } async function addMeterReading(meterId, data) { // Validierung: Zählerstand muss monoton steigend sein @@ -349,7 +349,7 @@ async function addMeterReading(meterId, data) { if (data.valueNt !== undefined) { await validateReadingValue(meterId, data.readingDate, data.valueNt, undefined, 'NT'); } - return prisma.meterReading.create({ + return prisma_js_1.default.meterReading.create({ data: { meterId, readingDate: data.readingDate, @@ -361,14 +361,14 @@ async function addMeterReading(meterId, data) { }); } async function getMeterReadings(meterId) { - return prisma.meterReading.findMany({ + return prisma_js_1.default.meterReading.findMany({ where: { meterId }, orderBy: { readingDate: 'desc' }, }); } async function updateMeterReading(meterId, readingId, data) { // Verify the reading belongs to the meter - const reading = await prisma.meterReading.findFirst({ + const reading = await prisma_js_1.default.meterReading.findFirst({ where: { id: readingId, meterId }, }); if (!reading) { @@ -384,7 +384,7 @@ async function updateMeterReading(meterId, readingId, data) { await validateReadingValue(meterId, data.readingDate || reading.readingDate, ntVal, readingId, 'NT'); } } - return prisma.meterReading.update({ + return prisma_js_1.default.meterReading.update({ where: { id: readingId }, data, }); @@ -394,7 +394,7 @@ async function updateMeterReading(meterId, readingId, data) { * tariffLabel: 'HT' für Hochtarif/Eintarif, 'NT' für Niedertarif */ async function validateReadingValue(meterId, readingDate, value, excludeReadingId, tariffLabel = 'HT') { - const existing = await prisma.meterReading.findMany({ + const existing = await prisma_js_1.default.meterReading.findMany({ where: { meterId, ...(excludeReadingId ? { id: { not: excludeReadingId } } : {}) }, orderBy: { readingDate: 'asc' }, }); @@ -416,20 +416,20 @@ async function validateReadingValue(meterId, readingDate, value, excludeReadingI } async function deleteMeterReading(meterId, readingId) { // Verify the reading belongs to the meter - const reading = await prisma.meterReading.findFirst({ + const reading = await prisma_js_1.default.meterReading.findFirst({ where: { id: readingId, meterId }, }); if (!reading) { throw new Error('Zählerstand nicht gefunden'); } - return prisma.meterReading.delete({ + return prisma_js_1.default.meterReading.delete({ where: { id: readingId }, }); } // ==================== PORTAL SETTINGS ==================== async function updatePortalSettings(customerId, data) { // Wenn Portal deaktiviert wird, Passwort-Hash nicht löschen (für spätere Reaktivierung) - return prisma.customer.update({ + return prisma_js_1.default.customer.update({ where: { id: customerId }, data: { portalEnabled: data.portalEnabled, @@ -444,7 +444,7 @@ async function updatePortalSettings(customerId, data) { }); } async function getPortalSettings(customerId) { - return prisma.customer.findUnique({ + return prisma_js_1.default.customer.findUnique({ where: { id: customerId }, select: { id: true, @@ -458,7 +458,7 @@ async function getPortalSettings(customerId) { // ==================== REPRESENTATIVE MANAGEMENT ==================== async function getCustomerRepresentatives(customerId) { // Holt alle Kunden, die der angegebene Kunde vertreten kann (dieser ist der Vertreter) - return prisma.customerRepresentative.findMany({ + return prisma_js_1.default.customerRepresentative.findMany({ where: { representativeId: customerId, isActive: true }, include: { customer: { @@ -477,7 +477,7 @@ async function getCustomerRepresentatives(customerId) { } async function getRepresentedByList(customerId) { // Holt alle Kunden, die den angegebenen Kunden vertreten können - return prisma.customerRepresentative.findMany({ + return prisma_js_1.default.customerRepresentative.findMany({ where: { customerId: customerId, isActive: true }, include: { representative: { @@ -499,8 +499,8 @@ representativeId, // Der Kunde, der einsehen darf notes) { // Prüfen, ob beide Kunden existieren const [customer, representative] = await Promise.all([ - prisma.customer.findUnique({ where: { id: customerId } }), - prisma.customer.findUnique({ where: { id: representativeId } }), + prisma_js_1.default.customer.findUnique({ where: { id: customerId } }), + prisma_js_1.default.customer.findUnique({ where: { id: representativeId } }), ]); if (!customer) { throw new Error('Kunde nicht gefunden'); @@ -515,7 +515,7 @@ notes) { if (!representative.portalEnabled) { throw new Error('Der Vertreter-Kunde muss ein aktiviertes Portal-Konto haben'); } - return prisma.customerRepresentative.upsert({ + return prisma_js_1.default.customerRepresentative.upsert({ where: { customerId_representativeId: { customerId, representativeId }, }, @@ -545,7 +545,7 @@ notes) { } async function removeRepresentative(customerId, representativeId) { // Anstatt zu löschen, setzen wir isActive auf false - return prisma.customerRepresentative.update({ + return prisma_js_1.default.customerRepresentative.update({ where: { customerId_representativeId: { customerId, representativeId }, }, @@ -555,7 +555,7 @@ async function removeRepresentative(customerId, representativeId) { async function searchCustomersForRepresentative(search, excludeCustomerId) { // Sucht Kunden, die als Vertreter hinzugefügt werden können // Nur Kunden mit aktiviertem Portal - return prisma.customer.findMany({ + return prisma_js_1.default.customer.findMany({ where: { id: { not: excludeCustomerId }, portalEnabled: true, diff --git a/backend/dist/services/customer.service.js.map b/backend/dist/services/customer.service.js.map index 5be0b783..14f6d592 100644 --- a/backend/dist/services/customer.service.js.map +++ b/backend/dist/services/customer.service.js.map @@ -1 +1 @@ -{"version":3,"file":"customer.service.js","sourceRoot":"","sources":["../../src/services/customer.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"customer.service.js","sourceRoot":"","sources":["../../src/services/customer.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/emailProvider/emailProviderService.d.ts b/backend/dist/services/emailProvider/emailProviderService.d.ts index dea9a219..e48733b2 100644 --- a/backend/dist/services/emailProvider/emailProviderService.d.ts +++ b/backend/dist/services/emailProvider/emailProviderService.d.ts @@ -1,5 +1,6 @@ import { EmailExistsResult, EmailOperationResult, MailEncryption } from './types.js'; export declare function getAllProviderConfigs(): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -8,7 +9,6 @@ export declare function getAllProviderConfigs(): Promise<{ type: import(".prisma/client").$Enums.EmailProviderType; isDefault: boolean; apiUrl: string; - apiKey: string | null; username: string | null; passwordEncrypted: string | null; domain: string; @@ -24,6 +24,7 @@ export declare function getAllProviderConfigs(): Promise<{ systemEmailPasswordEncrypted: string | null; }[]>; export declare function getProviderConfigById(id: number): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -32,7 +33,6 @@ export declare function getProviderConfigById(id: number): Promise<{ type: import(".prisma/client").$Enums.EmailProviderType; isDefault: boolean; apiUrl: string; - apiKey: string | null; username: string | null; passwordEncrypted: string | null; domain: string; @@ -48,6 +48,7 @@ export declare function getProviderConfigById(id: number): Promise<{ systemEmailPasswordEncrypted: string | null; } | null>; export declare function getDefaultProviderConfig(): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -56,7 +57,6 @@ export declare function getDefaultProviderConfig(): Promise<{ type: import(".prisma/client").$Enums.EmailProviderType; isDefault: boolean; apiUrl: string; - apiKey: string | null; username: string | null; passwordEncrypted: string | null; domain: string; @@ -72,6 +72,7 @@ export declare function getDefaultProviderConfig(): Promise<{ systemEmailPasswordEncrypted: string | null; } | null>; export declare function getActiveProviderConfig(): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -80,7 +81,6 @@ export declare function getActiveProviderConfig(): Promise<{ type: import(".prisma/client").$Enums.EmailProviderType; isDefault: boolean; apiUrl: string; - apiKey: string | null; username: string | null; passwordEncrypted: string | null; domain: string; @@ -113,6 +113,7 @@ export interface CreateProviderConfigData { isDefault?: boolean; } export declare function createProviderConfig(data: CreateProviderConfigData): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -121,7 +122,6 @@ export declare function createProviderConfig(data: CreateProviderConfigData): Pr type: import(".prisma/client").$Enums.EmailProviderType; isDefault: boolean; apiUrl: string; - apiKey: string | null; username: string | null; passwordEncrypted: string | null; domain: string; @@ -137,6 +137,7 @@ export declare function createProviderConfig(data: CreateProviderConfigData): Pr systemEmailPasswordEncrypted: string | null; }>; export declare function updateProviderConfig(id: number, data: Partial): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -145,7 +146,6 @@ export declare function updateProviderConfig(id: number, data: Partial; export declare function deleteProviderConfig(id: number): Promise<{ + apiKey: string | null; id: number; isActive: boolean; createdAt: Date; @@ -169,7 +170,6 @@ export declare function deleteProviderConfig(id: number): Promise<{ type: import(".prisma/client").$Enums.EmailProviderType; isDefault: boolean; apiUrl: string; - apiKey: string | null; username: string | null; passwordEncrypted: string | null; domain: string; diff --git a/backend/dist/services/emailProvider/emailProviderService.d.ts.map b/backend/dist/services/emailProvider/emailProviderService.d.ts.map index e9d55492..ed132805 100644 --- a/backend/dist/services/emailProvider/emailProviderService.d.ts.map +++ b/backend/dist/services/emailProvider/emailProviderService.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"emailProviderService.d.ts","sourceRoot":"","sources":["../../../src/services/emailProvider/emailProviderService.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,iBAAiB,EACjB,oBAAoB,EAEpB,cAAc,EACf,MAAM,YAAY,CAAC;AAuBpB,wBAAsB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;KAI1C;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;UAIrD;AAED,wBAAsB,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;UAI7C;AAED,wBAAsB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;UAQ5C;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;GAiCxE;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAmDxC;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;GAIpD;AA+CD,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAQpF;AAGD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,CAAC,CAoC/B;AAGD,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsCpD;AAGD,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAiB/B;AAGD,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAiB/B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA0D5E;AAGD,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAWvF;AAGD,wBAAsB,sBAAsB,CAC1C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAW/B;AAGD,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGhE;AAqED,wBAAsB,sBAAsB,CAAC,OAAO,CAAC,EAAE;IACrD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;QACzC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6BhC;AAID,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAyBxF"} \ No newline at end of file +{"version":3,"file":"emailProviderService.d.ts","sourceRoot":"","sources":["../../../src/services/emailProvider/emailProviderService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/emailProvider/emailProviderService.js b/backend/dist/services/emailProvider/emailProviderService.js index 03b8a9e1..2bbd6964 100644 --- a/backend/dist/services/emailProvider/emailProviderService.js +++ b/backend/dist/services/emailProvider/emailProviderService.js @@ -1,5 +1,8 @@ "use strict"; // ==================== EMAIL PROVIDER SERVICE ==================== +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllProviderConfigs = getAllProviderConfigs; exports.getProviderConfigById = getProviderConfigById; @@ -19,10 +22,9 @@ exports.renameProvisionedEmail = renameProvisionedEmail; exports.getProviderDomain = getProviderDomain; exports.testProviderConnection = testProviderConnection; exports.getSystemEmailCredentials = getSystemEmailCredentials; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../../lib/prisma.js")); const encryption_js_1 = require("../../utils/encryption.js"); const pleskProvider_js_1 = require("./pleskProvider.js"); -const prisma = new client_1.PrismaClient(); // Factory-Funktion um den richtigen Provider zu erstellen function createProvider(config) { switch (config.type) { @@ -40,17 +42,17 @@ function createProvider(config) { } // ==================== CONFIG CRUD ==================== async function getAllProviderConfigs() { - return prisma.emailProviderConfig.findMany({ + return prisma_js_1.default.emailProviderConfig.findMany({ orderBy: [{ isDefault: 'desc' }, { name: 'asc' }], }); } async function getProviderConfigById(id) { - return prisma.emailProviderConfig.findUnique({ + return prisma_js_1.default.emailProviderConfig.findUnique({ where: { id }, }); } async function getDefaultProviderConfig() { - return prisma.emailProviderConfig.findFirst({ + return prisma_js_1.default.emailProviderConfig.findFirst({ where: { isActive: true, isDefault: true }, }); } @@ -59,14 +61,14 @@ async function getActiveProviderConfig() { const defaultProvider = await getDefaultProviderConfig(); if (defaultProvider) return defaultProvider; - return prisma.emailProviderConfig.findFirst({ + return prisma_js_1.default.emailProviderConfig.findFirst({ where: { isActive: true }, }); } async function createProviderConfig(data) { // Falls isDefault=true, alle anderen auf false setzen if (data.isDefault) { - await prisma.emailProviderConfig.updateMany({ + await prisma_js_1.default.emailProviderConfig.updateMany({ where: { isDefault: true }, data: { isDefault: false }, }); @@ -75,7 +77,7 @@ async function createProviderConfig(data) { const { encrypt } = await import('../../utils/encryption.js'); const passwordEncrypted = data.password ? encrypt(data.password) : null; const systemEmailPasswordEncrypted = data.systemEmailPassword ? encrypt(data.systemEmailPassword) : null; - return prisma.emailProviderConfig.create({ + return prisma_js_1.default.emailProviderConfig.create({ data: { name: data.name, type: data.type, @@ -98,7 +100,7 @@ async function createProviderConfig(data) { async function updateProviderConfig(id, data) { // Falls isDefault=true, alle anderen auf false setzen if (data.isDefault) { - await prisma.emailProviderConfig.updateMany({ + await prisma_js_1.default.emailProviderConfig.updateMany({ where: { isDefault: true, id: { not: id } }, data: { isDefault: false }, }); @@ -149,13 +151,13 @@ async function updateProviderConfig(id, data) { // System-E-Mail wird gelöscht → Passwort auch löschen updateData.systemEmailPasswordEncrypted = null; } - return prisma.emailProviderConfig.update({ + return prisma_js_1.default.emailProviderConfig.update({ where: { id }, data: updateData, }); } async function deleteProviderConfig(id) { - return prisma.emailProviderConfig.delete({ + return prisma_js_1.default.emailProviderConfig.delete({ where: { id }, }); } diff --git a/backend/dist/services/emailProvider/emailProviderService.js.map b/backend/dist/services/emailProvider/emailProviderService.js.map index 81ab509b..044d9206 100644 --- a/backend/dist/services/emailProvider/emailProviderService.js.map +++ b/backend/dist/services/emailProvider/emailProviderService.js.map @@ -1 +1 @@ -{"version":3,"file":"emailProviderService.js","sourceRoot":"","sources":["../../../src/services/emailProvider/emailProviderService.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"emailProviderService.js","sourceRoot":"","sources":["../../../src/services/emailProvider/emailProviderService.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/platform.service.d.ts.map b/backend/dist/services/platform.service.d.ts.map index 6cf1cd77..2763523e 100644 --- a/backend/dist/services/platform.service.d.ts.map +++ b/backend/dist/services/platform.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"platform.service.d.ts","sourceRoot":"","sources":["../../src/services/platform.service.ts"],"names":[],"mappings":"AAIA,wBAAsB,eAAe,CAAC,eAAe,UAAQ;;;;;;;KAM5D;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;WAS/C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;;;GAOA;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;GAa9C"} \ No newline at end of file +{"version":3,"file":"platform.service.d.ts","sourceRoot":"","sources":["../../src/services/platform.service.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,eAAe,UAAQ;;;;;;;KAM5D;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;WAS/C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;;;;;;GAOA;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;GAa9C"} \ No newline at end of file diff --git a/backend/dist/services/platform.service.js b/backend/dist/services/platform.service.js index 73a62614..199bf6ca 100644 --- a/backend/dist/services/platform.service.js +++ b/backend/dist/services/platform.service.js @@ -1,21 +1,23 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllPlatforms = getAllPlatforms; exports.getPlatformById = getPlatformById; exports.createPlatform = createPlatform; exports.updatePlatform = updatePlatform; exports.deletePlatform = deletePlatform; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getAllPlatforms(includeInactive = false) { const where = includeInactive ? {} : { isActive: true }; - return prisma.salesPlatform.findMany({ + return prisma_js_1.default.salesPlatform.findMany({ where, orderBy: { name: 'asc' }, }); } async function getPlatformById(id) { - return prisma.salesPlatform.findUnique({ + return prisma_js_1.default.salesPlatform.findUnique({ where: { id }, include: { _count: { @@ -25,7 +27,7 @@ async function getPlatformById(id) { }); } async function createPlatform(data) { - return prisma.salesPlatform.create({ + return prisma_js_1.default.salesPlatform.create({ data: { ...data, isActive: true, @@ -33,19 +35,19 @@ async function createPlatform(data) { }); } async function updatePlatform(id, data) { - return prisma.salesPlatform.update({ + return prisma_js_1.default.salesPlatform.update({ where: { id }, data, }); } async function deletePlatform(id) { // Check if platform is used by any contracts - const count = await prisma.contract.count({ + const count = await prisma_js_1.default.contract.count({ where: { salesPlatformId: id }, }); if (count > 0) { throw new Error(`Plattform kann nicht gelöscht werden, da sie von ${count} Verträgen verwendet wird`); } - return prisma.salesPlatform.delete({ where: { id } }); + return prisma_js_1.default.salesPlatform.delete({ where: { id } }); } //# sourceMappingURL=platform.service.js.map \ No newline at end of file diff --git a/backend/dist/services/platform.service.js.map b/backend/dist/services/platform.service.js.map index 22aa6ad7..257a12d8 100644 --- a/backend/dist/services/platform.service.js.map +++ b/backend/dist/services/platform.service.js.map @@ -1 +1 @@ -{"version":3,"file":"platform.service.js","sourceRoot":"","sources":["../../src/services/platform.service.ts"],"names":[],"mappings":";;AAIA,0CAMC;AAED,0CASC;AAED,wCAUC;AAED,wCAYC;AAED,wCAaC;AA9DD,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,eAAe,CAAC,eAAe,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QACnC,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,OAAO,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QACrC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,IAGpC;IACC,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,IAIC;IAED,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QACjC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,EAAU;IAC7C,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;KAC/B,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,oDAAoD,KAAK,2BAA2B,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC"} \ No newline at end of file +{"version":3,"file":"platform.service.js","sourceRoot":"","sources":["../../src/services/platform.service.ts"],"names":[],"mappings":";;;;;AAEA,0CAMC;AAED,0CASC;AAED,wCAUC;AAED,wCAYC;AAED,wCAaC;AA5DD,iEAAsC;AAE/B,KAAK,UAAU,eAAe,CAAC,eAAe,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,mBAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;QACnC,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,OAAO,mBAAM,CAAC,aAAa,CAAC,UAAU,CAAC;QACrC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,IAGpC;IACC,OAAO,mBAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,IAIC;IAED,OAAO,mBAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QACjC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,EAAU;IAC7C,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,mBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE;KAC/B,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,oDAAoD,KAAK,2BAA2B,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,mBAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC"} \ No newline at end of file diff --git a/backend/dist/services/provider.service.d.ts.map b/backend/dist/services/provider.service.d.ts.map index 43c5f6e8..b97a3167 100644 --- a/backend/dist/services/provider.service.d.ts.map +++ b/backend/dist/services/provider.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"provider.service.d.ts","sourceRoot":"","sources":["../../src/services/provider.service.ts"],"names":[],"mappings":"AAIA,wBAAsB,eAAe,CAAC,eAAe,UAAQ;;;;;;;;;;;;;;;;;;;;;;MAe5D;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;WAY/C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;;;;;;;;;GAOA;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;;GAMF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GAa9C"} \ No newline at end of file +{"version":3,"file":"provider.service.d.ts","sourceRoot":"","sources":["../../src/services/provider.service.ts"],"names":[],"mappings":"AAEA,wBAAsB,eAAe,CAAC,eAAe,UAAQ;;;;;;;;;;;;;;;;;;;;;;MAe5D;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;WAY/C;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;;;;;;;;;GAOA;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;;GAMF;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM;;;;;;;;;GAa9C"} \ No newline at end of file diff --git a/backend/dist/services/provider.service.js b/backend/dist/services/provider.service.js index 8f0cc87e..ae3a094d 100644 --- a/backend/dist/services/provider.service.js +++ b/backend/dist/services/provider.service.js @@ -1,15 +1,17 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAllProviders = getAllProviders; exports.getProviderById = getProviderById; exports.createProvider = createProvider; exports.updateProvider = updateProvider; exports.deleteProvider = deleteProvider; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getAllProviders(includeInactive = false) { const where = includeInactive ? {} : { isActive: true }; - return prisma.provider.findMany({ + return prisma_js_1.default.provider.findMany({ where, orderBy: { name: 'asc' }, include: { @@ -24,7 +26,7 @@ async function getAllProviders(includeInactive = false) { }); } async function getProviderById(id) { - return prisma.provider.findUnique({ + return prisma_js_1.default.provider.findUnique({ where: { id }, include: { tariffs: { @@ -37,7 +39,7 @@ async function getProviderById(id) { }); } async function createProvider(data) { - return prisma.provider.create({ + return prisma_js_1.default.provider.create({ data: { ...data, isActive: true, @@ -45,19 +47,19 @@ async function createProvider(data) { }); } async function updateProvider(id, data) { - return prisma.provider.update({ + return prisma_js_1.default.provider.update({ where: { id }, data, }); } async function deleteProvider(id) { // Check if provider is used by any contracts - const count = await prisma.contract.count({ + const count = await prisma_js_1.default.contract.count({ where: { providerId: id }, }); if (count > 0) { throw new Error(`Anbieter kann nicht gelöscht werden, da er von ${count} Verträgen verwendet wird`); } - return prisma.provider.delete({ where: { id } }); + return prisma_js_1.default.provider.delete({ where: { id } }); } //# sourceMappingURL=provider.service.js.map \ No newline at end of file diff --git a/backend/dist/services/provider.service.js.map b/backend/dist/services/provider.service.js.map index 19c5f3b1..d950fca9 100644 --- a/backend/dist/services/provider.service.js.map +++ b/backend/dist/services/provider.service.js.map @@ -1 +1 @@ -{"version":3,"file":"provider.service.js","sourceRoot":"","sources":["../../src/services/provider.service.ts"],"names":[],"mappings":";;AAIA,0CAeC;AAED,0CAYC;AAED,wCAYC;AAED,wCAcC;AAED,wCAaC;AA9ED,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,eAAe,CAAC,eAAe,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACxB,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACzB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC3C;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACzB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,IAKpC;IACC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,IAMC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,EAAU;IAC7C,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;KAC1B,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,kDAAkD,KAAK,2BAA2B,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC"} \ No newline at end of file +{"version":3,"file":"provider.service.js","sourceRoot":"","sources":["../../src/services/provider.service.ts"],"names":[],"mappings":";;;;;AAEA,0CAeC;AAED,0CAYC;AAED,wCAYC;AAED,wCAcC;AAED,wCAaC;AA5ED,iEAAsC;AAE/B,KAAK,UAAU,eAAe,CAAC,eAAe,GAAG,KAAK;IAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,mBAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9B,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACxB,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChD,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACzB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC3C;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,OAAO,mBAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACzB;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,IAKpC;IACC,OAAO,mBAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,IAMC;IAED,OAAO,mBAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,EAAU;IAC7C,6CAA6C;IAC7C,MAAM,KAAK,GAAG,MAAM,mBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;KAC1B,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,kDAAkD,KAAK,2BAA2B,CACnF,CAAC;IACJ,CAAC;IAED,OAAO,mBAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC"} \ No newline at end of file diff --git a/backend/dist/services/stressfreiEmail.service.d.ts b/backend/dist/services/stressfreiEmail.service.d.ts index 10196618..d89e9286 100644 --- a/backend/dist/services/stressfreiEmail.service.d.ts +++ b/backend/dist/services/stressfreiEmail.service.d.ts @@ -1,4 +1,5 @@ export declare function getEmailsByCustomerId(customerId: number, includeInactive?: boolean): Promise<{ + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -11,7 +12,6 @@ export declare function getEmailsByCustomerId(customerId: number, includeInactiv isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; }[]>; export declare function getEmailsWithMailboxByCustomerId(customerId: number): Promise<{ id: number; @@ -23,6 +23,7 @@ export declare function getEmailsWithMailboxByCustomerId(customerId: number): Pr hasMailbox: boolean; }[]>; export declare function getEmailById(id: number): Promise<{ + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -35,9 +36,9 @@ export declare function getEmailById(id: number): Promise<{ isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; } | null>; export declare function getEmailWithMailboxById(id: number): Promise<{ + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -47,7 +48,6 @@ export declare function getEmailWithMailboxById(id: number): Promise<{ notes: string | null; hasMailbox: boolean; platform: string | null; - emailPasswordEncrypted: string | null; } | null>; export interface CreateEmailData { customerId: number; @@ -58,6 +58,7 @@ export interface CreateEmailData { createMailbox?: boolean; } export declare function createEmail(data: CreateEmailData): Promise<{ + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -70,7 +71,6 @@ export declare function createEmail(data: CreateEmailData): Promise<{ isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; }>; export declare function updateEmail(id: number, data: { email?: string; @@ -78,6 +78,7 @@ export declare function updateEmail(id: number, data: { notes?: string; isActive?: boolean; }): Promise<{ + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -90,9 +91,9 @@ export declare function updateEmail(id: number, data: { isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; }>; export declare function deleteEmail(id: number): Promise<{ + emailPasswordEncrypted: string | null; id: number; email: string; customerId: number; @@ -105,7 +106,6 @@ export declare function deleteEmail(id: number): Promise<{ isProvisioned: boolean; provisionedAt: Date | null; provisionError: string | null; - emailPasswordEncrypted: string | null; }>; export declare function enableMailbox(id: number): Promise<{ success: boolean; diff --git a/backend/dist/services/stressfreiEmail.service.d.ts.map b/backend/dist/services/stressfreiEmail.service.d.ts.map index b37603c3..acb8c3e2 100644 --- a/backend/dist/services/stressfreiEmail.service.d.ts.map +++ b/backend/dist/services/stressfreiEmail.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"stressfreiEmail.service.d.ts","sourceRoot":"","sources":["../../src/services/stressfreiEmail.service.ts"],"names":[],"mappings":"AAcA,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,UAAQ;;;;;;;;;;;;;;KAStF;AAGD,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM;;;;;;;;KAoBxE;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;UAI5C;AAGD,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;UAgBvD;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;;;GAuDtD;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;;;;;;;GAMF;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;GAE3C;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC7F;AAGD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CAgCD;AAGD,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgB7E;AAGD,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCvH"} \ No newline at end of file +{"version":3,"file":"stressfreiEmail.service.d.ts","sourceRoot":"","sources":["../../src/services/stressfreiEmail.service.ts"],"names":[],"mappings":"AAYA,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,UAAQ;;;;;;;;;;;;;;KAStF;AAGD,wBAAsB,gCAAgC,CAAC,UAAU,EAAE,MAAM;;;;;;;;KAoBxE;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;UAI5C;AAGD,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;UAgBvD;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;;;GAuDtD;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;;;;;;;GAMF;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;GAE3C;AAGD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmC7F;AAGD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CAgCD;AAGD,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgB7E;AAGD,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiCvH"} \ No newline at end of file diff --git a/backend/dist/services/stressfreiEmail.service.js b/backend/dist/services/stressfreiEmail.service.js index 85a585d9..5dea5b2b 100644 --- a/backend/dist/services/stressfreiEmail.service.js +++ b/backend/dist/services/stressfreiEmail.service.js @@ -1,4 +1,7 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEmailsByCustomerId = getEmailsByCustomerId; exports.getEmailsWithMailboxByCustomerId = getEmailsWithMailboxByCustomerId; @@ -11,24 +14,23 @@ exports.enableMailbox = enableMailbox; exports.syncMailboxStatus = syncMailboxStatus; exports.getDecryptedPassword = getDecryptedPassword; exports.resetMailboxPassword = resetMailboxPassword; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const encryption_js_1 = require("../utils/encryption.js"); const emailProviderService_js_1 = require("./emailProvider/emailProviderService.js"); const passwordGenerator_js_1 = require("../utils/passwordGenerator.js"); -const prisma = new client_1.PrismaClient(); async function getEmailsByCustomerId(customerId, includeInactive = false) { const where = { customerId }; if (!includeInactive) { where.isActive = true; } - return prisma.stressfreiEmail.findMany({ + return prisma_js_1.default.stressfreiEmail.findMany({ where, orderBy: { createdAt: 'desc' }, }); } // Mit Mailbox-Status für E-Mail-Client async function getEmailsWithMailboxByCustomerId(customerId) { - return prisma.stressfreiEmail.findMany({ + return prisma_js_1.default.stressfreiEmail.findMany({ where: { customerId, isActive: true, @@ -49,13 +51,13 @@ async function getEmailsWithMailboxByCustomerId(customerId) { }); } async function getEmailById(id) { - return prisma.stressfreiEmail.findUnique({ + return prisma_js_1.default.stressfreiEmail.findUnique({ where: { id }, }); } // E-Mail mit Mailbox-Status laden async function getEmailWithMailboxById(id) { - return prisma.stressfreiEmail.findUnique({ + return prisma_js_1.default.stressfreiEmail.findUnique({ where: { id }, select: { id: true, @@ -76,7 +78,7 @@ async function createEmail(data) { // Falls beim Provider anlegen gewünscht if (provisionAtProvider) { // Kunde laden für Weiterleitung - const customer = await prisma.customer.findUnique({ + const customer = await prisma_js_1.default.customer.findUnique({ where: { id: data.customerId }, select: { email: true }, }); @@ -94,7 +96,7 @@ async function createEmail(data) { } // Passwort verschlüsseln und speichern const passwordEncrypted = (0, encryption_js_1.encrypt)(password); - return prisma.stressfreiEmail.create({ + return prisma_js_1.default.stressfreiEmail.create({ data: { ...emailData, isActive: true, @@ -111,7 +113,7 @@ async function createEmail(data) { } } } - return prisma.stressfreiEmail.create({ + return prisma_js_1.default.stressfreiEmail.create({ data: { ...emailData, isActive: true, @@ -120,17 +122,17 @@ async function createEmail(data) { }); } async function updateEmail(id, data) { - return prisma.stressfreiEmail.update({ + return prisma_js_1.default.stressfreiEmail.update({ where: { id }, data, }); } async function deleteEmail(id) { - return prisma.stressfreiEmail.delete({ where: { id } }); + return prisma_js_1.default.stressfreiEmail.delete({ where: { id } }); } // Mailbox nachträglich aktivieren (für existierende E-Mail-Weiterleitung) async function enableMailbox(id) { - const stressfreiEmail = await prisma.stressfreiEmail.findUnique({ + const stressfreiEmail = await prisma_js_1.default.stressfreiEmail.findUnique({ where: { id }, }); if (!stressfreiEmail) { @@ -148,7 +150,7 @@ async function enableMailbox(id) { } // Passwort verschlüsseln und speichern const passwordEncrypted = (0, encryption_js_1.encrypt)(password); - await prisma.stressfreiEmail.update({ + await prisma_js_1.default.stressfreiEmail.update({ where: { id }, data: { hasMailbox: true, @@ -159,7 +161,7 @@ async function enableMailbox(id) { } // Mailbox-Status mit Provider synchronisieren async function syncMailboxStatus(id) { - const stressfreiEmail = await prisma.stressfreiEmail.findUnique({ + const stressfreiEmail = await prisma_js_1.default.stressfreiEmail.findUnique({ where: { id }, select: { email: true, hasMailbox: true }, }); @@ -175,7 +177,7 @@ async function syncMailboxStatus(id) { const providerHasMailbox = providerStatus.hasMailbox === true; // DB aktualisieren wenn Status abweicht if (stressfreiEmail.hasMailbox !== providerHasMailbox) { - await prisma.stressfreiEmail.update({ + await prisma_js_1.default.stressfreiEmail.update({ where: { id }, data: { hasMailbox: providerHasMailbox }, }); @@ -186,7 +188,7 @@ async function syncMailboxStatus(id) { } // Passwort für IMAP/SMTP-Zugang entschlüsseln (nur für autorisierte Nutzung) async function getDecryptedPassword(id) { - const stressfreiEmail = await prisma.stressfreiEmail.findUnique({ + const stressfreiEmail = await prisma_js_1.default.stressfreiEmail.findUnique({ where: { id }, select: { emailPasswordEncrypted: true }, }); @@ -203,7 +205,7 @@ async function getDecryptedPassword(id) { } // Passwort neu generieren und beim Provider setzen async function resetMailboxPassword(id) { - const stressfreiEmail = await prisma.stressfreiEmail.findUnique({ + const stressfreiEmail = await prisma_js_1.default.stressfreiEmail.findUnique({ where: { id }, select: { email: true, hasMailbox: true }, }); @@ -223,7 +225,7 @@ async function resetMailboxPassword(id) { } // Passwort verschlüsseln und lokal speichern const passwordEncrypted = (0, encryption_js_1.encrypt)(newPassword); - await prisma.stressfreiEmail.update({ + await prisma_js_1.default.stressfreiEmail.update({ where: { id }, data: { emailPasswordEncrypted: passwordEncrypted }, }); diff --git a/backend/dist/services/stressfreiEmail.service.js.map b/backend/dist/services/stressfreiEmail.service.js.map index baa93dd4..9490e1a6 100644 --- a/backend/dist/services/stressfreiEmail.service.js.map +++ b/backend/dist/services/stressfreiEmail.service.js.map @@ -1 +1 @@ -{"version":3,"file":"stressfreiEmail.service.js","sourceRoot":"","sources":["../../src/services/stressfreiEmail.service.ts"],"names":[],"mappings":";;AAcA,sDASC;AAGD,4EAoBC;AAED,oCAIC;AAGD,0DAgBC;AAWD,kCAuDC;AAED,kCAaC;AAED,kCAEC;AAGD,sCAmCC;AAGD,8CAqCC;AAGD,oDAgBC;AAGD,oDAiCC;AAjSD,2CAA8C;AAC9C,0DAA0D;AAC1D,qFAOiD;AACjD,wEAAuE;AAEvE,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,qBAAqB,CAAC,UAAkB,EAAE,eAAe,GAAG,KAAK;IACrF,MAAM,KAAK,GAA4B,EAAE,UAAU,EAAE,CAAC;IACtD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;QACrC,KAAK;QACL,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,uCAAuC;AAChC,KAAK,UAAU,gCAAgC,CAAC,UAAkB;IACvE,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;QACrC,KAAK,EAAE;YACL,UAAU;YACV,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB;QACD,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE;oBACN,YAAY,EAAE,IAAI;iBACnB;aACF;SACF;QACD,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,EAAU;IAC3C,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QACvC,KAAK,EAAE,EAAE,EAAE,EAAE;KACd,CAAC,CAAC;AACL,CAAC;AAED,kCAAkC;AAC3B,KAAK,UAAU,uBAAuB,CAAC,EAAU;IACtD,OAAO,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QACvC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,sBAAsB,EAAE,IAAI;YAC5B,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;SAChB;KACF,CAAC,CAAC;AACL,CAAC;AAWM,KAAK,UAAU,WAAW,CAAC,IAAqB;IACrD,MAAM,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,GAAG,IAAI,CAAC;IAElE,wCAAwC;IACxC,IAAI,mBAAmB,EAAE,CAAC;QACxB,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAChD,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,aAAa,EAAE,CAAC;YAClB,6BAA6B;YAC7B,MAAM,QAAQ,GAAG,IAAA,6CAAsB,GAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAA,mDAAyB,EAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAEpF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,iCAAiC,CAAC,CAAC;YACrE,CAAC;YAED,uCAAuC;YACvC,MAAM,iBAAiB,GAAG,IAAA,uBAAO,EAAC,QAAQ,CAAC,CAAC;YAE5C,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;gBACnC,IAAI,EAAE;oBACJ,GAAG,SAAS;oBACZ,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;oBAChB,sBAAsB,EAAE,iBAAiB;iBAC1C;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAc,EAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE/D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,gCAAgC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE;YACJ,GAAG,SAAS;YACZ,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,aAAa,IAAI,KAAK;SACnC;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,IAKC;IAED,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;QACnC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,EAAU;IAC1C,OAAO,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,0EAA0E;AACnE,KAAK,UAAU,aAAa,CAAC,EAAU;IAC5C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QAC9D,KAAK,EAAE,EAAE,EAAE,EAAE;KACd,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAA,6CAAsB,GAAE,CAAC;IAE1C,oEAAoE;IACpE,MAAM,MAAM,GAAG,MAAM,IAAA,uDAA6B,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,oCAAoC,EAAE,CAAC;IACzF,CAAC;IAED,uCAAuC;IACvC,MAAM,iBAAiB,GAAG,IAAA,uBAAO,EAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI,EAAE;YACJ,UAAU,EAAE,IAAI;YAChB,sBAAsB,EAAE,iBAAiB;SAC1C;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,8CAA8C;AACvC,KAAK,UAAU,iBAAiB,CAAC,EAAU;IAMhD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QAC9D,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,yBAAyB;IACzB,MAAM,cAAc,GAAG,MAAM,IAAA,0CAAgB,EAAC,SAAS,CAAC,CAAC;IAEzD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,kBAAkB,GAAG,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC;IAE9D,wCAAwC;IACxC,IAAI,eAAe,CAAC,UAAU,KAAK,kBAAkB,EAAE,CAAC;QACtD,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;YAClC,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE;SACzC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAe,CAAC,KAAK,kBAAkB,eAAe,CAAC,UAAU,OAAO,kBAAkB,EAAE,CAAC,CAAC;QAChI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC9E,CAAC;AAED,6EAA6E;AACtE,KAAK,UAAU,oBAAoB,CAAC,EAAU;IACnD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QAC9D,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,MAAM,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE;KACzC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,sBAAsB,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAA,uBAAO,EAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mDAAmD;AAC5C,KAAK,UAAU,oBAAoB,CAAC,EAAU;IACnD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;QAC9D,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;KAC1C,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wCAAwC,EAAE,CAAC;IAC7E,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,IAAA,6CAAsB,GAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,gCAAgC;IAChC,MAAM,cAAc,GAAG,MAAM,IAAA,+CAAqB,EAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,uDAAuD,EAAE,CAAC;IACpH,CAAC;IAED,6CAA6C;IAC7C,MAAM,iBAAiB,GAAG,IAAA,uBAAO,EAAC,WAAW,CAAC,CAAC;IAE/C,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;QAClC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,sBAAsB,EAAE,iBAAiB,EAAE;KACpD,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC"} \ No newline at end of file +{"version":3,"file":"stressfreiEmail.service.js","sourceRoot":"","sources":["../../src/services/stressfreiEmail.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/tariff.service.d.ts.map b/backend/dist/services/tariff.service.d.ts.map index d8cd7fba..05ed40fc 100644 --- a/backend/dist/services/tariff.service.d.ts.map +++ b/backend/dist/services/tariff.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"tariff.service.d.ts","sourceRoot":"","sources":["../../src/services/tariff.service.ts"],"names":[],"mappings":"AAIA,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,UAAQ;;;;;;;;;;;MAcrF;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;WAU7C;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;GAOA;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;;;;GAa5C"} \ No newline at end of file +{"version":3,"file":"tariff.service.d.ts","sourceRoot":"","sources":["../../src/services/tariff.service.ts"],"names":[],"mappings":"AAEA,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,UAAQ;;;;;;;;;;;MAcrF;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;WAU7C;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;GAOA;AAED,wBAAsB,YAAY,CAChC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;GAMF;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM;;;;;;;GAa5C"} \ No newline at end of file diff --git a/backend/dist/services/tariff.service.js b/backend/dist/services/tariff.service.js index 8ed402c7..b228bdd9 100644 --- a/backend/dist/services/tariff.service.js +++ b/backend/dist/services/tariff.service.js @@ -1,18 +1,20 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTariffsByProvider = getTariffsByProvider; exports.getTariffById = getTariffById; exports.createTariff = createTariff; exports.updateTariff = updateTariff; exports.deleteTariff = deleteTariff; -const client_1 = require("@prisma/client"); -const prisma = new client_1.PrismaClient(); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); async function getTariffsByProvider(providerId, includeInactive = false) { const where = { providerId }; if (!includeInactive) { where.isActive = true; } - return prisma.tariff.findMany({ + return prisma_js_1.default.tariff.findMany({ where, orderBy: { name: 'asc' }, include: { @@ -23,7 +25,7 @@ async function getTariffsByProvider(providerId, includeInactive = false) { }); } async function getTariffById(id) { - return prisma.tariff.findUnique({ + return prisma_js_1.default.tariff.findUnique({ where: { id }, include: { provider: true, @@ -34,7 +36,7 @@ async function getTariffById(id) { }); } async function createTariff(data) { - return prisma.tariff.create({ + return prisma_js_1.default.tariff.create({ data: { ...data, isActive: true, @@ -42,19 +44,19 @@ async function createTariff(data) { }); } async function updateTariff(id, data) { - return prisma.tariff.update({ + return prisma_js_1.default.tariff.update({ where: { id }, data, }); } async function deleteTariff(id) { // Check if tariff is used by any contracts - const count = await prisma.contract.count({ + const count = await prisma_js_1.default.contract.count({ where: { tariffId: id }, }); if (count > 0) { throw new Error(`Tarif kann nicht gelöscht werden, da er von ${count} Verträgen verwendet wird`); } - return prisma.tariff.delete({ where: { id } }); + return prisma_js_1.default.tariff.delete({ where: { id } }); } //# sourceMappingURL=tariff.service.js.map \ No newline at end of file diff --git a/backend/dist/services/tariff.service.js.map b/backend/dist/services/tariff.service.js.map index 8ac801f6..7d6f9e63 100644 --- a/backend/dist/services/tariff.service.js.map +++ b/backend/dist/services/tariff.service.js.map @@ -1 +1 @@ -{"version":3,"file":"tariff.service.js","sourceRoot":"","sources":["../../src/services/tariff.service.ts"],"names":[],"mappings":";;AAIA,oDAcC;AAED,sCAUC;AAED,oCAUC;AAED,oCAWC;AAED,oCAaC;AAtED,2CAA8C;AAE9C,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE3B,KAAK,UAAU,oBAAoB,CAAC,UAAkB,EAAE,eAAe,GAAG,KAAK;IACpF,MAAM,KAAK,GAA+C,EAAE,UAAU,EAAE,CAAC;IACzE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACxB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,EAAU;IAC5C,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAGlC;IACC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,EAAU,EACV,IAGC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,EAAU;IAC3C,2CAA2C;IAC3C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KACxB,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,+CAA+C,KAAK,2BAA2B,CAChF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"} \ No newline at end of file +{"version":3,"file":"tariff.service.js","sourceRoot":"","sources":["../../src/services/tariff.service.ts"],"names":[],"mappings":";;;;;AAEA,oDAcC;AAED,sCAUC;AAED,oCAUC;AAED,oCAWC;AAED,oCAaC;AApED,iEAAsC;AAE/B,KAAK,UAAU,oBAAoB,CAAC,UAAkB,EAAE,eAAe,GAAG,KAAK;IACpF,MAAM,KAAK,GAA+C,EAAE,UAAU,EAAE,CAAC;IACzE,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,OAAO,mBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC5B,KAAK;QACL,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACxB,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,EAAU;IAC5C,OAAO,mBAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QAC9B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;aAC5B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,IAGlC;IACC,OAAO,mBAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,EAAE;YACJ,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,EAAU,EACV,IAGC;IAED,OAAO,mBAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,EAAU;IAC3C,2CAA2C;IAC3C,MAAM,KAAK,GAAG,MAAM,mBAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;KACxB,CAAC,CAAC;IAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,+CAA+C,KAAK,2BAA2B,CAChF,CAAC;IACJ,CAAC;IAED,OAAO,mBAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"} \ No newline at end of file diff --git a/backend/dist/services/user.service.d.ts b/backend/dist/services/user.service.d.ts index bf03a6df..d4fcb6f1 100644 --- a/backend/dist/services/user.service.d.ts +++ b/backend/dist/services/user.service.d.ts @@ -43,9 +43,9 @@ export declare function getUserById(id: number): Promise<{ roles: ({ permissions: ({ permission: { + action: string; id: number; resource: string; - action: string; }; } & { roleId: number; @@ -120,9 +120,9 @@ export declare function updateUser(id: number, data: { roles: ({ permissions: ({ permission: { + action: string; id: number; resource: string; - action: string; }; } & { roleId: number; @@ -149,10 +149,10 @@ export declare function updateUser(id: number, data: { updatedAt: Date; } | null>; export declare function deleteUser(id: number): Promise<{ + password: string; id: number; email: string; customerId: number | null; - password: string; firstName: string; lastName: string; isActive: boolean; @@ -166,9 +166,9 @@ export declare function deleteUser(id: number): Promise<{ export declare function getAllRoles(): Promise<({ permissions: ({ permission: { + action: string; id: number; resource: string; - action: string; }; } & { roleId: number; @@ -187,9 +187,9 @@ export declare function getAllRoles(): Promise<({ export declare function getRoleById(id: number): Promise<({ permissions: ({ permission: { + action: string; id: number; resource: string; - action: string; }; } & { roleId: number; @@ -209,9 +209,9 @@ export declare function createRole(data: { }): Promise<{ permissions: ({ permission: { + action: string; id: number; resource: string; - action: string; }; } & { roleId: number; @@ -231,9 +231,9 @@ export declare function updateRole(id: number, data: { }): Promise<({ permissions: ({ permission: { + action: string; id: number; resource: string; - action: string; }; } & { roleId: number; @@ -254,8 +254,8 @@ export declare function deleteRole(id: number): Promise<{ description: string | null; }>; export declare function getAllPermissions(): Promise<{ + action: string; id: number; resource: string; - action: string; }[]>; //# sourceMappingURL=user.service.d.ts.map \ No newline at end of file diff --git a/backend/dist/services/user.service.d.ts.map b/backend/dist/services/user.service.d.ts.map index 0051738e..3c0b8188 100644 --- a/backend/dist/services/user.service.d.ts.map +++ b/backend/dist/services/user.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4ErD;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6C3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;;;;;GAyCA;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4IF;AA4GD,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;GA6D1C;AAGD,wBAAsB,WAAW;;;;;;;;;;;;;;;;;;;;MAYhC;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;WAS3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;;;;;;;;;;;;;;;;;GAeA;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;;;;;;;;;;;;;;;;;WAiBF;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;GAU1C;AAGD,wBAAsB,iBAAiB;;;;KAItC"} \ No newline at end of file +{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4ErD;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6C3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;;;;;GAyCA;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4IF;AA4GD,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;GA6D1C;AAGD,wBAAsB,WAAW;;;;;;;;;;;;;;;;;;;;MAYhC;AAED,wBAAsB,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;WAS3C;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;;;;;;;;;;;;;;;;;GAeA;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE;IACJ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;;;;;;;;;;;;;;;;;WAiBF;AAED,wBAAsB,UAAU,CAAC,EAAE,EAAE,MAAM;;;;;;GAU1C;AAGD,wBAAsB,iBAAiB;;;;KAItC"} \ No newline at end of file diff --git a/backend/dist/services/user.service.js b/backend/dist/services/user.service.js index dae80d77..4020cc66 100644 --- a/backend/dist/services/user.service.js +++ b/backend/dist/services/user.service.js @@ -14,10 +14,9 @@ exports.createRole = createRole; exports.updateRole = updateRole; exports.deleteRole = deleteRole; exports.getAllPermissions = getAllPermissions; -const client_1 = require("@prisma/client"); +const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const bcryptjs_1 = __importDefault(require("bcryptjs")); const helpers_js_1 = require("../utils/helpers.js"); -const prisma = new client_1.PrismaClient(); async function getAllUsers(filters) { const { search, isActive, roleId, page = 1, limit = 20 } = filters; const { skip, take } = (0, helpers_js_1.paginate)(page, limit); @@ -36,7 +35,7 @@ async function getAllUsers(filters) { ]; } const [users, total] = await Promise.all([ - prisma.user.findMany({ + prisma_js_1.default.user.findMany({ where, skip, take, @@ -63,12 +62,12 @@ async function getAllUsers(filters) { }, }, }), - prisma.user.count({ where }), + prisma_js_1.default.user.count({ where }), ]); // Get hidden role IDs const [developerRole, gdprRole] = await Promise.all([ - prisma.role.findFirst({ where: { name: 'Developer' } }), - prisma.role.findFirst({ where: { name: 'DSGVO' } }), + prisma_js_1.default.role.findFirst({ where: { name: 'Developer' } }), + prisma_js_1.default.role.findFirst({ where: { name: 'DSGVO' } }), ]); return { users: users.map((u) => { @@ -89,7 +88,7 @@ async function getAllUsers(filters) { }; } async function getUserById(id) { - const user = await prisma.user.findUnique({ + const user = await prisma_js_1.default.user.findUnique({ where: { id }, select: { id: true, @@ -132,7 +131,7 @@ async function getUserById(id) { } async function createUser(data) { const hashedPassword = await bcryptjs_1.default.hash(data.password, 10); - const user = await prisma.user.create({ + const user = await prisma_js_1.default.user.create({ data: { email: data.email, password: hashedPassword, @@ -175,7 +174,7 @@ async function updateUser(id, data) { const rolesAreBeingChanged = roleIds !== undefined; if (isBeingDeactivated || rolesAreBeingChanged) { // Check if user currently has admin permissions - const currentUser = await prisma.user.findUnique({ + const currentUser = await prisma_js_1.default.user.findUnique({ where: { id }, include: { roles: { @@ -196,7 +195,7 @@ async function updateUser(id, data) { // Check if user will still be admin after role change let willStillBeAdmin = false; if (rolesAreBeingChanged) { - const newRoles = await prisma.role.findMany({ + const newRoles = await prisma_js_1.default.role.findMany({ where: { id: { in: roleIds } }, include: { permissions: { @@ -211,7 +210,7 @@ async function updateUser(id, data) { } // If user is losing admin status or being deactivated, check for other admins if (!willStillBeAdmin || isBeingDeactivated) { - const otherAdminCount = await prisma.user.count({ + const otherAdminCount = await prisma_js_1.default.user.count({ where: { id: { not: id }, isActive: true, @@ -249,7 +248,7 @@ async function updateUser(id, data) { // Prüfen ob Rollen geändert werden (für Zwangslogout) let rolesChanged = false; if (roleIds !== undefined) { - const currentRoles = await prisma.userRole.findMany({ + const currentRoles = await prisma_js_1.default.userRole.findMany({ where: { userId: id }, select: { roleId: true }, }); @@ -260,7 +259,7 @@ async function updateUser(id, data) { !currentRoleIds.every((id, i) => id === newRoleIds[i]); } // Update user - bei Rollenänderung Token invalidieren - await prisma.user.update({ + await prisma_js_1.default.user.update({ where: { id }, data: { ...userData, @@ -270,8 +269,8 @@ async function updateUser(id, data) { }); // Update roles if provided if (roleIds) { - await prisma.userRole.deleteMany({ where: { userId: id } }); - await prisma.userRole.createMany({ + await prisma_js_1.default.userRole.deleteMany({ where: { userId: id } }); + await prisma_js_1.default.userRole.createMany({ data: roleIds.map((roleId) => ({ userId: id, roleId })), }); } @@ -288,20 +287,20 @@ async function updateUser(id, data) { // Helper to set developer access for a user async function setUserDeveloperAccess(userId, enabled) { // Get or create developer:access permission - let developerPerm = await prisma.permission.findFirst({ + let developerPerm = await prisma_js_1.default.permission.findFirst({ where: { resource: 'developer', action: 'access' }, }); if (!developerPerm) { - developerPerm = await prisma.permission.create({ + developerPerm = await prisma_js_1.default.permission.create({ data: { resource: 'developer', action: 'access' }, }); } // Get or create Developer role - let developerRole = await prisma.role.findFirst({ + let developerRole = await prisma_js_1.default.role.findFirst({ where: { name: 'Developer' }, }); if (!developerRole) { - developerRole = await prisma.role.create({ + developerRole = await prisma_js_1.default.role.create({ data: { name: 'Developer', description: 'Entwicklerzugriff auf Datenbanktools', @@ -312,25 +311,25 @@ async function setUserDeveloperAccess(userId, enabled) { }); } // Check if user already has Developer role - const hasRole = await prisma.userRole.findFirst({ + const hasRole = await prisma_js_1.default.userRole.findFirst({ where: { userId, roleId: developerRole.id }, }); if (enabled && !hasRole) { - await prisma.userRole.create({ + await prisma_js_1.default.userRole.create({ data: { userId, roleId: developerRole.id }, }); // Token invalidieren bei Rechteänderung - await prisma.user.update({ + await prisma_js_1.default.user.update({ where: { id: userId }, data: { tokenInvalidatedAt: new Date() }, }); } else if (!enabled && hasRole) { - await prisma.userRole.delete({ + await prisma_js_1.default.userRole.delete({ where: { userId_roleId: { userId, roleId: developerRole.id } }, }); // Token invalidieren bei Rechteänderung - await prisma.user.update({ + await prisma_js_1.default.user.update({ where: { id: userId }, data: { tokenInvalidatedAt: new Date() }, }); @@ -339,17 +338,17 @@ async function setUserDeveloperAccess(userId, enabled) { // Helper to set GDPR access for a user async function setUserGdprAccess(userId, enabled) { // Get or create DSGVO role - let gdprRole = await prisma.role.findFirst({ + let gdprRole = await prisma_js_1.default.role.findFirst({ where: { name: 'DSGVO' }, }); if (!gdprRole) { // Create DSGVO role with all audit:* and gdpr:* permissions - const gdprPermissions = await prisma.permission.findMany({ + const gdprPermissions = await prisma_js_1.default.permission.findMany({ where: { OR: [{ resource: 'audit' }, { resource: 'gdpr' }], }, }); - gdprRole = await prisma.role.create({ + gdprRole = await prisma_js_1.default.role.create({ data: { name: 'DSGVO', description: 'DSGVO-Zugriff: Audit-Logs und Datenschutz-Verwaltung', @@ -360,23 +359,23 @@ async function setUserGdprAccess(userId, enabled) { }); } // Check if user already has DSGVO role - const hasRole = await prisma.userRole.findFirst({ + const hasRole = await prisma_js_1.default.userRole.findFirst({ where: { userId, roleId: gdprRole.id }, }); if (enabled && !hasRole) { - await prisma.userRole.create({ + await prisma_js_1.default.userRole.create({ data: { userId, roleId: gdprRole.id }, }); - await prisma.user.update({ + await prisma_js_1.default.user.update({ where: { id: userId }, data: { tokenInvalidatedAt: new Date() }, }); } else if (!enabled && hasRole) { - await prisma.userRole.delete({ + await prisma_js_1.default.userRole.delete({ where: { userId_roleId: { userId, roleId: gdprRole.id } }, }); - await prisma.user.update({ + await prisma_js_1.default.user.update({ where: { id: userId }, data: { tokenInvalidatedAt: new Date() }, }); @@ -384,7 +383,7 @@ async function setUserGdprAccess(userId, enabled) { } async function deleteUser(id) { // Check if user is an admin - const user = await prisma.user.findUnique({ + const user = await prisma_js_1.default.user.findUnique({ where: { id }, include: { roles: { @@ -407,7 +406,7 @@ async function deleteUser(id) { const isAdmin = user.roles.some((ur) => ur.role.permissions.some((rp) => rp.permission.resource === 'users' && rp.permission.action === 'delete')); if (isAdmin) { // Count other admins (users with users:delete permission) - const adminCount = await prisma.user.count({ + const adminCount = await prisma_js_1.default.user.count({ where: { id: { not: id }, isActive: true, @@ -431,11 +430,11 @@ async function deleteUser(id) { throw new Error('Dieser Benutzer ist der letzte Administrator und kann nicht gelöscht werden'); } } - return prisma.user.delete({ where: { id } }); + return prisma_js_1.default.user.delete({ where: { id } }); } // Role operations async function getAllRoles() { - return prisma.role.findMany({ + return prisma_js_1.default.role.findMany({ include: { permissions: { include: { permission: true }, @@ -448,7 +447,7 @@ async function getAllRoles() { }); } async function getRoleById(id) { - return prisma.role.findUnique({ + return prisma_js_1.default.role.findUnique({ where: { id }, include: { permissions: { @@ -458,7 +457,7 @@ async function getRoleById(id) { }); } async function createRole(data) { - return prisma.role.create({ + return prisma_js_1.default.role.create({ data: { name: data.name, description: data.description, @@ -475,13 +474,13 @@ async function createRole(data) { } async function updateRole(id, data) { const { permissionIds, ...roleData } = data; - await prisma.role.update({ + await prisma_js_1.default.role.update({ where: { id }, data: roleData, }); if (permissionIds) { - await prisma.rolePermission.deleteMany({ where: { roleId: id } }); - await prisma.rolePermission.createMany({ + await prisma_js_1.default.rolePermission.deleteMany({ where: { roleId: id } }); + await prisma_js_1.default.rolePermission.createMany({ data: permissionIds.map((permissionId) => ({ roleId: id, permissionId })), }); } @@ -489,15 +488,15 @@ async function updateRole(id, data) { } async function deleteRole(id) { // Check if role is assigned to any users - const count = await prisma.userRole.count({ where: { roleId: id } }); + const count = await prisma_js_1.default.userRole.count({ where: { roleId: id } }); if (count > 0) { throw new Error(`Rolle kann nicht gelöscht werden, da sie ${count} Benutzern zugewiesen ist`); } - return prisma.role.delete({ where: { id } }); + return prisma_js_1.default.role.delete({ where: { id } }); } // Permission operations async function getAllPermissions() { - return prisma.permission.findMany({ + return prisma_js_1.default.permission.findMany({ orderBy: [{ resource: 'asc' }, { action: 'asc' }], }); } diff --git a/backend/dist/services/user.service.js.map b/backend/dist/services/user.service.js.map index b0aea6c1..6f370380 100644 --- a/backend/dist/services/user.service.js.map +++ b/backend/dist/services/user.service.js.map @@ -1 +1 @@ -{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":";;;;;AAcA,kCA4EC;AAED,kCA6CC;AAED,gCAqDC;AAED,gCA2JC;AA4GD,gCA6DC;AAGD,kCAYC;AAED,kCASC;AAED,gCAmBC;AAED,gCAuBC;AAED,gCAUC;AAGD,8CAIC;AAjmBD,2CAA8C;AAC9C,wDAA8B;AAC9B,oDAAwE;AAExE,MAAM,MAAM,GAAG,IAAI,qBAAY,EAAE,CAAC;AAU3B,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACnE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAA,qBAAQ,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE7C,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,EAAE,GAAG;YACT,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YAC/B,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;YACnC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnB,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YAC9B,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI;gBACX,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,IAAI;gBACtB,YAAY,EAAE,IAAI;gBAClB,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,OAAO,EAAE;gCACP,WAAW,EAAE,IAAI;6BAClB;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;KAC7B,CAAC,CAAC;IAEH,sBAAsB;IACtB,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;KACpD,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrB,MAAM,kBAAkB,GAAG,aAAa;gBACtC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,aAAa,CAAC,EAAE,CAAC;gBACtD,CAAC,CAAC,KAAK,CAAC;YACV,MAAM,aAAa,GAAG,QAAQ;gBAC5B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBACjD,CAAC,CAAC,KAAK,CAAC;YACV,OAAO;gBACL,GAAG,CAAC;gBACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjC,kBAAkB;gBAClB,aAAa;aACd,CAAC;QACJ,CAAC,CAAC;QACF,UAAU,EAAE,IAAA,oCAAuB,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;KACxD,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,EAAU;IAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI;YACpB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,WAAW,EAAE;gCACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;6BAC9B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjD,WAAW,CAAC,GAAG,CACb,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,IAAI;QACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;KACrC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,IAYhC;IACC,MAAM,cAAc,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE;YACJ,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;YAC3C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI;YAC/C,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;YACvC,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;aACnD;SACF;QACD,MAAM,EAAE;YACN,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE;gBACL,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;aACxB;SACF;KACF,CAAC,CAAC;IAEH,2CAA2C;IAC3C,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,MAAM,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,uCAAuC;IACvC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,MAAM,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,IAaC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAEnF,4CAA4C;IAC5C,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC;IACvD,MAAM,oBAAoB,GAAG,OAAO,KAAK,SAAS,CAAC;IAEnD,IAAI,kBAAkB,IAAI,oBAAoB,EAAE,CAAC;QAC/C,gDAAgD;QAChD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAC/C,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL,OAAO,EAAE;wBACP,IAAI,EAAE;4BACJ,OAAO,EAAE;gCACP,WAAW,EAAE;oCACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;iCAC9B;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACtD,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CACtB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAChF,CACF,CAAC;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACrB,sDAAsD;YACtD,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,IAAI,oBAAoB,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAC1C,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;oBAC9B,OAAO,EAAE;wBACP,WAAW,EAAE;4BACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;yBAC9B;qBACF;iBACF,CAAC,CAAC;gBACH,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CACnB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAChF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gBAAgB,GAAG,IAAI,CAAC,CAAC,0BAA0B;YACrD,CAAC;YAED,8EAA8E;YAC9E,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;gBAC5C,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC9C,KAAK,EAAE;wBACL,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;wBACf,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,IAAI,EAAE;oCACJ,WAAW,EAAE;wCACX,IAAI,EAAE;4CACJ,UAAU,EAAE;gDACV,QAAQ,EAAE,OAAO;gDACjB,MAAM,EAAE,QAAQ;6CACjB;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF,CAAC,CAAC;gBAEH,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,kBAAkB,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,QAAQ,EAAE,CAAC;QACZ,QAAoC,CAAC,QAAQ,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,sDAAsD;IACtD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YACrB,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACzB,CAAC,CAAC;QACH,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,YAAY;YACV,cAAc,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;gBAC3C,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,sDAAsD;IACtD,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI,EAAE;YACJ,GAAG,QAAQ;YACX,iDAAiD;YACjD,GAAG,CAAC,YAAY,IAAI,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;SACxD;KACF,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC/B,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,sBAAsB,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACvD,CAAC;IAED,qBAAqB;IACrB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,iBAAiB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,4CAA4C;AAC5C,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,OAAgB;IACpE,4CAA4C;IAC5C,IAAI,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;QACpD,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;KACnD,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B;IAC/B,IAAI,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;KAC7B,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,sCAAsC;gBACnD,WAAW,EAAE;oBACX,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC;iBAC7C;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,2CAA2C;IAC3C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE;KAC5C,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE;SAC3C,CAAC,CAAC;QACH,wCAAwC;QACxC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,EAAE;SAC/D,CAAC,CAAC;QACH,wCAAwC;QACxC,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAgB;IAC/D,2BAA2B;IAC3B,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACzC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,4DAA4D;QAC5D,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YACvD,KAAK,EAAE;gBACL,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;aAClD;SACF,CAAC,CAAC;QAEH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sDAAsD;gBACnE,WAAW,EAAE;oBACX,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;iBAC7D;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,uCAAuC;IACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;KACvC,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE;SACtC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,EAAE;SAC1D,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE,EAAE,kBAAkB,EAAE,IAAI,IAAI,EAAE,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,EAAU;IACzC,4BAA4B;IAC5B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,OAAO,EAAE;oBACP,IAAI,EAAE;wBACJ,OAAO,EAAE;4BACP,WAAW,EAAE;gCACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;6BAC9B;yBACF;qBACF;iBACF;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,iEAAiE;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACrC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CACtB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,QAAQ,CAChF,CACF,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,0DAA0D;QAC1D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACzC,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;gBACf,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE;wBACJ,IAAI,EAAE;4BACJ,WAAW,EAAE;gCACX,IAAI,EAAE;oCACJ,UAAU,EAAE;wCACV,QAAQ,EAAE,OAAO;wCACjB,MAAM,EAAE,QAAQ;qCACjB;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,kBAAkB;AACX,KAAK,UAAU,WAAW;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1B,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;aAC9B;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;aACxB;SACF;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,EAAU;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5B,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;aAC9B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,IAIhC;IACC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;aACrE;SACF;QACD,OAAO,EAAE;YACP,WAAW,EAAE;gBACX,OAAO,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;aAC9B;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,IAIC;IAED,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE5C,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,EAAE,EAAE,EAAE;QACb,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;YACrC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,EAAU;IACzC,yCAAyC;IACzC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACrE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,4CAA4C,KAAK,2BAA2B,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,wBAAwB;AACjB,KAAK,UAAU,iBAAiB;IACrC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAChC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KAClD,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/src/controllers/appSetting.controller.ts b/backend/src/controllers/appSetting.controller.ts index c0025684..4e46b416 100644 --- a/backend/src/controllers/appSetting.controller.ts +++ b/backend/src/controllers/appSetting.controller.ts @@ -1,5 +1,7 @@ import { Response } from 'express'; +import prisma from '../lib/prisma.js'; import * as appSettingService from '../services/appSetting.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse, AuthRequest } from '../types/index.js'; export async function getAllSettings(req: AuthRequest, res: Response): Promise { @@ -39,7 +41,22 @@ export async function updateSetting(req: AuthRequest, res: Response): Promise = {}; for (const [key, value] of Object.entries(settings)) { - await appSettingService.setSetting(key, String(value)); + const before = await prisma.appSetting.findUnique({ where: { key } }); + const oldValue = before?.value ?? '-'; + const newValue = String(value); + if (oldValue !== newValue) { + changes[key] = { von: oldValue, nach: newValue }; + } + await appSettingService.setSetting(key, newValue); } + const changeList = Object.entries(changes).map(([k, c]) => `${k}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'AppSetting', + label: changeList + ? `Einstellungen aktualisiert: ${changeList}` + : `Einstellungen aktualisiert (${Object.keys(settings).join(', ')})`, + details: Object.keys(changes).length > 0 ? changes : undefined, + }); + res.json({ success: true, message: 'Einstellungen gespeichert' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/auditLog.controller.ts b/backend/src/controllers/auditLog.controller.ts index fd4bef08..32a515a1 100644 --- a/backend/src/controllers/auditLog.controller.ts +++ b/backend/src/controllers/auditLog.controller.ts @@ -1,6 +1,7 @@ import { Response } from 'express'; import { AuthRequest } from '../types/index.js'; import * as auditService from '../services/audit.service.js'; +import { logChange } from '../services/audit.service.js'; import { AuditAction, AuditSensitivity } from '@prisma/client'; /** @@ -106,12 +107,15 @@ export async function exportAuditLogs(req: AuthRequest, res: Response) { format ); - const contentType = format === 'csv' ? 'text/csv' : 'application/json'; - const filename = `audit-logs-${new Date().toISOString().split('T')[0]}.${format}`; - - res.setHeader('Content-Type', contentType); - res.setHeader('Content-Disposition', `attachment; filename="${filename}"`); - res.send(content); + if (format === 'csv') { + const filename = `audit-logs-${new Date().toISOString().split('T')[0]}.csv`; + res.setHeader('Content-Type', 'text/csv; charset=utf-8'); + res.setHeader('Content-Disposition', `attachment; filename="${filename}"`); + // BOM für Excel UTF-8 Erkennung + res.send('\uFEFF' + content); + } else { + res.json({ success: true, data: JSON.parse(content) }) + } } catch (error) { console.error('Fehler beim Exportieren der Audit-Logs:', error); res.status(500).json({ success: false, error: 'Fehler beim Exportieren' }); @@ -147,6 +151,23 @@ export async function verifyIntegrity(req: AuthRequest, res: Response) { } } +/** + * Hash-Kette reparieren (alle Hashes neu berechnen) + */ +export async function rehashAll(req: AuthRequest, res: Response) { + try { + const result = await auditService.rehashAll(); + res.json({ + success: true, + data: result, + message: `${result.rehashedCount} Einträge neu gehasht. Kette ist jetzt intakt.`, + }); + } catch (error) { + console.error('Fehler beim Re-Hashing:', error); + res.status(500).json({ success: false, error: 'Fehler beim Re-Hashing' }); + } +} + /** * Retention-Policies abrufen */ @@ -175,6 +196,12 @@ export async function updateRetentionPolicy(req: AuthRequest, res: Response) { isActive, }); + await logChange({ + req, action: 'UPDATE', resourceType: 'RetentionPolicy', + resourceId: id.toString(), + label: `Aufbewahrungsrichtlinie aktualisiert`, + }); + res.json({ success: true, data: policy }); } catch (error) { console.error('Fehler beim Aktualisieren der Retention-Policy:', error); diff --git a/backend/src/controllers/backup.controller.ts b/backend/src/controllers/backup.controller.ts index c613256f..e4990df1 100644 --- a/backend/src/controllers/backup.controller.ts +++ b/backend/src/controllers/backup.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as backupService from '../services/backup.service.js'; +import { logChange } from '../services/audit.service.js'; /** * Liste aller Backups abrufen @@ -23,6 +24,10 @@ export async function createBackup(req: Request, res: Response) { const result = await backupService.createBackup(); if (result.success) { + await logChange({ + req, action: 'CREATE', resourceType: 'Backup', + label: `Backup ${result.backupName} erstellt`, + }); res.json({ data: { backupName: result.backupName }, message: 'Backup erfolgreich erstellt' }); } else { res.status(500).json({ error: 'Backup fehlgeschlagen', details: result.error }); @@ -47,6 +52,10 @@ export async function restoreBackup(req: Request, res: Response) { const result = await backupService.restoreBackup(name); if (result.success) { + await logChange({ + req, action: 'UPDATE', resourceType: 'Backup', + label: `Backup ${name} wiederhergestellt`, + }); res.json({ data: { restoredRecords: result.restoredRecords, @@ -77,6 +86,10 @@ export async function deleteBackup(req: Request, res: Response) { const result = await backupService.deleteBackup(name); if (result.success) { + await logChange({ + req, action: 'DELETE', resourceType: 'Backup', + label: `Backup ${name} gelöscht`, + }); res.json({ message: 'Backup gelöscht' }); } else { res.status(500).json({ error: 'Löschen fehlgeschlagen', details: result.error }); @@ -157,6 +170,10 @@ export async function factoryReset(req: Request, res: Response) { const result = await backupService.factoryReset(); if (result.success) { + await logChange({ + req, action: 'DELETE', resourceType: 'System', + label: `Werkseinstellungen wiederhergestellt`, + }); res.json({ message: 'Werkseinstellungen wiederhergestellt. Bitte melden Sie sich mit admin@admin.com / admin an.', }); diff --git a/backend/src/controllers/cachedEmail.controller.ts b/backend/src/controllers/cachedEmail.controller.ts index 6399a3bd..e217f7d2 100644 --- a/backend/src/controllers/cachedEmail.controller.ts +++ b/backend/src/controllers/cachedEmail.controller.ts @@ -11,12 +11,11 @@ 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 { DocumentType } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import path from 'path'; import fs from 'fs'; -const prisma = new PrismaClient(); - // ==================== E-MAIL LIST ==================== // E-Mails für einen Kunden abrufen diff --git a/backend/src/controllers/cancellation-period.controller.ts b/backend/src/controllers/cancellation-period.controller.ts index dea0fa31..a25c15f5 100644 --- a/backend/src/controllers/cancellation-period.controller.ts +++ b/backend/src/controllers/cancellation-period.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as cancellationPeriodService from '../services/cancellation-period.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getCancellationPeriods(req: Request, res: Response): Promise { @@ -37,6 +38,11 @@ export async function getCancellationPeriod(req: Request, res: Response): Promis export async function createCancellationPeriod(req: Request, res: Response): Promise { try { const period = await cancellationPeriodService.createCancellationPeriod(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'CancellationPeriod', + resourceId: period.id.toString(), + label: `Kündigungsfrist ${period.description} angelegt`, + }); res.status(201).json({ success: true, data: period } as ApiResponse); } catch (error) { res.status(400).json({ @@ -49,6 +55,11 @@ export async function createCancellationPeriod(req: Request, res: Response): Pro export async function updateCancellationPeriod(req: Request, res: Response): Promise { try { const period = await cancellationPeriodService.updateCancellationPeriod(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'CancellationPeriod', + resourceId: period.id.toString(), + label: `Kündigungsfrist ${period.description} aktualisiert`, + }); res.json({ success: true, data: period } as ApiResponse); } catch (error) { res.status(400).json({ @@ -60,7 +71,14 @@ export async function updateCancellationPeriod(req: Request, res: Response): Pro export async function deleteCancellationPeriod(req: Request, res: Response): Promise { try { - await cancellationPeriodService.deleteCancellationPeriod(parseInt(req.params.id)); + const periodId = parseInt(req.params.id); + const period = await cancellationPeriodService.getCancellationPeriodById(periodId); + await cancellationPeriodService.deleteCancellationPeriod(periodId); + await logChange({ + req, action: 'DELETE', resourceType: 'CancellationPeriod', + resourceId: periodId.toString(), + label: `Kündigungsfrist ${period?.description || periodId} gelöscht`, + }); res.json({ success: true, message: 'Kündigungsfrist gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/contract-duration.controller.ts b/backend/src/controllers/contract-duration.controller.ts index 76a2d288..db428300 100644 --- a/backend/src/controllers/contract-duration.controller.ts +++ b/backend/src/controllers/contract-duration.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as contractDurationService from '../services/contract-duration.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getContractDurations(req: Request, res: Response): Promise { @@ -37,6 +38,11 @@ export async function getContractDuration(req: Request, res: Response): Promise< export async function createContractDuration(req: Request, res: Response): Promise { try { const duration = await contractDurationService.createContractDuration(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'ContractDuration', + resourceId: duration.id.toString(), + label: `Laufzeit ${duration.description} angelegt`, + }); res.status(201).json({ success: true, data: duration } as ApiResponse); } catch (error) { res.status(400).json({ @@ -49,6 +55,11 @@ export async function createContractDuration(req: Request, res: Response): Promi export async function updateContractDuration(req: Request, res: Response): Promise { try { const duration = await contractDurationService.updateContractDuration(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'ContractDuration', + resourceId: duration.id.toString(), + label: `Laufzeit ${duration.description} aktualisiert`, + }); res.json({ success: true, data: duration } as ApiResponse); } catch (error) { res.status(400).json({ @@ -60,7 +71,14 @@ export async function updateContractDuration(req: Request, res: Response): Promi export async function deleteContractDuration(req: Request, res: Response): Promise { try { - await contractDurationService.deleteContractDuration(parseInt(req.params.id)); + const durationId = parseInt(req.params.id); + const duration = await contractDurationService.getContractDurationById(durationId); + await contractDurationService.deleteContractDuration(durationId); + await logChange({ + req, action: 'DELETE', resourceType: 'ContractDuration', + resourceId: durationId.toString(), + label: `Laufzeit ${duration?.description || durationId} gelöscht`, + }); res.json({ success: true, message: 'Laufzeit gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/contract.controller.ts b/backend/src/controllers/contract.controller.ts index aea9a27e..0605f452 100644 --- a/backend/src/controllers/contract.controller.ts +++ b/backend/src/controllers/contract.controller.ts @@ -1,12 +1,11 @@ import { Request, Response } from 'express'; -import { PrismaClient } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import * as contractService from '../services/contract.service.js'; import * as contractCockpitService from '../services/contractCockpit.service.js'; import * as contractHistoryService from '../services/contractHistory.service.js'; import * as authorizationService from '../services/authorization.service.js'; import { ApiResponse, AuthRequest } from '../types/index.js'; - -const prisma = new PrismaClient(); +import { logChange } from '../services/audit.service.js'; export async function getContracts(req: AuthRequest, res: Response): Promise { try { @@ -100,6 +99,12 @@ export async function getContract(req: AuthRequest, res: Response): Promise { try { const contract = await contractService.createContract(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'Contract', + resourceId: contract.id.toString(), + label: `Vertrag ${contract.contractNumber} angelegt`, + customerId: contract.customerId, + }); res.status(201).json({ success: true, data: contract } as ApiResponse); } catch (error) { res.status(400).json({ @@ -109,9 +114,69 @@ export async function createContract(req: Request, res: Response): Promise } } -export async function updateContract(req: Request, res: Response): Promise { +export async function updateContract(req: AuthRequest, res: Response): Promise { try { - const contract = await contractService.updateContract(parseInt(req.params.id), req.body); + const contractId = parseInt(req.params.id); + // Vorherigen Stand laden für Audit-Vergleich + const before = await prisma.contract.findUnique({ + where: { id: contractId }, + include: { energyDetails: true, internetDetails: true, mobileDetails: true, tvDetails: true, carInsuranceDetails: true }, + }); + + const contract = await contractService.updateContract(contractId, req.body); + + // Geänderte Felder ermitteln + const changes: Record = {}; + const fieldLabels: Record = { + status: 'Status', startDate: 'Vertragsbeginn', endDate: 'Vertragsende', + portalUsername: 'Portal-Benutzername', customerNumberAtProvider: 'Kundennummer beim Anbieter', + providerId: 'Anbieter', tariffId: 'Tarif', cancellationPeriodId: 'Kündigungsfrist', + contractDurationId: 'Vertragslaufzeit', platformId: 'Vertriebsplattform', + cancellationDate: 'Kündigungsdatum', cancellationSentDate: 'Kündigung gesendet am', + identityDocumentId: 'Ausweis', bankCardId: 'Bankverbindung', addressId: 'Adresse', + commission: 'Provision', notes: 'Notizen', + }; + const energyLabels: Record = { + meterId: 'Zähler', maloId: 'MaLo-ID', annualConsumption: 'Jahresverbrauch', + basePrice: 'Grundpreis', unitPrice: 'Arbeitspreis', unitPriceNt: 'NT-Arbeitspreis', bonus: 'Bonus', + }; + + // Hauptfelder vergleichen + const body = req.body; + if (before) { + for (const [key, newVal] of Object.entries(body)) { + if (['energyDetails', 'internetDetails', 'mobileDetails', 'tvDetails', 'carInsuranceDetails', 'password'].includes(key)) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + changes[label] = { von: oldVal ?? '-', nach: newVal ?? '-' }; + } + } + // Energie-Details vergleichen + if (body.energyDetails && before.energyDetails) { + for (const [key, newVal] of Object.entries(body.energyDetails)) { + const oldVal = (before.energyDetails as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = energyLabels[key] || key; + changes[label] = { von: oldVal ?? '-', nach: newVal ?? '-' }; + } + } + } + } + + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'Contract', + resourceId: contractId.toString(), + label: changeList + ? `Vertrag ${before?.contractNumber || contractId} aktualisiert: ${changeList}` + : `Vertrag ${before?.contractNumber || contractId} aktualisiert`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId: before?.customerId, + }); + res.json({ success: true, data: contract } as ApiResponse); } catch (error) { res.status(400).json({ @@ -123,7 +188,15 @@ export async function updateContract(req: Request, res: Response): Promise export async function deleteContract(req: Request, res: Response): Promise { try { - await contractService.deleteContract(parseInt(req.params.id)); + const contractId = parseInt(req.params.id); + const contract = await prisma.contract.findUnique({ where: { id: contractId }, select: { contractNumber: true, customerId: true } }); + await contractService.deleteContract(contractId); + await logChange({ + req, action: 'DELETE', resourceType: 'Contract', + resourceId: contractId.toString(), + label: `Vertrag ${contract?.contractNumber} gelöscht`, + customerId: contract?.customerId, + }); res.json({ success: true, message: 'Vertrag gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -165,6 +238,13 @@ export async function createFollowUp(req: AuthRequest, res: Response): Promise { try { const contractMeterId = parseInt(req.params.contractMeterId); + const contractId = parseInt(req.params.id); await prisma.contractMeter.delete({ where: { id: contractMeterId } }); + await logChange({ + req, action: 'DELETE', resourceType: 'ContractMeter', + resourceId: contractMeterId.toString(), + label: `Folgezähler entfernt von Vertrag #${contractId}`, + }); res.json({ success: true, data: null } as ApiResponse); } catch (error) { res.status(400).json({ @@ -346,6 +439,12 @@ export async function snoozeContract(req: Request, res: Response): Promise }, }); + await logChange({ + req, action: 'UPDATE', resourceType: 'Contract', + resourceId: id.toString(), + label: `Vertrag ${updated.contractNumber} zurückgestellt`, + }); + res.json({ success: true, data: updated, diff --git a/backend/src/controllers/contractCategory.controller.ts b/backend/src/controllers/contractCategory.controller.ts index 8b5211a7..0c407a97 100644 --- a/backend/src/controllers/contractCategory.controller.ts +++ b/backend/src/controllers/contractCategory.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as contractCategoryService from '../services/contractCategory.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getContractCategories(req: Request, res: Response): Promise { @@ -37,6 +38,11 @@ export async function getContractCategory(req: Request, res: Response): Promise< export async function createContractCategory(req: Request, res: Response): Promise { try { const category = await contractCategoryService.createContractCategory(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'ContractCategory', + resourceId: category.id.toString(), + label: `Vertragskategorie ${category.name} angelegt`, + }); res.status(201).json({ success: true, data: category } as ApiResponse); } catch (error) { res.status(400).json({ @@ -49,6 +55,11 @@ export async function createContractCategory(req: Request, res: Response): Promi export async function updateContractCategory(req: Request, res: Response): Promise { try { const category = await contractCategoryService.updateContractCategory(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'ContractCategory', + resourceId: category.id.toString(), + label: `Vertragskategorie ${category.name} aktualisiert`, + }); res.json({ success: true, data: category } as ApiResponse); } catch (error) { res.status(400).json({ @@ -60,7 +71,14 @@ export async function updateContractCategory(req: Request, res: Response): Promi export async function deleteContractCategory(req: Request, res: Response): Promise { try { - await contractCategoryService.deleteContractCategory(parseInt(req.params.id)); + const categoryId = parseInt(req.params.id); + const category = await contractCategoryService.getContractCategoryById(categoryId); + await contractCategoryService.deleteContractCategory(categoryId); + await logChange({ + req, action: 'DELETE', resourceType: 'ContractCategory', + resourceId: categoryId.toString(), + label: `Vertragskategorie ${category?.name || categoryId} gelöscht`, + }); res.json({ success: true, message: 'Vertragskategorie gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/contractHistory.controller.ts b/backend/src/controllers/contractHistory.controller.ts index 443c404c..85755b18 100644 --- a/backend/src/controllers/contractHistory.controller.ts +++ b/backend/src/controllers/contractHistory.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as contractHistoryService from '../services/contractHistory.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse, AuthRequest } from '../types/index.js'; export async function getHistoryEntries(req: AuthRequest, res: Response): Promise { @@ -35,6 +36,12 @@ export async function createHistoryEntry(req: AuthRequest, res: Response): Promi createdBy: req.user?.email || 'unbekannt', }); + await logChange({ + req, action: 'CREATE', resourceType: 'ContractHistory', + resourceId: entry.id.toString(), + label: `Historieneintrag "${title.trim()}" erstellt für Vertrag #${contractId}`, + }); + res.status(201).json({ success: true, data: entry } as ApiResponse); } catch (error) { res.status(400).json({ @@ -55,6 +62,12 @@ export async function updateHistoryEntry(req: AuthRequest, res: Response): Promi description: description?.trim(), }); + await logChange({ + req, action: 'UPDATE', resourceType: 'ContractHistory', + resourceId: entryId.toString(), + label: `Historieneintrag aktualisiert für Vertrag #${contractId}`, + }); + res.json({ success: true, data: entry } as ApiResponse); } catch (error) { res.status(400).json({ @@ -71,6 +84,12 @@ export async function deleteHistoryEntry(req: AuthRequest, res: Response): Promi await contractHistoryService.deleteHistoryEntry(contractId, entryId); + await logChange({ + req, action: 'DELETE', resourceType: 'ContractHistory', + resourceId: entryId.toString(), + label: `Historieneintrag gelöscht für Vertrag #${contractId}`, + }); + res.json({ success: true, message: 'Eintrag gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/contractTask.controller.ts b/backend/src/controllers/contractTask.controller.ts index d01da202..ad8f5987 100644 --- a/backend/src/controllers/contractTask.controller.ts +++ b/backend/src/controllers/contractTask.controller.ts @@ -3,6 +3,7 @@ import * as contractTaskService from '../services/contractTask.service.js'; import * as contractService from '../services/contract.service.js'; import * as customerService from '../services/customer.service.js'; import * as appSettingService from '../services/appSetting.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse, AuthRequest } from '../types/index.js'; // ==================== ALL TASKS (Dashboard & Task List) ==================== @@ -147,6 +148,12 @@ export async function createTask(req: AuthRequest, res: Response): Promise createdBy, }); + await logChange({ + req, action: 'CREATE', resourceType: 'ContractTask', + resourceId: task.id.toString(), + label: `Aufgabe "${title}" erstellt`, + }); + res.status(201).json({ success: true, data: task } as ApiResponse); } catch (error) { res.status(400).json({ @@ -212,6 +219,12 @@ export async function createSupportTicket(req: AuthRequest, res: Response): Prom createdBy, }); + await logChange({ + req, action: 'CREATE', resourceType: 'ContractTask', + resourceId: task.id.toString(), + label: `Support-Anfrage "${title}" erstellt`, + }); + res.status(201).json({ success: true, data: task } as ApiResponse); } catch (error) { res.status(400).json({ @@ -232,6 +245,12 @@ export async function updateTask(req: AuthRequest, res: Response): Promise visibleInPortal, }); + await logChange({ + req, action: 'UPDATE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe aktualisiert`, + }); + res.json({ success: true, data: task } as ApiResponse); } catch (error) { res.status(400).json({ @@ -245,6 +264,11 @@ export async function completeTask(req: AuthRequest, res: Response): Promise try { const taskId = parseInt(req.params.taskId); const task = await contractTaskService.reopenTask(taskId); + await logChange({ + req, action: 'UPDATE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe wiedereröffnet`, + }); res.json({ success: true, data: task } as ApiResponse); } catch (error) { res.status(400).json({ @@ -271,6 +300,11 @@ export async function deleteTask(req: AuthRequest, res: Response): Promise try { const taskId = parseInt(req.params.taskId); await contractTaskService.deleteTask(taskId); + await logChange({ + req, action: 'DELETE', resourceType: 'ContractTask', + resourceId: taskId.toString(), + label: `Aufgabe gelöscht`, + }); res.json({ success: true, message: 'Aufgabe gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -303,6 +337,12 @@ export async function createSubtask(req: AuthRequest, res: Response): Promise { try { @@ -46,6 +45,12 @@ export async function createCustomer(req: Request, res: Response): Promise data.birthDate = new Date(data.birthDate); } const customer = await customerService.createCustomer(data); + await logChange({ + req, action: 'CREATE', resourceType: 'Customer', + resourceId: customer.id.toString(), + label: `Kunde ${customer.customerNumber} angelegt (${customer.firstName} ${customer.lastName})`, + customerId: customer.id, + }); res.status(201).json({ success: true, data: customer } as ApiResponse); } catch (error) { res.status(400).json({ @@ -57,12 +62,70 @@ export async function createCustomer(req: Request, res: Response): Promise export async function updateCustomer(req: Request, res: Response): Promise { try { + const customerId = parseInt(req.params.id); const data = { ...req.body }; - // Convert birthDate string to Date if present - if (data.birthDate) { + + // Vorherigen Stand laden für Audit + const before = await prisma.customer.findUnique({ where: { id: customerId } }); + + // Convert birthDate string to Date if present, empty string to null + if (data.birthDate === '' || data.birthDate === null) { + data.birthDate = null; + } else if (data.birthDate) { data.birthDate = new Date(data.birthDate); } - const customer = await customerService.updateCustomer(parseInt(req.params.id), data); + // Leere Strings in optionalen Feldern zu null konvertieren + const nullableFields = ['salutation', 'birthPlace', 'phone', 'mobile', 'email', 'companyName', 'taxNumber', 'businessRegistration', 'commercialRegister', 'commercialRegisterNumber', 'notes']; + for (const field of nullableFields) { + if (data[field] === '') data[field] = null; + } + const customer = await customerService.updateCustomer(customerId, data); + + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + salutation: 'Anrede', firstName: 'Vorname', lastName: 'Nachname', email: 'E-Mail', + phone: 'Telefon', mobile: 'Mobil', birthDate: 'Geburtsdatum', birthPlace: 'Geburtsort', + companyName: 'Firma', type: 'Typ', taxNumber: 'Steuernummer', notes: 'Notizen', + }; + for (const [key, value] of Object.entries(data)) { + // Technische/interne Felder überspringen + if (['id', 'createdAt', 'updatedAt', 'customerNumber', 'portalPasswordHash', 'portalPasswordEncrypted'].includes(key)) continue; + + const oldVal = (before as any)[key]; + const newVal = value; + // Normalisieren: null, undefined, "" werden alle als "leer" behandelt + const normalize = (v: unknown) => { + if (v === null || v === undefined || v === '') return null; + if (v instanceof Date) return v.toISOString().split('T')[0]; + return v; + }; + const oldNorm = normalize(oldVal); + const newNorm = normalize(newVal); + if (JSON.stringify(oldNorm) !== JSON.stringify(newNorm)) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (v instanceof Date) return v.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + if (Object.keys(changes).length > 0) { + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'Customer', + resourceId: customerId.toString(), + label: `Kunde ${before.customerNumber} aktualisiert: ${changeList}`, + details: changes, + customerId, + }); + } + } + res.json({ success: true, data: customer } as ApiResponse); } catch (error) { console.error('Update customer error:', error); @@ -75,7 +138,15 @@ export async function updateCustomer(req: Request, res: Response): Promise export async function deleteCustomer(req: Request, res: Response): Promise { try { - await customerService.deleteCustomer(parseInt(req.params.id)); + const customerId = parseInt(req.params.id); + const customer = await prisma.customer.findUnique({ where: { id: customerId }, select: { customerNumber: true, firstName: true, lastName: true } }); + await customerService.deleteCustomer(customerId); + await logChange({ + req, action: 'DELETE', resourceType: 'Customer', + resourceId: customerId.toString(), + label: `Kunde ${customer?.customerNumber} gelöscht (${customer?.firstName} ${customer?.lastName})`, + customerId, + }); res.json({ success: true, message: 'Kunde gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -97,7 +168,14 @@ export async function getAddresses(req: Request, res: Response): Promise { export async function createAddress(req: Request, res: Response): Promise { try { - const address = await customerService.createAddress(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const address = await customerService.createAddress(customerId, req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'Address', + resourceId: address.id.toString(), + label: `Adresse hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: address } as ApiResponse); } catch (error) { res.status(400).json({ @@ -109,7 +187,53 @@ export async function createAddress(req: Request, res: Response): Promise export async function updateAddress(req: Request, res: Response): Promise { try { - const address = await customerService.updateAddress(parseInt(req.params.id), req.body); + const addressId = parseInt(req.params.id); + const data = req.body; + + // Vorherigen Stand laden für Audit + const before = await prisma.address.findUnique({ where: { id: addressId } }); + + const address = await customerService.updateAddress(addressId, data); + const customerId = address.customerId; + + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + street: 'Straße', houseNumber: 'Hausnummer', postalCode: 'PLZ', + city: 'Stadt', country: 'Land', type: 'Typ', isDefault: 'Standard', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'Address', + resourceId: address.id.toString(), + label: changeList ? `Adresse aktualisiert für Kunde #${customerId}: ${changeList}` : `Adresse aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } else { + await logChange({ + req, action: 'UPDATE', resourceType: 'Address', + resourceId: address.id.toString(), + label: `Adresse aktualisiert für Kunde #${customerId}`, + customerId, + }); + } + res.json({ success: true, data: address } as ApiResponse); } catch (error) { res.status(400).json({ @@ -121,7 +245,16 @@ export async function updateAddress(req: Request, res: Response): Promise export async function deleteAddress(req: Request, res: Response): Promise { try { - await customerService.deleteAddress(parseInt(req.params.id)); + const addressId = parseInt(req.params.id); + const addr = await prisma.address.findUnique({ where: { id: addressId }, select: { customerId: true } }); + const customerId = addr?.customerId; + await customerService.deleteAddress(addressId); + await logChange({ + req, action: 'DELETE', resourceType: 'Address', + resourceId: addressId.toString(), + label: `Adresse gelöscht für Kunde #${customerId}`, + customerId: customerId ?? undefined, + }); res.json({ success: true, message: 'Adresse gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -147,7 +280,14 @@ export async function getBankCards(req: Request, res: Response): Promise { export async function createBankCard(req: Request, res: Response): Promise { try { - const card = await customerService.createBankCard(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const card = await customerService.createBankCard(customerId, req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'BankCard', + resourceId: card.id.toString(), + label: `Bankverbindung hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: card } as ApiResponse); } catch (error) { res.status(400).json({ @@ -159,7 +299,53 @@ export async function createBankCard(req: Request, res: Response): Promise export async function updateBankCard(req: Request, res: Response): Promise { try { - const card = await customerService.updateBankCard(parseInt(req.params.id), req.body); + const cardId = parseInt(req.params.id); + const data = req.body; + + // Vorherigen Stand laden für Audit + const before = await prisma.bankCard.findUnique({ where: { id: cardId } }); + + const card = await customerService.updateBankCard(cardId, data); + const customerId = card.customerId; + + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + iban: 'IBAN', bic: 'BIC', bankName: 'Bank', + accountHolder: 'Kontoinhaber', isActive: 'Aktiv', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'BankCard', + resourceId: card.id.toString(), + label: changeList ? `Bankverbindung aktualisiert für Kunde #${customerId}: ${changeList}` : `Bankverbindung aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } else { + await logChange({ + req, action: 'UPDATE', resourceType: 'BankCard', + resourceId: card.id.toString(), + label: `Bankverbindung aktualisiert für Kunde #${customerId}`, + customerId, + }); + } + res.json({ success: true, data: card } as ApiResponse); } catch (error) { res.status(400).json({ @@ -171,7 +357,16 @@ export async function updateBankCard(req: Request, res: Response): Promise export async function deleteBankCard(req: Request, res: Response): Promise { try { - await customerService.deleteBankCard(parseInt(req.params.id)); + const cardId = parseInt(req.params.id); + const card = await prisma.bankCard.findUnique({ where: { id: cardId }, select: { customerId: true } }); + const customerId = card?.customerId; + await customerService.deleteBankCard(cardId); + await logChange({ + req, action: 'DELETE', resourceType: 'BankCard', + resourceId: cardId.toString(), + label: `Bankverbindung gelöscht für Kunde #${customerId}`, + customerId: customerId ?? undefined, + }); res.json({ success: true, message: 'Bankkarte gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -197,7 +392,14 @@ export async function getDocuments(req: Request, res: Response): Promise { export async function createDocument(req: Request, res: Response): Promise { try { - const doc = await customerService.createDocument(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const doc = await customerService.createDocument(customerId, req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'IdentityDocument', + resourceId: doc.id.toString(), + label: `Ausweis hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: doc } as ApiResponse); } catch (error) { res.status(400).json({ @@ -209,7 +411,59 @@ export async function createDocument(req: Request, res: Response): Promise export async function updateDocument(req: Request, res: Response): Promise { try { - const doc = await customerService.updateDocument(parseInt(req.params.id), req.body); + const docId = parseInt(req.params.id); + const data = req.body; + + // Vorherigen Stand laden für Audit + const before = await prisma.identityDocument.findUnique({ where: { id: docId } }); + + const doc = await customerService.updateDocument(docId, data); + const customerId = doc.customerId; + + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + type: 'Dokumenttyp', documentNumber: 'Dokumentnummer', + issuingAuthority: 'Ausstellungsbehörde', issueDate: 'Ausstellungsdatum', + expiryDate: 'Ablaufdatum', isActive: 'Aktiv', licenseClasses: 'Führerscheinklassen', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => { + if (v === null || v === undefined || v === '') return null; + if (v instanceof Date) return v.toISOString().split('T')[0]; + return v; + }; + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (v instanceof Date) return v.toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'IdentityDocument', + resourceId: doc.id.toString(), + label: changeList ? `Ausweis aktualisiert für Kunde #${customerId}: ${changeList}` : `Ausweis aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } else { + await logChange({ + req, action: 'UPDATE', resourceType: 'IdentityDocument', + resourceId: doc.id.toString(), + label: `Ausweis aktualisiert für Kunde #${customerId}`, + customerId, + }); + } + res.json({ success: true, data: doc } as ApiResponse); } catch (error) { res.status(400).json({ @@ -221,7 +475,16 @@ export async function updateDocument(req: Request, res: Response): Promise export async function deleteDocument(req: Request, res: Response): Promise { try { - await customerService.deleteDocument(parseInt(req.params.id)); + const docId = parseInt(req.params.id); + const doc = await prisma.identityDocument.findUnique({ where: { id: docId }, select: { customerId: true } }); + const customerId = doc?.customerId; + await customerService.deleteDocument(docId); + await logChange({ + req, action: 'DELETE', resourceType: 'IdentityDocument', + resourceId: docId.toString(), + label: `Ausweis gelöscht für Kunde #${customerId}`, + customerId: customerId ?? undefined, + }); res.json({ success: true, message: 'Ausweis gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -247,7 +510,14 @@ export async function getMeters(req: Request, res: Response): Promise { export async function createMeter(req: Request, res: Response): Promise { try { - const meter = await customerService.createMeter(parseInt(req.params.customerId), req.body); + const customerId = parseInt(req.params.customerId); + const meter = await customerService.createMeter(customerId, req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'Meter', + resourceId: meter.id.toString(), + label: `Zähler angelegt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: meter } as ApiResponse); } catch (error) { res.status(400).json({ @@ -259,7 +529,52 @@ export async function createMeter(req: Request, res: Response): Promise { export async function updateMeter(req: Request, res: Response): Promise { try { - const meter = await customerService.updateMeter(parseInt(req.params.id), req.body); + const meterId = parseInt(req.params.id); + const data = req.body; + + // Vorherigen Stand laden für Audit + const before = await prisma.meter.findUnique({ where: { id: meterId } }); + + const meter = await customerService.updateMeter(meterId, data); + const customerId = meter.customerId; + + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + meterNumber: 'Zählernummer', type: 'Typ', tariffModel: 'Tarifmodell', + location: 'Standort', isActive: 'Aktiv', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'Meter', + resourceId: meter.id.toString(), + label: changeList ? `Zähler aktualisiert: ${changeList}` : `Zähler aktualisiert`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } else { + await logChange({ + req, action: 'UPDATE', resourceType: 'Meter', + resourceId: meter.id.toString(), + label: `Zähler aktualisiert`, + }); + } + res.json({ success: true, data: meter } as ApiResponse); } catch (error) { res.status(400).json({ @@ -271,7 +586,13 @@ export async function updateMeter(req: Request, res: Response): Promise { export async function deleteMeter(req: Request, res: Response): Promise { try { - await customerService.deleteMeter(parseInt(req.params.id)); + const meterId = parseInt(req.params.id); + await customerService.deleteMeter(meterId); + await logChange({ + req, action: 'DELETE', resourceType: 'Meter', + resourceId: meterId.toString(), + label: `Zähler gelöscht`, + }); res.json({ success: true, message: 'Zähler gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -294,13 +615,30 @@ export async function getMeterReadings(req: Request, res: Response): Promise { try { const { readingDate, value, valueNt, unit, notes } = req.body; - const reading = await customerService.addMeterReading(parseInt(req.params.meterId), { + const meterId = parseInt(req.params.meterId); + const reading = await customerService.addMeterReading(meterId, { readingDate: new Date(readingDate), value: parseFloat(value), valueNt: valueNt !== undefined && valueNt !== null && valueNt !== '' ? parseFloat(valueNt) : undefined, unit, notes, }); + + // Audit: Zählerstand mit Kontext loggen + const meter = await prisma.meter.findUnique({ + where: { id: meterId }, + select: { meterNumber: true, customer: { select: { id: true, firstName: true, lastName: true } } }, + }); + if (meter) { + const ntInfo = valueNt ? ` / NT: ${parseFloat(valueNt)}` : ''; + await logChange({ + req, action: 'CREATE', resourceType: 'MeterReading', + label: `Zählerstand ${parseFloat(value)}${ntInfo} ${unit || 'kWh'} für Zähler ${meter.meterNumber} erfasst (${meter.customer.firstName} ${meter.customer.lastName})`, + details: { zähler: meter.meterNumber, stand: parseFloat(value), datum: readingDate }, + customerId: meter.customer.id, + }); + } + res.status(201).json({ success: true, data: reading } as ApiResponse); } catch (error) { res.status(400).json({ @@ -325,6 +663,11 @@ export async function updateMeterReading(req: Request, res: Response): Promise { try { + const readingId = parseInt(req.params.readingId); await customerService.deleteMeterReading( parseInt(req.params.meterId), - parseInt(req.params.readingId) + readingId ); + await logChange({ + req, action: 'DELETE', resourceType: 'MeterReading', + resourceId: readingId.toString(), + label: `Zählerstand gelöscht`, + }); res.json({ success: true, data: null } as ApiResponse); } catch (error) { res.status(400).json({ @@ -389,6 +738,15 @@ export async function reportMeterReading(req: AuthRequest, res: Response): Promi data: { reportedBy: user.email, status: 'REPORTED' }, }); + // Audit + const meterInfo = await prisma.meter.findUnique({ where: { id: meterId }, select: { meterNumber: true } }); + await logChange({ + req, action: 'CREATE', resourceType: 'MeterReading', + label: `Zählerstand ${parsedValue} gemeldet (Zähler ${meterInfo?.meterNumber || meterId})`, + details: { zähler: meterInfo?.meterNumber, stand: parsedValue, datum: parsedDate.toISOString() }, + customerId: user.customerId, + }); + res.status(201).json({ success: true, data: reading } as ApiResponse); } catch (error) { res.status(400).json({ @@ -437,6 +795,12 @@ export async function markReadingTransferred(req: AuthRequest, res: Response): P }, }); + await logChange({ + req, action: 'UPDATE', resourceType: 'MeterReading', + resourceId: readingId.toString(), + label: `Zählerstand als übertragen markiert`, + }); + res.json({ success: true, data: reading } as ApiResponse); } catch (error) { res.status(400).json({ @@ -476,11 +840,58 @@ export async function getPortalSettings(req: Request, res: Response): Promise { try { + const customerId = parseInt(req.params.customerId); const { portalEnabled, portalEmail } = req.body; - const settings = await customerService.updatePortalSettings(parseInt(req.params.customerId), { + + // Vorherigen Stand laden für Audit + const before = await prisma.customer.findUnique({ + where: { id: customerId }, + select: { portalEnabled: true, portalEmail: true }, + }); + + const settings = await customerService.updatePortalSettings(customerId, { portalEnabled, portalEmail, }); + + // Audit: Geänderte Felder ermitteln und loggen + const data: Record = { portalEnabled, portalEmail }; + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + portalEnabled: 'Portal aktiv', portalEmail: 'Portal-E-Mail', + }; + for (const [key, newVal] of Object.entries(data)) { + if (newVal === undefined) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'PortalSettings', + resourceId: customerId.toString(), + label: changeList ? `Portal-Einstellungen aktualisiert für Kunde #${customerId}: ${changeList}` : `Portal-Einstellungen aktualisiert für Kunde #${customerId}`, + details: Object.keys(changes).length > 0 ? changes : undefined, + customerId, + }); + } else { + await logChange({ + req, action: 'UPDATE', resourceType: 'PortalSettings', + resourceId: customerId.toString(), + label: `Portal-Einstellungen aktualisiert für Kunde #${customerId}`, + customerId, + }); + } + res.json({ success: true, data: settings } as ApiResponse); } catch (error) { res.status(400).json({ @@ -500,7 +911,14 @@ export async function setPortalPassword(req: Request, res: Response): Promise { try { + const customerId = parseInt(req.params.customerId); const { representativeId, notes } = req.body; const representative = await customerService.addRepresentative( - parseInt(req.params.customerId), + customerId, parseInt(representativeId), notes ); + await logChange({ + req, action: 'CREATE', resourceType: 'Representative', + resourceId: representative.id.toString(), + label: `Vertreter hinzugefügt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: representative } as ApiResponse); } catch (error) { res.status(400).json({ @@ -556,10 +981,16 @@ export async function addRepresentative(req: Request, res: Response): Promise { try { + const customerId = parseInt(req.params.customerId); await customerService.removeRepresentative( - parseInt(req.params.customerId), + customerId, parseInt(req.params.representativeId) ); + await logChange({ + req, action: 'DELETE', resourceType: 'Representative', + label: `Vertreter entfernt für Kunde #${customerId}`, + customerId, + }); res.json({ success: true, message: 'Vertreter entfernt' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/emailProvider.controller.ts b/backend/src/controllers/emailProvider.controller.ts index cf024558..a03782d8 100644 --- a/backend/src/controllers/emailProvider.controller.ts +++ b/backend/src/controllers/emailProvider.controller.ts @@ -2,6 +2,7 @@ import { Request, Response } from 'express'; import * as emailProviderService from '../services/emailProvider/emailProviderService.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; // ==================== CONFIG CRUD ==================== @@ -43,6 +44,11 @@ export async function getProviderConfig(req: Request, res: Response): Promise { try { const config = await emailProviderService.createProviderConfig(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'EmailProviderConfig', + resourceId: config.id.toString(), + label: `E-Mail-Provider ${config.name} angelegt`, + }); res.status(201).json({ success: true, data: config } as ApiResponse); } catch (error) { res.status(400).json({ @@ -56,6 +62,11 @@ export async function updateProviderConfig(req: Request, res: Response): Promise try { const id = parseInt(req.params.id); const config = await emailProviderService.updateProviderConfig(id, req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'EmailProviderConfig', + resourceId: id.toString(), + label: `E-Mail-Provider ${config.name} aktualisiert`, + }); res.json({ success: true, data: config } as ApiResponse); } catch (error) { res.status(400).json({ @@ -68,7 +79,13 @@ export async function updateProviderConfig(req: Request, res: Response): Promise export async function deleteProviderConfig(req: Request, res: Response): Promise { try { const id = parseInt(req.params.id); + const config = await emailProviderService.getProviderConfigById(id); await emailProviderService.deleteProviderConfig(id); + await logChange({ + req, action: 'DELETE', resourceType: 'EmailProviderConfig', + resourceId: id.toString(), + label: `E-Mail-Provider ${config?.name || id} gelöscht`, + }); res.json({ success: true, message: 'Email-Provider gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/gdpr.controller.ts b/backend/src/controllers/gdpr.controller.ts index 852d6746..4680a508 100644 --- a/backend/src/controllers/gdpr.controller.ts +++ b/backend/src/controllers/gdpr.controller.ts @@ -4,16 +4,15 @@ import * as gdprService from '../services/gdpr.service.js'; import * as consentService from '../services/consent.service.js'; import * as consentPublicService from '../services/consent-public.service.js'; import * as appSettingService from '../services/appSetting.service.js'; -import { createAuditLog } from '../services/audit.service.js'; -import { ConsentType, DeletionRequestStatus, PrismaClient } from '@prisma/client'; +import { createAuditLog, logChange } from '../services/audit.service.js'; +import { ConsentType, DeletionRequestStatus } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import path from 'path'; import fs from 'fs'; import { sendEmail, SmtpCredentials } from '../services/smtpService.js'; import { getSystemEmailCredentials } from '../services/emailProvider/emailProviderService.js'; import * as authorizationService from '../services/authorization.service.js'; -const prisma = new PrismaClient(); - /** * Kundendaten exportieren (DSGVO Art. 15) */ @@ -73,6 +72,13 @@ export async function createDeletionRequest(req: AuthRequest, res: Response) { requestedBy: req.user?.email || 'unknown', }); + await logChange({ + req, action: 'CREATE', resourceType: 'DeletionRequest', + resourceId: request.id.toString(), + label: `Löschanfrage erstellt für Kunde #${customerId}`, + customerId, + }); + res.status(201).json({ success: true, data: request }); } catch (error) { console.error('Fehler beim Erstellen der Löschanfrage:', error); @@ -281,6 +287,13 @@ export async function updateCustomerConsent(req: AuthRequest, res: Response) { return res.status(400).json({ success: false, error: 'Ungültiger Consent-Typ' }); } + const consentLabels: Record = { + DATA_PROCESSING: 'Datenverarbeitung', + MARKETING_EMAIL: 'E-Mail-Marketing', + MARKETING_PHONE: 'Telefonmarketing', + DATA_SHARING_PARTNER: 'Datenweitergabe', + }; + const consent = await consentService.updateConsent(customerId, consentType, { status, source: source || 'portal', @@ -290,6 +303,14 @@ export async function updateCustomerConsent(req: AuthRequest, res: Response) { createdBy: req.user?.email || 'unknown', }); + const consentName = consentLabels[consentType] || consentType; + await logChange({ + req, action: 'UPDATE', resourceType: 'CustomerConsent', + label: status === 'GRANTED' ? `Einwilligung "${consentName}" erteilt` : `Einwilligung "${consentName}" widerrufen`, + details: { einwilligung: consentName, status, quelle: source || 'portal' }, + customerId, + }); + res.json({ success: true, data: consent }); } catch (error) { console.error('Fehler beim Aktualisieren der Einwilligung:', error); @@ -350,6 +371,11 @@ export async function updatePrivacyPolicy(req: AuthRequest, res: Response) { await appSettingService.setSetting('privacyPolicyHtml', html); + await logChange({ + req, action: 'UPDATE', resourceType: 'PrivacyPolicy', + label: `Datenschutzerklärung aktualisiert`, + }); + res.json({ success: true, message: 'Datenschutzerklärung gespeichert' }); } catch (error) { console.error('Fehler beim Speichern der Datenschutzerklärung:', error); @@ -383,6 +409,11 @@ export async function updateAuthorizationTemplate(req: AuthRequest, res: Respons await appSettingService.setSetting('authorizationTemplateHtml', html); + await logChange({ + req, action: 'UPDATE', resourceType: 'AuthorizationTemplate', + label: `Vollmacht-Vorlage aktualisiert`, + }); + res.json({ success: true, message: 'Vollmacht-Vorlage gespeichert' }); } catch (error) { console.error('Fehler beim Speichern der Vollmacht-Vorlage:', error); @@ -743,6 +774,15 @@ export async function grantAuthorization(req: AuthRequest, res: Response) { notes, }); + const rep = await prisma.customer.findUnique({ where: { id: representativeId }, select: { firstName: true, lastName: true } }); + const repName = rep ? `${rep.firstName} ${rep.lastName}` : `#${representativeId}`; + await logChange({ + req, action: 'UPDATE', resourceType: 'Authorization', + resourceId: auth.id.toString(), + label: `Vollmacht für ${repName} erteilt (Admin)`, + customerId, + }); + res.json({ success: true, data: auth }); } catch (error) { console.error('Fehler beim Erteilen der Vollmacht:', error); @@ -762,6 +802,16 @@ export async function withdrawAuthorization(req: AuthRequest, res: Response) { const representativeId = parseInt(req.params.representativeId); const auth = await authorizationService.withdrawAuthorization(customerId, representativeId); + + const rep = await prisma.customer.findUnique({ where: { id: representativeId }, select: { firstName: true, lastName: true } }); + const repName = rep ? `${rep.firstName} ${rep.lastName}` : `#${representativeId}`; + await logChange({ + req, action: 'UPDATE', resourceType: 'Authorization', + resourceId: auth.id.toString(), + label: `Vollmacht für ${repName} widerrufen (Admin)`, + customerId, + }); + res.json({ success: true, data: auth }); } catch (error) { console.error('Fehler beim Widerrufen der Vollmacht:', error); @@ -791,6 +841,13 @@ export async function uploadAuthorizationDocument(req: AuthRequest, res: Respons documentPath ); + await logChange({ + req, action: 'CREATE', resourceType: 'AuthorizationDocument', + resourceId: auth.id.toString(), + label: `Vollmacht-PDF hochgeladen für Vertreter #${representativeId}`, + customerId, + }); + res.json({ success: true, data: auth }); } catch (error) { console.error('Fehler beim Upload des Vollmacht-Dokuments:', error); @@ -810,6 +867,14 @@ export async function deleteAuthorizationDocument(req: AuthRequest, res: Respons const representativeId = parseInt(req.params.representativeId); const auth = await authorizationService.deleteAuthorizationDocument(customerId, representativeId); + + await logChange({ + req, action: 'DELETE', resourceType: 'AuthorizationDocument', + resourceId: auth.id.toString(), + label: `Vollmacht-PDF gelöscht für Vertreter #${representativeId}`, + customerId, + }); + res.json({ success: true, data: auth }); } catch (error) { console.error('Fehler beim Löschen des Vollmacht-Dokuments:', error); @@ -852,13 +917,22 @@ export async function toggleMyAuthorization(req: AuthRequest, res: Response) { const representativeId = parseInt(req.params.representativeId); const { grant } = req.body; + // Vertreter-Name laden + const representative = await prisma.customer.findUnique({ + where: { id: representativeId }, + select: { firstName: true, lastName: true }, + }); + const repName = representative ? `${representative.firstName} ${representative.lastName}` : `#${representativeId}`; + let auth; if (grant) { auth = await authorizationService.grantAuthorization(user.customerId, representativeId, { source: 'portal', }); + await logChange({ req, action: 'UPDATE', resourceType: 'RepresentativeAuthorization', label: `Vollmacht für ${repName} erteilt`, details: { status: 'erteilt', vertreter: repName, quelle: 'portal' }, customerId: user.customerId }); } else { auth = await authorizationService.withdrawAuthorization(user.customerId, representativeId); + await logChange({ req, action: 'UPDATE', resourceType: 'RepresentativeAuthorization', label: `Vollmacht für ${repName} widerrufen`, details: { status: 'widerrufen', vertreter: repName, quelle: 'portal' }, customerId: user.customerId }); } res.json({ success: true, data: auth }); diff --git a/backend/src/controllers/invoice.controller.ts b/backend/src/controllers/invoice.controller.ts index b27b8738..3dd9a0b9 100644 --- a/backend/src/controllers/invoice.controller.ts +++ b/backend/src/controllers/invoice.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as invoiceService from '../services/invoice.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; /** @@ -69,6 +70,12 @@ export async function addInvoice(req: Request, res: Response): Promise { notes, }); + await logChange({ + req, action: 'CREATE', resourceType: 'Invoice', + resourceId: invoice.id.toString(), + label: `Rechnung (${invoiceType}) hinzugefügt`, + }); + res.status(201).json({ success: true, data: invoice } as ApiResponse); } catch (error) { console.error('addInvoice error:', error); @@ -95,6 +102,12 @@ export async function updateInvoice(req: Request, res: Response): Promise notes, }); + await logChange({ + req, action: 'UPDATE', resourceType: 'Invoice', + resourceId: invoiceId.toString(), + label: `Rechnung aktualisiert`, + }); + res.json({ success: true, data: invoice } as ApiResponse); } catch (error) { console.error('updateInvoice error:', error); @@ -115,6 +128,12 @@ export async function deleteInvoice(req: Request, res: Response): Promise await invoiceService.deleteInvoice(ecdId, invoiceId); + await logChange({ + req, action: 'DELETE', resourceType: 'Invoice', + resourceId: invoiceId.toString(), + label: `Rechnung gelöscht`, + }); + res.json({ success: true, data: null } as ApiResponse); } catch (error) { console.error('deleteInvoice error:', error); diff --git a/backend/src/controllers/platform.controller.ts b/backend/src/controllers/platform.controller.ts index 81300652..870b2457 100644 --- a/backend/src/controllers/platform.controller.ts +++ b/backend/src/controllers/platform.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as platformService from '../services/platform.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getPlatforms(req: Request, res: Response): Promise { @@ -37,6 +38,11 @@ export async function getPlatform(req: Request, res: Response): Promise { export async function createPlatform(req: Request, res: Response): Promise { try { const platform = await platformService.createPlatform(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'Platform', + resourceId: platform.id.toString(), + label: `Vertriebsplattform ${platform.name} angelegt`, + }); res.status(201).json({ success: true, data: platform } as ApiResponse); } catch (error) { res.status(400).json({ @@ -49,6 +55,11 @@ export async function createPlatform(req: Request, res: Response): Promise export async function updatePlatform(req: Request, res: Response): Promise { try { const platform = await platformService.updatePlatform(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'Platform', + resourceId: platform.id.toString(), + label: `Vertriebsplattform ${platform.name} aktualisiert`, + }); res.json({ success: true, data: platform } as ApiResponse); } catch (error) { res.status(400).json({ @@ -60,7 +71,14 @@ export async function updatePlatform(req: Request, res: Response): Promise export async function deletePlatform(req: Request, res: Response): Promise { try { - await platformService.deletePlatform(parseInt(req.params.id)); + const platformId = parseInt(req.params.id); + const platform = await platformService.getPlatformById(platformId); + await platformService.deletePlatform(platformId); + await logChange({ + req, action: 'DELETE', resourceType: 'Platform', + resourceId: platformId.toString(), + label: `Vertriebsplattform ${platform?.name || platformId} gelöscht`, + }); res.json({ success: true, message: 'Vertriebsplattform gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/provider.controller.ts b/backend/src/controllers/provider.controller.ts index fd598b68..fa40ab70 100644 --- a/backend/src/controllers/provider.controller.ts +++ b/backend/src/controllers/provider.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as providerService from '../services/provider.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getProviders(req: Request, res: Response): Promise { @@ -37,6 +38,11 @@ export async function getProvider(req: Request, res: Response): Promise { export async function createProvider(req: Request, res: Response): Promise { try { const provider = await providerService.createProvider(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'Provider', + resourceId: provider.id.toString(), + label: `Anbieter ${provider.name} angelegt`, + }); res.status(201).json({ success: true, data: provider } as ApiResponse); } catch (error) { res.status(400).json({ @@ -49,6 +55,11 @@ export async function createProvider(req: Request, res: Response): Promise export async function updateProvider(req: Request, res: Response): Promise { try { const provider = await providerService.updateProvider(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'Provider', + resourceId: provider.id.toString(), + label: `Anbieter ${provider.name} aktualisiert`, + }); res.json({ success: true, data: provider } as ApiResponse); } catch (error) { res.status(400).json({ @@ -60,7 +71,14 @@ export async function updateProvider(req: Request, res: Response): Promise export async function deleteProvider(req: Request, res: Response): Promise { try { - await providerService.deleteProvider(parseInt(req.params.id)); + const providerId = parseInt(req.params.id); + const provider = await providerService.getProviderById(providerId); + await providerService.deleteProvider(providerId); + await logChange({ + req, action: 'DELETE', resourceType: 'Provider', + resourceId: providerId.toString(), + label: `Anbieter ${provider?.name || providerId} gelöscht`, + }); res.json({ success: true, message: 'Anbieter gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/stressfreiEmail.controller.ts b/backend/src/controllers/stressfreiEmail.controller.ts index 7b20cd28..4c2205d1 100644 --- a/backend/src/controllers/stressfreiEmail.controller.ts +++ b/backend/src/controllers/stressfreiEmail.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as stressfreiEmailService from '../services/stressfreiEmail.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getEmailsByCustomer(req: Request, res: Response): Promise { @@ -42,6 +43,12 @@ export async function createEmail(req: Request, res: Response): Promise { ...req.body, customerId, }); + await logChange({ + req, action: 'CREATE', resourceType: 'StressfreiEmail', + resourceId: email.id.toString(), + label: `Stressfrei-Wechseln Adresse angelegt für Kunde #${customerId}`, + customerId, + }); res.status(201).json({ success: true, data: email } as ApiResponse); } catch (error) { res.status(400).json({ @@ -54,6 +61,11 @@ export async function createEmail(req: Request, res: Response): Promise { export async function updateEmail(req: Request, res: Response): Promise { try { const email = await stressfreiEmailService.updateEmail(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'StressfreiEmail', + resourceId: email.id.toString(), + label: `Stressfrei-Wechseln Adresse aktualisiert`, + }); res.json({ success: true, data: email } as ApiResponse); } catch (error) { res.status(400).json({ @@ -65,7 +77,13 @@ export async function updateEmail(req: Request, res: Response): Promise { export async function deleteEmail(req: Request, res: Response): Promise { try { - await stressfreiEmailService.deleteEmail(parseInt(req.params.id)); + const emailId = parseInt(req.params.id); + await stressfreiEmailService.deleteEmail(emailId); + await logChange({ + req, action: 'DELETE', resourceType: 'StressfreiEmail', + resourceId: emailId.toString(), + label: `Stressfrei-Wechseln Adresse gelöscht`, + }); res.json({ success: true, message: 'Stressfrei-Wechseln Adresse gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/tariff.controller.ts b/backend/src/controllers/tariff.controller.ts index 1138ec41..043e7302 100644 --- a/backend/src/controllers/tariff.controller.ts +++ b/backend/src/controllers/tariff.controller.ts @@ -1,5 +1,6 @@ import { Request, Response } from 'express'; import * as tariffService from '../services/tariff.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; export async function getTariffs(req: Request, res: Response): Promise { @@ -39,6 +40,11 @@ export async function createTariff(req: Request, res: Response): Promise { try { const providerId = parseInt(req.params.providerId); const tariff = await tariffService.createTariff({ ...req.body, providerId }); + await logChange({ + req, action: 'CREATE', resourceType: 'Tariff', + resourceId: tariff.id.toString(), + label: `Tarif ${tariff.name} angelegt`, + }); res.status(201).json({ success: true, data: tariff } as ApiResponse); } catch (error) { res.status(400).json({ @@ -51,6 +57,11 @@ export async function createTariff(req: Request, res: Response): Promise { export async function updateTariff(req: Request, res: Response): Promise { try { const tariff = await tariffService.updateTariff(parseInt(req.params.id), req.body); + await logChange({ + req, action: 'UPDATE', resourceType: 'Tariff', + resourceId: tariff.id.toString(), + label: `Tarif ${tariff.name} aktualisiert`, + }); res.json({ success: true, data: tariff } as ApiResponse); } catch (error) { res.status(400).json({ @@ -62,7 +73,14 @@ export async function updateTariff(req: Request, res: Response): Promise { export async function deleteTariff(req: Request, res: Response): Promise { try { - await tariffService.deleteTariff(parseInt(req.params.id)); + const tariffId = parseInt(req.params.id); + const tariff = await tariffService.getTariffById(tariffId); + await tariffService.deleteTariff(tariffId); + await logChange({ + req, action: 'DELETE', resourceType: 'Tariff', + resourceId: tariffId.toString(), + label: `Tarif ${tariff?.name || tariffId} gelöscht`, + }); res.json({ success: true, message: 'Tarif gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/controllers/user.controller.ts b/backend/src/controllers/user.controller.ts index 791332f0..e082cc0c 100644 --- a/backend/src/controllers/user.controller.ts +++ b/backend/src/controllers/user.controller.ts @@ -1,5 +1,7 @@ import { Request, Response } from 'express'; +import prisma from '../lib/prisma.js'; import * as userService from '../services/user.service.js'; +import { logChange } from '../services/audit.service.js'; import { ApiResponse } from '../types/index.js'; // Users @@ -48,6 +50,11 @@ export async function getUser(req: Request, res: Response): Promise { export async function createUser(req: Request, res: Response): Promise { try { const user = await userService.createUser(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'User', + resourceId: user.id.toString(), + label: `Benutzer ${user.firstName} ${user.lastName} angelegt`, + }); res.status(201).json({ success: true, data: user } as ApiResponse); } catch (error) { res.status(400).json({ @@ -59,7 +66,49 @@ export async function createUser(req: Request, res: Response): Promise { export async function updateUser(req: Request, res: Response): Promise { try { - const user = await userService.updateUser(parseInt(req.params.id), req.body); + const userId = parseInt(req.params.id); + const data = req.body; + + // Vorherigen Stand laden für Audit + const before = await prisma.user.findUnique({ where: { id: userId } }); + + const user = await userService.updateUser(userId, data); + if (user) { + // Audit: Geänderte Felder ermitteln und loggen + if (before) { + const changes: Record = {}; + const fieldLabels: Record = { + email: 'E-Mail', firstName: 'Vorname', lastName: 'Nachname', isActive: 'Aktiv', + }; + for (const [key, newVal] of Object.entries(data)) { + if (['id', 'createdAt', 'updatedAt'].includes(key)) continue; + const oldVal = (before as any)[key]; + const norm = (v: unknown) => (v === null || v === undefined || v === '' ? null : v); + if (JSON.stringify(norm(oldVal)) !== JSON.stringify(norm(newVal))) { + const label = fieldLabels[key] || key; + const formatVal = (v: unknown) => { + if (v === null || v === undefined || v === '') return '-'; + if (typeof v === 'boolean') return v ? 'Ja' : 'Nein'; + return String(v); + }; + changes[label] = { von: formatVal(oldVal), nach: formatVal(newVal) }; + } + } + const changeList = Object.entries(changes).map(([f, c]) => `${f}: ${c.von} → ${c.nach}`).join(', '); + await logChange({ + req, action: 'UPDATE', resourceType: 'User', + resourceId: user.id.toString(), + label: changeList ? `Benutzer ${user.firstName} ${user.lastName} aktualisiert: ${changeList}` : `Benutzer ${user.firstName} ${user.lastName} aktualisiert`, + details: Object.keys(changes).length > 0 ? changes : undefined, + }); + } else { + await logChange({ + req, action: 'UPDATE', resourceType: 'User', + resourceId: user.id.toString(), + label: `Benutzer ${user.firstName} ${user.lastName} aktualisiert`, + }); + } + } res.json({ success: true, data: user } as ApiResponse); } catch (error) { res.status(400).json({ @@ -71,7 +120,14 @@ export async function updateUser(req: Request, res: Response): Promise { export async function deleteUser(req: Request, res: Response): Promise { try { - await userService.deleteUser(parseInt(req.params.id)); + const userId = parseInt(req.params.id); + const userBefore = await userService.getUserById(userId); + await userService.deleteUser(userId); + await logChange({ + req, action: 'DELETE', resourceType: 'User', + resourceId: userId.toString(), + label: `Benutzer ${userBefore?.firstName || ''} ${userBefore?.lastName || ''} gelöscht`, + }); res.json({ success: true, message: 'Benutzer gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ @@ -116,6 +172,11 @@ export async function getRole(req: Request, res: Response): Promise { export async function createRole(req: Request, res: Response): Promise { try { const role = await userService.createRole(req.body); + await logChange({ + req, action: 'CREATE', resourceType: 'Role', + resourceId: role.id.toString(), + label: `Rolle ${role.name} angelegt`, + }); res.status(201).json({ success: true, data: role } as ApiResponse); } catch (error) { res.status(400).json({ @@ -128,6 +189,13 @@ export async function createRole(req: Request, res: Response): Promise { export async function updateRole(req: Request, res: Response): Promise { try { const role = await userService.updateRole(parseInt(req.params.id), req.body); + if (role) { + await logChange({ + req, action: 'UPDATE', resourceType: 'Role', + resourceId: role.id.toString(), + label: `Rolle ${role.name} aktualisiert`, + }); + } res.json({ success: true, data: role } as ApiResponse); } catch (error) { res.status(400).json({ @@ -139,7 +207,14 @@ export async function updateRole(req: Request, res: Response): Promise { export async function deleteRole(req: Request, res: Response): Promise { try { - await userService.deleteRole(parseInt(req.params.id)); + const roleId = parseInt(req.params.id); + const role = await userService.getRoleById(roleId); + await userService.deleteRole(roleId); + await logChange({ + req, action: 'DELETE', resourceType: 'Role', + resourceId: roleId.toString(), + label: `Rolle ${role?.name || roleId} gelöscht`, + }); res.json({ success: true, message: 'Rolle gelöscht' } as ApiResponse); } catch (error) { res.status(400).json({ diff --git a/backend/src/lib/prisma.ts b/backend/src/lib/prisma.ts index f6f73875..109781a2 100644 --- a/backend/src/lib/prisma.ts +++ b/backend/src/lib/prisma.ts @@ -17,6 +17,11 @@ const AUDITED_MODELS = [ 'ContractCategory', 'AppSetting', 'CustomerConsent', + 'EnergyContractDetails', + 'RepresentativeAuthorization', + 'ContractMeter', + 'EmailProviderConfig', + 'ContractTask', ]; // Sensible Felder die aus dem Audit-Log gefiltert werden diff --git a/backend/src/middleware/audit.ts b/backend/src/middleware/audit.ts index cbda66b3..694147fb 100644 --- a/backend/src/middleware/audit.ts +++ b/backend/src/middleware/audit.ts @@ -387,17 +387,44 @@ export function auditMiddleware(req: AuthRequest, res: Response, next: NextFunct }; // Response-Ende abfangen für Logging + // Audit-Kontext hier erfassen (bevor AsyncLocalStorage den Kontext verliert) + let capturedAuditContext: ReturnType | undefined; + + const origEnd = res.end; + (res as any).end = function(chunk?: any, encoding?: any, cb?: any) { + // Kontext VOR dem Ende erfassen + capturedAuditContext = getAuditContext(); + return origEnd.call(this, chunk, encoding, cb); + }; + res.on('finish', () => { // Async Logging - blockiert nicht die Response setImmediate(async () => { try { const durationMs = Date.now() - startTime; const action = determineAction(req.method, req.path, responseSuccess); + + // READ-Aktionen nicht loggen (nur Änderungen, Logins und Exporte) + if (action === 'READ') return; + + // Routen die bereits gezielt via logChange() geloggt werden → nicht doppelt loggen + const manuallyLoggedPaths = [ + '/api/customers', + '/api/contracts', + '/api/meters', + '/api/gdpr', + '/api/upload', + ]; + // Login/Logout immer loggen + if (action !== 'LOGIN' && action !== 'LOGOUT' && action !== 'LOGIN_FAILED') { + if (manuallyLoggedPaths.some(p => req.originalUrl?.startsWith(p) || req.baseUrl?.startsWith(p))) return; + } + const resourceId = mapping.extractId?.(req); const dataSubjectId = extractDataSubjectId(req); - // Audit-Kontext abrufen (enthält Before/After-Werte von Prisma Middleware) - const auditContext = getAuditContext(); + // Audit-Kontext nutzen (wurde vor Response-Ende erfasst) + const auditContext = capturedAuditContext; // Menschenlesbares Label generieren const resourceLabel = generateHumanLabel(action, mapping.type, req, responseBody); @@ -405,7 +432,7 @@ export function auditMiddleware(req: AuthRequest, res: Response, next: NextFunct await createAuditLog({ userId: req.user?.userId, userEmail: req.user?.email || 'anonymous', - userRole: req.user?.permissions?.join(', '), + userRole: req.user?.isCustomerPortal ? 'Kundenportal' : (req.user as any)?.roleName || 'Mitarbeiter', customerId: req.user?.customerId, isCustomerPortal: req.user?.isCustomerPortal, action, diff --git a/backend/src/middleware/auth.ts b/backend/src/middleware/auth.ts index f2ab5485..a61042f4 100644 --- a/backend/src/middleware/auth.ts +++ b/backend/src/middleware/auth.ts @@ -1,10 +1,8 @@ import { Response, NextFunction } from 'express'; import jwt from 'jsonwebtoken'; -import { PrismaClient } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import { AuthRequest, JwtPayload } from '../types/index.js'; -const prisma = new PrismaClient(); - export async function authenticate( req: AuthRequest, res: Response, diff --git a/backend/src/routes/auditLog.routes.ts b/backend/src/routes/auditLog.routes.ts index 4c474dd1..0fb65caf 100644 --- a/backend/src/routes/auditLog.routes.ts +++ b/backend/src/routes/auditLog.routes.ts @@ -10,17 +10,20 @@ router.use(authenticate); // Audit-Logs abrufen router.get('/', requirePermission('audit:read'), auditLogController.getAuditLogs); -// Einzelnes Audit-Log abrufen -router.get('/:id', requirePermission('audit:read'), auditLogController.getAuditLogById); +// Audit-Logs exportieren (muss VOR /:id stehen!) +router.get('/export', requirePermission('audit:read'), auditLogController.exportAuditLogs); // Audit-Logs für einen Kunden (DSGVO) router.get('/customer/:customerId', requirePermission('audit:read'), auditLogController.getAuditLogsByCustomer); -// Audit-Logs exportieren -router.get('/export', requirePermission('audit:export'), auditLogController.exportAuditLogs); +// Einzelnes Audit-Log abrufen +router.get('/:id', requirePermission('audit:read'), auditLogController.getAuditLogById); // Hash-Ketten-Integrität prüfen -router.post('/verify', requirePermission('audit:admin'), auditLogController.verifyIntegrity); +router.post('/verify', requirePermission('audit:read'), auditLogController.verifyIntegrity); + +// Hash-Kette reparieren +router.post('/rehash', requirePermission('audit:admin'), auditLogController.rehashAll); // Retention-Policies router.get('/retention-policies', requirePermission('audit:admin'), auditLogController.getRetentionPolicies); diff --git a/backend/src/routes/developer.routes.ts b/backend/src/routes/developer.routes.ts index 55fda53a..8518c0c6 100644 --- a/backend/src/routes/developer.routes.ts +++ b/backend/src/routes/developer.routes.ts @@ -1,10 +1,10 @@ import { Router, Response } from 'express'; -import { PrismaClient, Prisma } from '@prisma/client'; +import { Prisma } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import { authenticate, requirePermission } from '../middleware/auth.js'; import { AuthRequest } from '../types/index.js'; const router = Router(); -const prisma = new PrismaClient(); // Setup-Endpunkt: Erstellt die developer:access Permission und fügt sie der Admin-Rolle hinzu // Dieser Endpunkt erfordert keine Authentifizierung, da er nur einmalig zum Setup verwendet wird diff --git a/backend/src/routes/upload.routes.ts b/backend/src/routes/upload.routes.ts index b99a2174..dcee33b6 100644 --- a/backend/src/routes/upload.routes.ts +++ b/backend/src/routes/upload.routes.ts @@ -2,12 +2,12 @@ import { Router, Response } from 'express'; import multer from 'multer'; import path from 'path'; import fs from 'fs'; -import { PrismaClient } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import { authenticate, requirePermission } from '../middleware/auth.js'; import { AuthRequest } from '../types/index.js'; +import { logChange } from '../services/audit.service.js'; const router = Router(); -const prisma = new PrismaClient(); // Uploads-Verzeichnis erstellen falls nicht vorhanden const uploadsDir = path.join(process.cwd(), 'uploads'); @@ -450,6 +450,15 @@ router.post( }); } + // Audit + const cust = await prisma.customer.findUnique({ where: { id: customerId }, select: { firstName: true, lastName: true } }); + await logChange({ + req, action: 'CREATE', resourceType: 'CustomerConsent', + label: `Datenschutzerklärung-PDF hochgeladen für ${cust?.firstName} ${cust?.lastName} – alle Einwilligungen erteilt`, + details: { aktion: 'PDF hochgeladen', einwilligungen: 'alle erteilt', quelle: 'papier' }, + customerId, + }); + res.json({ success: true, data: { @@ -504,6 +513,15 @@ router.delete( data: { status: 'WITHDRAWN', withdrawnAt: new Date() }, }); + // Audit + const cust = await prisma.customer.findUnique({ where: { id: customerId }, select: { firstName: true, lastName: true } }); + await logChange({ + req, action: 'DELETE', resourceType: 'CustomerConsent', + label: `Datenschutzerklärung-PDF gelöscht für ${cust?.firstName} ${cust?.lastName} – Papier-Einwilligungen widerrufen`, + details: { aktion: 'PDF gelöscht', einwilligungen: 'papier-basierte widerrufen' }, + customerId, + }); + res.json({ success: true }); } catch (error) { console.error('Delete error:', error); diff --git a/backend/src/services/appSetting.service.ts b/backend/src/services/appSetting.service.ts index 0d1034cd..5d115e21 100644 --- a/backend/src/services/appSetting.service.ts +++ b/backend/src/services/appSetting.service.ts @@ -1,6 +1,4 @@ -import { PrismaClient } from '@prisma/client'; - -const prisma = new PrismaClient(); +import prisma from '../lib/prisma.js'; // Default settings const DEFAULT_SETTINGS: Record = { diff --git a/backend/src/services/audit.service.ts b/backend/src/services/audit.service.ts index 2e48a203..44c0474a 100644 --- a/backend/src/services/audit.service.ts +++ b/backend/src/services/audit.service.ts @@ -3,6 +3,42 @@ import crypto from 'crypto'; import { encrypt, decrypt } from '../utils/encryption.js'; import prisma from '../lib/prisma.js'; +/** + * Vereinfachte Audit-Log-Funktion für gezielte Änderungsprotokolle. + * Wird direkt in Controllern aufgerufen mit aussagekräftigen Details. + */ +export async function logChange(opts: { + req: any; // Express Request (für userId, email, IP) + action: AuditAction; + resourceType: string; + resourceId?: string; + label: string; // Menschenlesbares Label z.B. "Vollmacht für Stefan Hacker widerrufen" + details?: Record; // Zusätzliche Details z.B. { vorher: 'erteilt', nachher: 'widerrufen' } + customerId?: number; +}) { + try { + const user = opts.req?.user; + await createAuditLog({ + userId: user?.userId, + userEmail: user?.email || 'system', + userRole: user?.isCustomerPortal ? 'Kundenportal' : 'Mitarbeiter', + customerId: user?.customerId, + isCustomerPortal: user?.isCustomerPortal, + action: opts.action, + resourceType: opts.resourceType, + resourceId: opts.resourceId, + resourceLabel: opts.label, + endpoint: opts.req?.path || '', + httpMethod: opts.req?.method || '', + ipAddress: opts.req?.socket?.remoteAddress || opts.req?.headers?.['x-forwarded-for'] || 'unknown', + dataSubjectId: opts.customerId, + changesAfter: opts.details, + }); + } catch (error) { + console.error('[logChange] Fehler:', error); + } +} + export interface CreateAuditLogData { userId?: number; userEmail: string; @@ -101,16 +137,11 @@ function determineSensitivity(resourceType: string): AuditSensitivity { } /** - * Prüft ob Änderungen verschlüsselt werden sollen + * Prüft ob Änderungen verschlüsselt werden sollen. + * Deaktiviert - sensible Felder werden bereits von der Prisma-Middleware als [REDACTED] gefiltert. */ -function shouldEncryptChanges(resourceType: string): boolean { - const encryptedTypes = [ - 'BankCard', - 'IdentityDocument', - 'User', - 'Customer', // Enthält Portal-Passwörter - ]; - return encryptedTypes.includes(resourceType); +function shouldEncryptChanges(_resourceType: string): boolean { + return false; } /** @@ -381,6 +412,49 @@ export async function verifyIntegrity(fromId?: number, toId?: number): Promise<{ }; } +/** + * Hash-Kette komplett neu berechnen (Reparatur) + */ +export async function rehashAll(): Promise<{ rehashedCount: number }> { + const logs = await prisma.auditLog.findMany({ + orderBy: { id: 'asc' }, + select: { + id: true, + userEmail: true, + action: true, + resourceType: true, + resourceId: true, + endpoint: true, + createdAt: true, + }, + }); + + let previousHash: string | null = null; + let count = 0; + + for (const log of logs) { + const hash = generateHash({ + userEmail: log.userEmail, + action: log.action, + resourceType: log.resourceType, + resourceId: log.resourceId, + endpoint: log.endpoint, + createdAt: log.createdAt, + previousHash, + }); + + await prisma.auditLog.update({ + where: { id: log.id }, + data: { hash, previousHash }, + }); + + previousHash = hash; + count++; + } + + return { rehashedCount: count }; +} + /** * Exportiert Audit-Logs als JSON oder CSV */ diff --git a/backend/src/services/auth.service.ts b/backend/src/services/auth.service.ts index 58e56555..1ce57a2c 100644 --- a/backend/src/services/auth.service.ts +++ b/backend/src/services/auth.service.ts @@ -1,11 +1,9 @@ -import { PrismaClient } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import bcrypt from 'bcryptjs'; import jwt from 'jsonwebtoken'; import { JwtPayload } from '../types/index.js'; import { encrypt, decrypt } from '../utils/encryption.js'; -const prisma = new PrismaClient(); - // Mitarbeiter-Login export async function login(email: string, password: string) { const user = await prisma.user.findUnique({ diff --git a/backend/src/services/backup.service.ts b/backend/src/services/backup.service.ts index 8064a6f6..01a56b92 100644 --- a/backend/src/services/backup.service.ts +++ b/backend/src/services/backup.service.ts @@ -4,15 +4,13 @@ * Ermöglicht Backup und Restore der Datenbank und Uploads über die Web-Oberfläche. */ -import { PrismaClient } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import * as fs from 'fs'; import * as path from 'path'; import archiver from 'archiver'; import AdmZip from 'adm-zip'; import bcrypt from 'bcryptjs'; -const prisma = new PrismaClient(); - // Verzeichnisse const BACKUPS_DIR = path.join(__dirname, '../../prisma/backups'); const UPLOADS_DIR = path.join(process.cwd(), 'uploads'); diff --git a/backend/src/services/cachedEmail.service.ts b/backend/src/services/cachedEmail.service.ts index a60d5b99..2a16973e 100644 --- a/backend/src/services/cachedEmail.service.ts +++ b/backend/src/services/cachedEmail.service.ts @@ -1,13 +1,12 @@ // ==================== CACHED EMAIL SERVICE ==================== // Service für E-Mail-Caching und Vertragszuordnung -import { PrismaClient, CachedEmail, Prisma, EmailFolder } from '@prisma/client'; +import { CachedEmail, Prisma, EmailFolder } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import { decrypt } from '../utils/encryption.js'; import { fetchEmails, ImapCredentials, FetchedEmail, moveToTrash, restoreFromTrash, permanentDelete } from './imapService.js'; import { getImapSmtpSettings } from './emailProvider/emailProviderService.js'; -const prisma = new PrismaClient(); - // ==================== TYPES ==================== export interface CachedEmailWithRelations extends CachedEmail { diff --git a/backend/src/services/cancellation-period.service.ts b/backend/src/services/cancellation-period.service.ts index 6535a455..96bd586e 100644 --- a/backend/src/services/cancellation-period.service.ts +++ b/backend/src/services/cancellation-period.service.ts @@ -1,6 +1,4 @@ -import { PrismaClient } from '@prisma/client'; - -const prisma = new PrismaClient(); +import prisma from '../lib/prisma.js'; export async function getAllCancellationPeriods(includeInactive = false) { const where = includeInactive ? {} : { isActive: true }; diff --git a/backend/src/services/consent.service.ts b/backend/src/services/consent.service.ts index 739a0a54..52d02c1f 100644 --- a/backend/src/services/consent.service.ts +++ b/backend/src/services/consent.service.ts @@ -253,8 +253,8 @@ export const CONSENT_TYPE_LABELS: Record = { customerId }; if (!includeInactive) { diff --git a/backend/src/services/tariff.service.ts b/backend/src/services/tariff.service.ts index 61a64c36..25d19b9c 100644 --- a/backend/src/services/tariff.service.ts +++ b/backend/src/services/tariff.service.ts @@ -1,6 +1,4 @@ -import { PrismaClient } from '@prisma/client'; - -const prisma = new PrismaClient(); +import prisma from '../lib/prisma.js'; export async function getTariffsByProvider(providerId: number, includeInactive = false) { const where: { providerId: number; isActive?: boolean } = { providerId }; diff --git a/backend/src/services/user.service.ts b/backend/src/services/user.service.ts index cb5c8f3a..f58c9f8a 100644 --- a/backend/src/services/user.service.ts +++ b/backend/src/services/user.service.ts @@ -1,9 +1,7 @@ -import { PrismaClient } from '@prisma/client'; +import prisma from '../lib/prisma.js'; import bcrypt from 'bcryptjs'; import { paginate, buildPaginationResponse } from '../utils/helpers.js'; -const prisma = new PrismaClient(); - export interface UserFilters { search?: string; isActive?: boolean; diff --git a/backend/todo.md b/backend/todo.md index f58753ca..a3435f5c 100644 --- a/backend/todo.md +++ b/backend/todo.md @@ -16,7 +16,7 @@ Entsperrung nur durch: alle Haken wieder setzen ODER neues PDF hochladen Zweitarif (Gibt es auch 3 Tarifuzähler?) Zähler HT/NT bei Strom Zähler hinzufügen. Auch in die Berechnung die Verbäuche dann darstellen - +#erledigt Alle Datumsfelder mit 0 davor wenn es ne einstellige Zahl ist Jetzt : 1.1.2026 @@ -27,8 +27,18 @@ Die Auditmeldungen aussagekräftig Email Log und system testen - +Sprich senden und Empfnagen Security System testen +Datenschutzerklärung Website unserer Seite und ein impressum im Kundenportal. + +Auch wieder über das Einstellungsmenü editirerbar. +Bitte mach mir da auch einen Vorschagstext rein + + +Geburtstagskalender, und Geburtgsgruß als Modal beim ersten Login an dem Tag, +Sollte der Login bis n7 btage nach Geburtsag sein dann Glückwunsch nachträglich + + diff --git a/frontend/src/components/contracts/InvoicesSection.tsx b/frontend/src/components/contracts/InvoicesSection.tsx index 85877a8d..e5466308 100644 --- a/frontend/src/components/contracts/InvoicesSection.tsx +++ b/frontend/src/components/contracts/InvoicesSection.tsx @@ -1,5 +1,6 @@ import { useState, useRef } from 'react'; import { useMutation, useQueryClient } from '@tanstack/react-query'; +import { formatDate } from '../../utils/dateFormat'; import { Plus, Edit, Trash2, ChevronDown, ChevronUp, FileText, Download, AlertTriangle, Check, Eye } from 'lucide-react'; import Modal from '../ui/Modal'; import Button from '../ui/Button'; @@ -93,7 +94,7 @@ export default function InvoicesSection({ {/* Collapsed view - show latest invoice */} {!isExpanded && sortedInvoices.length > 0 && (
- Letzte: {new Date(sortedInvoices[0].invoiceDate).toLocaleDateString('de-DE')} - {invoiceTypeLabels[sortedInvoices[0].invoiceType]} + Letzte: {formatDate(sortedInvoices[0].invoiceDate)} - {invoiceTypeLabels[sortedInvoices[0].invoiceType]}
)} @@ -108,7 +109,7 @@ export default function InvoicesSection({
- {new Date(invoice.invoiceDate).toLocaleDateString('de-DE')} + {formatDate(invoice.invoiceDate)}
{invoiceTypeLabels[invoice.invoiceType]} diff --git a/frontend/src/components/email/AssignToContractModal.tsx b/frontend/src/components/email/AssignToContractModal.tsx index 6e1ff088..d56f7fb0 100644 --- a/frontend/src/components/email/AssignToContractModal.tsx +++ b/frontend/src/components/email/AssignToContractModal.tsx @@ -3,6 +3,7 @@ import { Search, FileText } from 'lucide-react'; import Modal from '../ui/Modal'; import Button from '../ui/Button'; import { contractApi, cachedEmailApi, CachedEmail } from '../../services/api'; +import { formatDate } from '../../utils/dateFormat'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; interface AssignToContractModalProps { @@ -69,9 +70,9 @@ export default function AssignToContractModal({ } }; - const formatDate = (dateStr?: string) => { + const formatDateOrDash = (dateStr?: string) => { if (!dateStr) return '-'; - return new Date(dateStr).toLocaleDateString('de-DE'); + return formatDate(dateStr); }; return ( @@ -147,7 +148,7 @@ export default function AssignToContractModal({ {contract.provider && ` - ${contract.provider.name}`}
- Start: {formatDate(contract.startDate)} + Start: {formatDateOrDash(contract.startDate)}
diff --git a/frontend/src/pages/contracts/ContractCockpit.tsx b/frontend/src/pages/contracts/ContractCockpit.tsx index ecfbb4d6..e6475d23 100644 --- a/frontend/src/pages/contracts/ContractCockpit.tsx +++ b/frontend/src/pages/contracts/ContractCockpit.tsx @@ -36,6 +36,7 @@ import { ExternalLink, CheckCircle2, } from 'lucide-react'; +import { formatDate } from '../../utils/dateFormat'; import type { CockpitContract, CockpitUrgencyLevel, ContractType } from '../../types'; const typeIcons: Record = { @@ -570,7 +571,7 @@ export default function ContractCockpit() { )}

- {new Date(alert.expiryDate).toLocaleDateString('de-DE')} + {formatDate(alert.expiryDate)}

@@ -623,7 +624,7 @@ export default function ContractCockpit() {

Zähler {reading.meter.meterNumber} – {reading.value} {reading.unit} am{' '} - {new Date(reading.readingDate).toLocaleDateString('de-DE')} + {formatDate(reading.readingDate)} {reading.notes && ` – ${reading.notes}`}

diff --git a/frontend/src/pages/contracts/ContractDetail.tsx b/frontend/src/pages/contracts/ContractDetail.tsx index 02196019..530ac628 100644 --- a/frontend/src/pages/contracts/ContractDetail.tsx +++ b/frontend/src/pages/contracts/ContractDetail.tsx @@ -16,6 +16,7 @@ import FileUpload from '../../components/ui/FileUpload'; import { Edit, Trash2, Copy, Eye, EyeOff, ArrowLeft, ArrowRight, Download, ExternalLink, Plus, ChevronDown, ChevronUp, Gauge, CheckCircle, Circle, ClipboardList, MessageSquare, Calculator, Info, X, BellOff, Lock, Shield } from 'lucide-react'; import { calculateConsumption, calculateCosts, calculateMultiMeterConsumption } from '../../utils/energyCalculations'; import CopyButton, { CopyableBlock } from '../../components/ui/CopyButton'; +import { formatDate } from '../../utils/dateFormat'; import type { ContractType, ContractStatus, SimCard, MeterReading, ContractTask, ContractTaskSubtask, ContractMeter } from '../../types'; const typeLabels: Record = { @@ -273,8 +274,8 @@ function MeterReadingsSection({ className="flex justify-between items-center text-sm group py-1 border-b border-gray-200 last:border-0" > - {new Date(reading.readingDate).toLocaleDateString('de-DE')} - + {formatDate(reading.readingDate)} +
@@ -315,7 +316,7 @@ function MeterReadingsSection({ {!isExpanded && readings.length > 0 && (

- Letzter Stand: {sortedReadings[0].value.toLocaleString('de-DE')} {sortedReadings[0].unit} ({new Date(sortedReadings[0].readingDate).toLocaleDateString('de-DE')}) + Letzter Stand: {sortedReadings[0].value.toLocaleString('de-DE')} {sortedReadings[0].unit} ({formatDate(sortedReadings[0].readingDate)})

)} @@ -1033,8 +1034,8 @@ function ContractTaskItem({

{subtask.createdBy && `${subtask.createdBy} • `} {isSubtaskCompleted - ? `Erledigt am ${subtask.completedAt ? new Date(subtask.completedAt).toLocaleDateString('de-DE') : new Date(subtask.updatedAt).toLocaleDateString('de-DE')}` - : new Date(subtask.createdAt).toLocaleDateString('de-DE')} + ? `Erledigt am ${subtask.completedAt ? formatDate(subtask.completedAt) : formatDate(subtask.updatedAt)}` + : formatDate(subtask.createdAt)}

@@ -1077,8 +1078,8 @@ function ContractTaskItem({

{task.createdBy && `${task.createdBy} • `} {isCompleted - ? `Erledigt am ${task.completedAt ? new Date(task.completedAt).toLocaleDateString('de-DE') : '-'}` - : new Date(task.createdAt).toLocaleDateString('de-DE')} + ? `Erledigt am ${task.completedAt ? formatDate(task.completedAt) : '-'}` + : formatDate(task.createdAt)}

{/* Subtasks */} @@ -1713,7 +1714,7 @@ export default function ContractDetail() { {c.nextReviewDate && new Date(c.nextReviewDate) > new Date() && (
- Zurückgestellt bis {new Date(c.nextReviewDate).toLocaleDateString('de-DE')} + Zurückgestellt bis {formatDate(c.nextReviewDate)} {hasPermission('contracts:update') && (
@@ -491,7 +492,7 @@ export default function ContractList() { {contract.startDate - ? new Date(contract.startDate).toLocaleDateString('de-DE') + ? formatDate(contract.startDate) : '-'} diff --git a/frontend/src/pages/customers/CustomerDetail.tsx b/frontend/src/pages/customers/CustomerDetail.tsx index 304505eb..f8368ee9 100644 --- a/frontend/src/pages/customers/CustomerDetail.tsx +++ b/frontend/src/pages/customers/CustomerDetail.tsx @@ -15,6 +15,7 @@ import Select from '../../components/ui/Select'; import FileUpload from '../../components/ui/FileUpload'; import { Edit, Plus, Trash2, MapPin, CreditCard, FileText, Gauge, Eye, EyeOff, Download, Globe, UserPlus, X, Search, Mail, Copy, Check, ChevronDown, ChevronRight, Info, Shield, ShieldCheck, ShieldX, ShieldAlert, Lock, ArrowLeft } from 'lucide-react'; import CopyButton, { CopyableBlock } from '../../components/ui/CopyButton'; +import { formatDate } from '../../utils/dateFormat'; import type { Address, BankCard, IdentityDocument, Meter, Customer, CustomerRepresentative, CustomerSummary, CustomerConsent, ConsentType, ConsentStatus, RepresentativeAuthorization } from '../../types'; export default function CustomerDetail({ portalCustomerId }: { portalCustomerId?: number } = {}) { @@ -887,7 +888,7 @@ function BankCardsTab({ )} {card.expiryDate && (

- Gültig bis: {new Date(card.expiryDate).toLocaleDateString('de-DE')} + Gültig bis: {formatDate(card.expiryDate)}

)} @@ -1378,8 +1379,8 @@ function MetersTab({ {(isExpanded ? sortedReadings : sortedReadings.slice(0, 3)).map((reading) => (
- {new Date(reading.readingDate).toLocaleDateString('de-DE')} - + {formatDate(reading.readingDate)} +
@@ -1664,9 +1665,9 @@ function ContractsTab({ )} {contract.startDate && (

- Beginn: {new Date(contract.startDate).toLocaleDateString('de-DE')} + Beginn: {formatDate(contract.startDate)} {contract.endDate && - ` | Ende: ${new Date(contract.endDate).toLocaleDateString('de-DE')}`} + ` | Ende: ${formatDate(contract.endDate)}`}

)}
@@ -3630,8 +3631,8 @@ const CONSENT_TYPE_LABELS: Record{c.label} {c.grantedAt && ( - (am {new Date(c.grantedAt).toLocaleDateString('de-DE')}) + (am {formatDate(c.grantedAt)}) )}
diff --git a/frontend/src/pages/settings/AuditLogs.tsx b/frontend/src/pages/settings/AuditLogs.tsx index 3e4af0c8..e9dc2997 100644 --- a/frontend/src/pages/settings/AuditLogs.tsx +++ b/frontend/src/pages/settings/AuditLogs.tsx @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { useQuery, useMutation } from '@tanstack/react-query'; +import { useQuery } from '@tanstack/react-query'; import { useNavigate } from 'react-router-dom'; import { auditLogApi, AuditLogSearchParams } from '../../services/api'; import type { AuditLog, AuditAction, AuditSensitivity } from '../../types'; @@ -7,7 +7,7 @@ import Card from '../../components/ui/Card'; import Button from '../../components/ui/Button'; import Input from '../../components/ui/Input'; import Select from '../../components/ui/Select'; -import { ArrowLeft, Download, Eye, Shield, ShieldCheck, ShieldAlert, RefreshCw, ChevronLeft, ChevronRight, X } from 'lucide-react'; +import { ArrowLeft, Download, Eye, Shield, ShieldAlert, RefreshCw, ChevronLeft, ChevronRight, X } from 'lucide-react'; const ACTION_OPTIONS = [ { value: '', label: 'Alle Aktionen' }, @@ -82,6 +82,82 @@ function getSensitivityIcon(sensitivity: AuditSensitivity) { } } +const RESOURCE_TYPE_LABELS: Record = { + Customer: 'Kunde', + Contract: 'Vertrag', + BankCard: 'Bankverbindung', + IdentityDocument: 'Ausweis', + Address: 'Adresse', + Meter: 'Zähler', + MeterReading: 'Zählerstand', + User: 'Benutzer', + CustomerConsent: 'Einwilligung', + RepresentativeAuthorization: 'Vollmacht', + ContractTask: 'Aufgabe', + EnergyContractDetails: 'Strom/Gas-Details', + EmailProviderConfig: 'E-Mail-Provider', + AppSetting: 'Einstellung', + GDPR: 'Datenschutz', + Authentication: 'Anmeldung', +}; + +const FIELD_LABELS: Record = { + firstName: 'Vorname', lastName: 'Nachname', email: 'E-Mail', phone: 'Telefon', mobile: 'Mobil', + salutation: 'Anrede', companyName: 'Firma', type: 'Typ', notes: 'Notizen', + street: 'Straße', houseNumber: 'Hausnummer', postalCode: 'PLZ', city: 'Stadt', country: 'Land', + meterNumber: 'Zählernummer', location: 'Standort', tariffModel: 'Tarifmodell', + isActive: 'Aktiv', isDefault: 'Standard', + status: 'Status', source: 'Quelle', + contractNumber: 'Vertragsnummer', startDate: 'Vertragsbeginn', endDate: 'Vertragsende', + portalUsername: 'Portal-Benutzername', portalEnabled: 'Portal aktiv', + basePrice: 'Grundpreis', unitPrice: 'Arbeitspreis', unitPriceNt: 'NT-Arbeitspreis', bonus: 'Bonus', + name: 'Name', domain: 'Domain', apiUrl: 'API-URL', + documentNumber: 'Dokumentennummer', expiryDate: 'Ablaufdatum', + iban: 'IBAN', bic: 'BIC', bankName: 'Bank', accountHolder: 'Kontoinhaber', + isGranted: 'Vollmacht erteilt', documentPath: 'Dokument-Pfad', + value: 'Zählerstand', valueNt: 'NT-Zählerstand', readingDate: 'Ablesedatum', + privacyPolicyPath: 'Datenschutz-PDF', +}; + +function formatValue(value: unknown): string { + if (value === null || value === undefined) return '-'; + if (typeof value === 'boolean') return value ? 'Ja' : 'Nein'; + if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}/.test(value)) { + try { return new Date(value).toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' }); } catch { return value; } + } + return String(value); +} + +function renderChangeDiff(before: Record, after: Record) { + const allKeys = new Set([...Object.keys(before), ...Object.keys(after)]); + const changes: { field: string; from: unknown; to: unknown }[] = []; + + for (const key of allKeys) { + // Technische Felder überspringen + if (['id', 'createdAt', 'updatedAt', 'passwordEncrypted', 'portalPasswordEncrypted', 'portalPasswordHash', 'systemEmailPasswordEncrypted'].includes(key)) continue; + const fromVal = before[key]; + const toVal = after[key]; + if (JSON.stringify(fromVal) !== JSON.stringify(toVal)) { + changes.push({ field: key, from: fromVal, to: toVal }); + } + } + + if (changes.length === 0) { + return

Keine sichtbaren Änderungen

; + } + + return changes.map(({ field, from, to }) => ( +
+ + {FIELD_LABELS[field] || field} + + {formatValue(from)} + + {formatValue(to)} +
+ )); +} + interface DetailModalProps { log: AuditLog; onClose: () => void; @@ -126,7 +202,7 @@ function DetailModal({ log, onClose }: DetailModalProps) {
Ressource
-
{log.resourceType} {log.resourceId && `#${log.resourceId}`}
+
{RESOURCE_TYPE_LABELS[log.resourceType] || log.resourceType} {log.resourceId && `#${log.resourceId}`}
Endpoint
@@ -161,36 +237,33 @@ function DetailModal({ log, onClose }: DetailModalProps) { {(before || after) && !log.changesEncrypted && (

Änderungen

-
- {before && ( -
-

Vorher

-
-                      {JSON.stringify(before, null, 2)}
-                    
-
- )} - {after && ( -
-

Nachher

-
-                      {JSON.stringify(after, null, 2)}
-                    
-
- )} -
+ {before && after ? ( +
+ {renderChangeDiff(before, after)} +
+ ) : ( +
+ {before && ( +
+

Vorher

+
+                        {JSON.stringify(before, null, 2)}
+                      
+
+ )} + {after && ( +
+

Daten

+
+                        {JSON.stringify(after, null, 2)}
+                      
+
+ )} +
+ )}
)} - {log.hash && ( -
-

Integrität

-
-
Hash: {log.hash}
- {log.previousHash &&
Vorheriger: {log.previousHash}
} -
-
- )}
@@ -215,19 +288,6 @@ export default function AuditLogs() { queryFn: () => auditLogApi.search({ ...filters, page }), }); - const verifyMutation = useMutation({ - mutationFn: () => auditLogApi.verifyIntegrity(), - onSuccess: (result) => { - if (result.data?.valid) { - alert('Hash-Kette ist intakt. Keine Manipulationen festgestellt.'); - } else { - alert(`Integritätsfehler gefunden:\n${result.data?.errors?.join('\n')}`); - } - }, - onError: (error) => { - alert(`Fehler bei der Integritätsprüfung: ${error instanceof Error ? error.message : 'Unbekannter Fehler'}`); - }, - }); const logs = logsData?.data || []; const pagination = logsData?.pagination; @@ -239,18 +299,30 @@ export default function AuditLogs() { const handleExport = async (format: 'json' | 'csv') => { try { - const result = await auditLogApi.export({ ...filters, format }); - const data = result.data; - const blob = new Blob( - [format === 'json' ? JSON.stringify(data, null, 2) : ''], - { type: format === 'json' ? 'application/json' : 'text/csv' } - ); - const url = URL.createObjectURL(blob); - const a = document.createElement('a'); - a.href = url; - a.download = `audit-logs-${new Date().toISOString().split('T')[0]}.${format}`; - a.click(); - URL.revokeObjectURL(url); + if (format === 'csv') { + // CSV direkt als Download + const token = localStorage.getItem('token'); + const params = new URLSearchParams(); + params.set('format', 'csv'); + if (filters.action) params.set('action', filters.action); + if (filters.sensitivity) params.set('sensitivity', filters.sensitivity); + if (filters.resourceType) params.set('resourceType', filters.resourceType); + if (filters.startDate) params.set('startDate', filters.startDate); + if (filters.endDate) params.set('endDate', filters.endDate); + window.open(`/api/audit-logs/export?${params}&token=${token}`, '_blank'); + } else { + const result = await auditLogApi.export({ ...filters, format }); + const blob = new Blob( + [JSON.stringify(result.data, null, 2)], + { type: 'application/json' } + ); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = `audit-logs-${new Date().toISOString().split('T')[0]}.json`; + a.click(); + URL.revokeObjectURL(url); + } } catch (error) { alert(`Export fehlgeschlagen: ${error instanceof Error ? error.message : 'Unbekannter Fehler'}`); } @@ -312,11 +384,11 @@ export default function AuditLogs() { -
diff --git a/frontend/src/services/api.ts b/frontend/src/services/api.ts index 1c92c519..b1787509 100644 --- a/frontend/src/services/api.ts +++ b/frontend/src/services/api.ts @@ -1263,7 +1263,11 @@ export const auditLogApi = { return res.data; }, verifyIntegrity: async () => { - const res = await api.post>('/audit-logs/verify'); + const res = await api.post>('/audit-logs/verify'); + return res.data; + }, + rehash: async () => { + const res = await api.post>('/audit-logs/rehash'); return res.data; }, getRetentionPolicies: async () => { diff --git a/frontend/src/utils/dateFormat.ts b/frontend/src/utils/dateFormat.ts new file mode 100644 index 00000000..f2f4ddbf --- /dev/null +++ b/frontend/src/utils/dateFormat.ts @@ -0,0 +1,25 @@ +/** + * Formatiert ein Datum als dd.mm.yyyy (immer mit führenden Nullen) + */ +export function formatDate(date: string | Date): string { + const d = typeof date === 'string' ? new Date(date) : date; + return d.toLocaleDateString('de-DE', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + }); +} + +/** + * Formatiert ein Datum als dd.mm.yyyy hh:mm + */ +export function formatDateTime(date: string | Date): string { + const d = typeof date === 'string' ? new Date(date) : date; + return d.toLocaleDateString('de-DE', { + day: '2-digit', + month: '2-digit', + year: 'numeric', + hour: '2-digit', + minute: '2-digit', + }); +}