From 3dd4f7b656a20819e0c8d1562be9e2dceae8fd07 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Wed, 25 Mar 2026 16:55:48 +0100 Subject: [PATCH] added place to telecommunication, added contract documents, added invoice to other contracts --- .../dist/controllers/contract.controller.d.ts | 3 + .../controllers/contract.controller.d.ts.map | 2 +- .../dist/controllers/contract.controller.js | 91 + .../controllers/contract.controller.js.map | 2 +- backend/dist/routes/contract.routes.d.ts.map | 2 +- backend/dist/routes/contract.routes.js | 36 + backend/dist/routes/contract.routes.js.map | 2 +- backend/dist/services/contract.service.d.ts | 75 +- .../dist/services/contract.service.d.ts.map | 2 +- backend/dist/services/contract.service.js | 8 + backend/dist/services/contract.service.js.map | 2 +- backend/node_modules/.prisma/client/edge.js | 22 +- .../.prisma/client/index-browser.js | 16 + .../node_modules/.prisma/client/index.d.ts | 2563 ++++++++++++++++- backend/node_modules/.prisma/client/index.js | 22 +- .../node_modules/.prisma/client/package.json | 2 +- .../node_modules/.prisma/client/schema.prisma | 35 +- backend/node_modules/.prisma/client/wasm.js | 16 + backend/prisma/schema.prisma | 29 +- .../src/controllers/contract.controller.ts | 99 + backend/src/controllers/invoice.controller.ts | 35 + backend/src/routes/contract.routes.ts | 34 + backend/src/services/contract.service.ts | 12 + backend/src/services/invoice.service.ts | 23 + backend/todo.md | 20 +- .../components/contracts/InvoicesSection.tsx | 39 +- .../src/pages/contracts/ContractDetail.tsx | 216 +- frontend/src/pages/contracts/ContractForm.tsx | 66 + frontend/src/services/api.ts | 23 + frontend/src/types/index.ts | 17 + 30 files changed, 3424 insertions(+), 90 deletions(-) diff --git a/backend/dist/controllers/contract.controller.d.ts b/backend/dist/controllers/contract.controller.d.ts index 949157a4..eb4138f4 100644 --- a/backend/dist/controllers/contract.controller.d.ts +++ b/backend/dist/controllers/contract.controller.d.ts @@ -13,5 +13,8 @@ export declare function getSipCredentials(req: Request, res: Response): Promise< export declare function getCockpit(req: AuthRequest, res: Response): Promise; export declare function addSuccessorMeter(req: AuthRequest, res: Response): Promise; export declare function removeContractMeter(req: AuthRequest, res: Response): Promise; +export declare function getContractDocuments(req: AuthRequest, res: Response): Promise; +export declare function uploadContractDocument(req: AuthRequest, res: Response): Promise; +export declare function deleteContractDocument(req: AuthRequest, res: Response): Promise; export declare function snoozeContract(req: Request, res: Response): Promise; //# sourceMappingURL=contract.controller.d.ts.map \ No newline at end of file diff --git a/backend/dist/controllers/contract.controller.d.ts.map b/backend/dist/controllers/contract.controller.d.ts.map index 0f7f7332..dc0a4644 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;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 +{"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,oBAAoB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAWzF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2C3F;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqC3F;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 11be5ecf..72ae9db7 100644 --- a/backend/dist/controllers/contract.controller.js +++ b/backend/dist/controllers/contract.controller.js @@ -49,6 +49,9 @@ exports.getSipCredentials = getSipCredentials; exports.getCockpit = getCockpit; exports.addSuccessorMeter = addSuccessorMeter; exports.removeContractMeter = removeContractMeter; +exports.getContractDocuments = getContractDocuments; +exports.uploadContractDocument = uploadContractDocument; +exports.deleteContractDocument = deleteContractDocument; exports.snoozeContract = snoozeContract; const prisma_js_1 = __importDefault(require("../lib/prisma.js")); const contractService = __importStar(require("../services/contract.service.js")); @@ -423,6 +426,94 @@ async function removeContractMeter(req, res) { }); } } +// ==================== VERTRAGSDOKUMENTE ==================== +async function getContractDocuments(req, res) { + try { + const contractId = parseInt(req.params.id); + const documents = await prisma_js_1.default.contractDocument.findMany({ + where: { contractId }, + orderBy: { createdAt: 'desc' }, + }); + res.json({ success: true, data: documents }); + } + catch (error) { + res.status(500).json({ success: false, error: 'Fehler beim Laden der Dokumente' }); + } +} +async function uploadContractDocument(req, res) { + try { + const contractId = parseInt(req.params.id); + const { documentType, notes } = req.body; + if (!req.file) { + res.status(400).json({ success: false, error: 'Keine Datei hochgeladen' }); + return; + } + if (!documentType) { + res.status(400).json({ success: false, error: 'Dokumenttyp erforderlich' }); + return; + } + const documentPath = `/uploads/contract-documents/${req.file.filename}`; + const doc = await prisma_js_1.default.contractDocument.create({ + data: { + contractId, + documentType, + documentPath, + originalName: req.file.originalname, + notes: notes || null, + uploadedBy: req.user?.email, + }, + }); + const contract = await prisma_js_1.default.contract.findUnique({ where: { id: contractId }, select: { contractNumber: true, customerId: true } }); + await (0, audit_service_js_1.logChange)({ + req, action: 'CREATE', resourceType: 'ContractDocument', + resourceId: doc.id.toString(), + label: `Dokument "${documentType}" hochgeladen für Vertrag ${contract?.contractNumber}`, + details: { typ: documentType, datei: req.file.originalname }, + customerId: contract?.customerId, + }); + res.status(201).json({ success: true, data: doc }); + } + catch (error) { + res.status(400).json({ + success: false, + error: error instanceof Error ? error.message : 'Fehler beim Hochladen', + }); + } +} +async function deleteContractDocument(req, res) { + try { + const documentId = parseInt(req.params.documentId); + const contractId = parseInt(req.params.id); + const doc = await prisma_js_1.default.contractDocument.findUnique({ where: { id: documentId } }); + if (!doc || doc.contractId !== contractId) { + res.status(404).json({ success: false, error: 'Dokument nicht gefunden' }); + return; + } + // Datei löschen + const fs = await import('fs'); + const path = await import('path'); + const filePath = path.join(process.cwd(), doc.documentPath); + if (fs.existsSync(filePath)) { + fs.unlinkSync(filePath); + } + await prisma_js_1.default.contractDocument.delete({ where: { id: documentId } }); + const contract = await prisma_js_1.default.contract.findUnique({ where: { id: contractId }, select: { contractNumber: true, customerId: true } }); + await (0, audit_service_js_1.logChange)({ + req, action: 'DELETE', resourceType: 'ContractDocument', + resourceId: documentId.toString(), + label: `Dokument "${doc.documentType}" gelöscht von Vertrag ${contract?.contractNumber}`, + details: { typ: doc.documentType, datei: doc.originalName }, + customerId: contract?.customerId, + }); + res.json({ success: true, message: 'Dokument gelöscht' }); + } + catch (error) { + res.status(400).json({ + success: false, + error: error instanceof Error ? error.message : 'Fehler beim Löschen', + }); + } +} // ==================== SNOOZE (VERTRAG ZURÜCKSTELLEN) ==================== async function snoozeContract(req, res) { try { diff --git a/backend/dist/controllers/contract.controller.js.map b/backend/dist/controllers/contract.controller.js.map index c699e96f..eda52c8f 100644 --- a/backend/dist/controllers/contract.controller.js.map +++ b/backend/dist/controllers/contract.controller.js.map @@ -1 +1 @@ -{"version":3,"file":"contract.controller.js","sourceRoot":"","sources":["../../src/controllers/contract.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"contract.controller.js","sourceRoot":"","sources":["../../src/controllers/contract.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/routes/contract.routes.d.ts.map b/backend/dist/routes/contract.routes.d.ts.map index 949a5e1f..ac7722e8 100644 --- a/backend/dist/routes/contract.routes.d.ts.map +++ b/backend/dist/routes/contract.routes.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"contract.routes.d.ts","sourceRoot":"","sources":["../../src/routes/contract.routes.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAkCxB,eAAe,MAAM,CAAC"} \ No newline at end of file +{"version":3,"file":"contract.routes.d.ts","sourceRoot":"","sources":["../../src/routes/contract.routes.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAgExB,eAAe,MAAM,CAAC"} \ No newline at end of file diff --git a/backend/dist/routes/contract.routes.js b/backend/dist/routes/contract.routes.js index e561625b..5ca91ad7 100644 --- a/backend/dist/routes/contract.routes.js +++ b/backend/dist/routes/contract.routes.js @@ -32,11 +32,40 @@ 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 }); const express_1 = require("express"); +const multer_1 = __importDefault(require("multer")); +const path_1 = __importDefault(require("path")); +const fs_1 = __importDefault(require("fs")); const contractController = __importStar(require("../controllers/contract.controller.js")); +const invoiceController = __importStar(require("../controllers/invoice.controller.js")); const auth_js_1 = require("../middleware/auth.js"); const router = (0, express_1.Router)(); +// Multer für Vertragsdokumente +const docUploadsDir = path_1.default.join(process.cwd(), 'uploads', 'contract-documents'); +if (!fs_1.default.existsSync(docUploadsDir)) { + fs_1.default.mkdirSync(docUploadsDir, { recursive: true }); +} +const docUpload = (0, multer_1.default)({ + storage: multer_1.default.diskStorage({ + destination: (_req, _file, cb) => cb(null, docUploadsDir), + filename: (_req, file, cb) => { + const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1e9); + cb(null, `doc-${uniqueSuffix}${path_1.default.extname(file.originalname)}`); + }, + }), + fileFilter: (_req, file, cb) => { + const allowed = ['application/pdf', 'image/jpeg', 'image/png', 'image/jpg']; + if (allowed.includes(file.mimetype)) + cb(null, true); + else + cb(new Error('Nur PDF, JPG und PNG Dateien sind erlaubt')); + }, + limits: { fileSize: 10 * 1024 * 1024 }, +}); router.get('/', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:read'), contractController.getContracts); router.post('/', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:create'), contractController.createContract); // Vertrags-Cockpit (muss VOR /:id stehen!) @@ -48,6 +77,13 @@ router.delete('/:id', auth_js_1.authenticate, (0, auth_js_1.requirePermission)(' router.post('/:id/follow-up', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:create'), contractController.createFollowUp); // Snooze (Vertrag zurückstellen) router.patch('/:id/snooze', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), contractController.snoozeContract); +// Rechnungen (für alle Vertragstypen) +router.get('/:id/invoices', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:read'), invoiceController.getInvoicesByContract); +router.post('/:id/invoices', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), invoiceController.addInvoiceByContract); +// Vertragsdokumente +router.get('/:id/documents', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:read'), contractController.getContractDocuments); +router.post('/:id/documents', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), docUpload.single('file'), contractController.uploadContractDocument); +router.delete('/:id/documents/:documentId', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), contractController.deleteContractDocument); // Folgezähler router.post('/:id/successor-meter', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), contractController.addSuccessorMeter); router.delete('/:id/contract-meter/:contractMeterId', auth_js_1.authenticate, (0, auth_js_1.requirePermission)('contracts:update'), contractController.removeContractMeter); diff --git a/backend/dist/routes/contract.routes.js.map b/backend/dist/routes/contract.routes.js.map index b6bd1382..a0219099 100644 --- a/backend/dist/routes/contract.routes.js.map +++ b/backend/dist/routes/contract.routes.js.map @@ -1 +1 @@ -{"version":3,"file":"contract.routes.js","sourceRoot":"","sources":["../../src/routes/contract.routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAiC;AACjC,0FAA4E;AAC5E,mDAAwE;AAExE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;AACpG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAEzG,2CAA2C;AAC3C,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAEzG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACtG,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAE9G,qBAAqB;AACrB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAEtH,iCAAiC;AACjC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAEpH,cAAc;AACd,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC/H,MAAM,CAAC,MAAM,CAAC,sCAAsC,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAEnJ,yBAAyB;AACzB,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;AAEvH,gCAAgC;AAChC,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;AAE3I,kCAAkC;AAClC,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;AAEtI,6BAA6B;AAC7B,MAAM,CAAC,GAAG,CAAC,6CAA6C,EAAE,sBAAY,EAAE,IAAA,2BAAiB,EAAC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAEnJ,kBAAe,MAAM,CAAC"} \ No newline at end of file +{"version":3,"file":"contract.routes.js","sourceRoot":"","sources":["../../src/routes/contract.routes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/services/contract.service.d.ts b/backend/dist/services/contract.service.d.ts index 53374bd1..0ac3a2f6 100644 --- a/backend/dist/services/contract.service.d.ts +++ b/backend/dist/services/contract.service.d.ts @@ -297,7 +297,8 @@ export declare function getContractById(id: number, decryptPassword?: boolean): updatedAt: Date; notes: string | null; documentPath: string | null; - energyContractDetailsId: number; + energyContractDetailsId: number | null; + contractId: number | null; invoiceDate: Date; invoiceType: import(".prisma/client").$Enums.InvoiceType; }[]; @@ -426,7 +427,8 @@ export declare function getContractById(id: number, decryptPassword?: boolean): updatedAt: Date; notes: string | null; documentPath: string | null; - energyContractDetailsId: number; + energyContractDetailsId: number | null; + contractId: number | null; invoiceDate: Date; invoiceType: import(".prisma/client").$Enums.InvoiceType; }[]; @@ -466,6 +468,9 @@ export declare function getContractById(id: number, decryptPassword?: boolean): routerModel: string | null; installationDate: Date | null; internetUsername: string | null; + propertyType: string | null; + propertyLocation: string | null; + connectionLocation: string | null; }) | null; mobileDetails: ({ simCards: { @@ -630,6 +635,9 @@ export declare function getContractById(id: number, decryptPassword?: boolean): routerModel: string | null; installationDate: Date | null; internetUsername: string | null; + propertyType: string | null; + propertyLocation: string | null; + connectionLocation: string | null; }) | null; mobileDetails: ({ simCards: { @@ -679,6 +687,27 @@ export declare function getContractById(id: number, decryptPassword?: boolean): deductibleFull: number | null; previousInsurer: string | null; } | null; + documents: { + id: number; + createdAt: Date; + notes: string | null; + documentPath: string; + contractId: number; + documentType: string; + originalName: string; + uploadedBy: string | null; + }[]; + invoices: { + id: number; + createdAt: Date; + updatedAt: Date; + notes: string | null; + documentPath: string | null; + energyContractDetailsId: number | null; + contractId: number | null; + invoiceDate: Date; + invoiceType: import(".prisma/client").$Enums.InvoiceType; + }[]; } & { portalPasswordEncrypted: string | null; id: number; @@ -772,6 +801,9 @@ interface ContractCreateData { installationDate?: Date; internetUsername?: string; internetPassword?: string; + propertyType?: string; + propertyLocation?: string; + connectionLocation?: string; homeId?: string; activationCode?: string; phoneNumbers?: { @@ -922,6 +954,9 @@ export declare function createContract(data: ContractCreateData): Promise<{ routerModel: string | null; installationDate: Date | null; internetUsername: string | null; + propertyType: string | null; + propertyLocation: string | null; + connectionLocation: string | null; }) | null; mobileDetails: ({ simCards: { @@ -1165,7 +1200,8 @@ export declare function updateContract(id: number, data: Partial 0 @@ -321,6 +326,9 @@ async function updateContract(id, data) { ...(internetPassword ? { internetPasswordEncrypted: (0, encryption_js_1.encrypt)(internetPassword) } : {}), + propertyType: internetData.propertyType, + propertyLocation: internetData.propertyLocation, + connectionLocation: internetData.connectionLocation, homeId: internetData.homeId, activationCode: internetData.activationCode, }; diff --git a/backend/dist/services/contract.service.js.map b/backend/dist/services/contract.service.js.map index 4cd8df9f..6a8258da 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/node_modules/.prisma/client/edge.js b/backend/node_modules/.prisma/client/edge.js index bce32fc1..1dfc0e91 100644 --- a/backend/node_modules/.prisma/client/edge.js +++ b/backend/node_modules/.prisma/client/edge.js @@ -456,6 +456,17 @@ exports.Prisma.ContractScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.ContractDocumentScalarFieldEnum = { + id: 'id', + contractId: 'contractId', + documentType: 'documentType', + documentPath: 'documentPath', + originalName: 'originalName', + notes: 'notes', + uploadedBy: 'uploadedBy', + createdAt: 'createdAt' +}; + exports.Prisma.ContractHistoryEntryScalarFieldEnum = { id: 'id', contractId: 'contractId', @@ -519,6 +530,7 @@ exports.Prisma.ContractMeterScalarFieldEnum = { exports.Prisma.InvoiceScalarFieldEnum = { id: 'id', energyContractDetailsId: 'energyContractDetailsId', + contractId: 'contractId', invoiceDate: 'invoiceDate', invoiceType: 'invoiceType', documentPath: 'documentPath', @@ -537,6 +549,9 @@ exports.Prisma.InternetContractDetailsScalarFieldEnum = { installationDate: 'installationDate', internetUsername: 'internetUsername', internetPasswordEncrypted: 'internetPasswordEncrypted', + propertyType: 'propertyType', + propertyLocation: 'propertyLocation', + connectionLocation: 'connectionLocation', homeId: 'homeId', activationCode: 'activationCode' }; @@ -838,6 +853,7 @@ exports.Prisma.ModelName = { Tariff: 'Tariff', ContractCategory: 'ContractCategory', Contract: 'Contract', + ContractDocument: 'ContractDocument', ContractHistoryEntry: 'ContractHistoryEntry', ContractTask: 'ContractTask', ContractTaskSubtask: 'ContractTaskSubtask', @@ -902,13 +918,13 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\n// ==================== EMAIL LOG ====================\n\nmodel EmailLog {\n id Int @id @default(autoincrement())\n // Absender & Empfänger\n fromAddress String // Absender-E-Mail\n toAddress String // Empfänger-E-Mail\n subject String // Betreff\n // Versand-Kontext\n context String // z.B. \"consent-link\", \"authorization-request\", \"customer-email\"\n customerId Int? // Zugehöriger Kunde (falls vorhanden)\n triggeredBy String? // Wer hat den Versand ausgelöst (User-Email)\n // SMTP-Details\n smtpServer String // SMTP-Server\n smtpPort Int // SMTP-Port\n smtpEncryption String // SSL, STARTTLS, NONE\n smtpUser String // SMTP-Benutzername\n // Ergebnis\n success Boolean // Erfolgreich?\n messageId String? // Message-ID aus SMTP-Antwort\n errorMessage String? @db.Text // Fehlermeldung bei Fehler\n smtpResponse String? @db.Text // SMTP-Server-Antwort\n // Zeitstempel\n sentAt DateTime @default(now())\n\n @@index([sentAt])\n @@index([customerId])\n @@index([success])\n}\n\n// ==================== APP SETTINGS ====================\n\nmodel AppSetting {\n id Int @id @default(autoincrement())\n key String @unique\n value String @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== USERS & AUTH ====================\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n password String\n firstName String\n lastName String\n isActive Boolean @default(true)\n tokenInvalidatedAt DateTime? // Zeitpunkt ab dem alle Tokens ungültig sind (für Zwangslogout bei Rechteänderung)\n\n // Messaging-Kanäle (für Datenschutz-Link-Versand)\n whatsappNumber String?\n telegramUsername String?\n signalNumber String?\n\n customerId Int? @unique\n customer Customer? @relation(fields: [customerId], references: [id])\n roles UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Role {\n id Int @id @default(autoincrement())\n name String @unique\n description String?\n permissions RolePermission[]\n users UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Permission {\n id Int @id @default(autoincrement())\n resource String\n action String\n roles RolePermission[]\n\n @@unique([resource, action])\n}\n\nmodel RolePermission {\n roleId Int\n permissionId Int\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n permission Permission @relation(fields: [permissionId], references: [id], onDelete: Cascade)\n\n @@id([roleId, permissionId])\n}\n\nmodel UserRole {\n userId Int\n roleId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n\n @@id([userId, roleId])\n}\n\n// ==================== CUSTOMERS ====================\n\nenum CustomerType {\n PRIVATE\n BUSINESS\n}\n\nmodel Customer {\n id Int @id @default(autoincrement())\n customerNumber String @unique\n type CustomerType @default(PRIVATE)\n salutation String?\n firstName String\n lastName String\n companyName String?\n foundingDate DateTime? // Gründungsdatum (für Firmen)\n birthDate DateTime?\n birthPlace String?\n email String?\n phone String?\n mobile String?\n taxNumber String?\n businessRegistrationPath String? // PDF-Pfad zur Gewerbeanmeldung\n commercialRegisterPath String? // PDF-Pfad zum Handelsregisterauszug\n commercialRegisterNumber String? // Handelsregisternummer (Text)\n privacyPolicyPath String? // PDF-Pfad zur Datenschutzerklärung (für alle Kunden)\n consentHash String? @unique // Permanenter Hash für öffentlichen Einwilligungslink /datenschutz/\n notes String? @db.Text\n\n // ===== Portal-Zugangsdaten =====\n portalEnabled Boolean @default(false) // Portal aktiviert?\n portalEmail String? @unique // Portal-Login E-Mail\n portalPasswordHash String? // Gehashtes Passwort (für Login)\n portalPasswordEncrypted String? // Verschlüsseltes Passwort (für Anzeige)\n portalLastLogin DateTime? // Letzte Anmeldung\n\n user User?\n addresses Address[]\n bankCards BankCard[]\n identityDocuments IdentityDocument[]\n meters Meter[]\n stressfreiEmails StressfreiEmail[]\n contracts Contract[]\n\n // Vertreter-Beziehungen (Kunde kann für andere Kunden handeln)\n representingFor CustomerRepresentative[] @relation(\"RepresentativeCustomer\")\n representedBy CustomerRepresentative[] @relation(\"RepresentedCustomer\")\n\n // Vollmachten\n authorizationsGiven RepresentativeAuthorization[] @relation(\"AuthorizationCustomer\")\n authorizationsReceived RepresentativeAuthorization[] @relation(\"AuthorizationRepresentative\")\n\n // DSGVO: Einwilligungen\n consents CustomerConsent[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CUSTOMER REPRESENTATIVES ====================\n// Vertretungsbeziehung: Ein Kunde kann die Verträge eines anderen Kunden einsehen\n// z.B. Sohn (representativeId) kann Verträge der Mutter (customerId) sehen\n\nmodel CustomerRepresentative {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, dessen Verträge eingesehen werden (z.B. Mutter)\n customer Customer @relation(\"RepresentedCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Kunde, der einsehen darf (z.B. Sohn)\n representative Customer @relation(\"RepresentativeCustomer\", fields: [representativeId], references: [id], onDelete: Cascade)\n notes String? // Notizen zur Vertretung\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Keine doppelten Einträge\n}\n\n// ==================== VOLLMACHTEN ====================\n// Vollmacht: Kunde B erteilt Kunde A die Vollmacht, seine Daten einzusehen\n// Ohne Vollmacht kann der Vertreter die Verträge des Kunden NICHT sehen\n\nmodel RepresentativeAuthorization {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, der die Vollmacht erteilt (z.B. Mutter)\n customer Customer @relation(\"AuthorizationCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Vertreter, der Zugriff bekommt (z.B. Sohn)\n representative Customer @relation(\"AuthorizationRepresentative\", fields: [representativeId], references: [id], onDelete: Cascade)\n isGranted Boolean @default(false) // Vollmacht erteilt?\n grantedAt DateTime? // Wann erteilt\n withdrawnAt DateTime? // Wann widerrufen\n source String? // Quelle: 'portal', 'papier', 'crm-backend'\n documentPath String? // PDF-Upload der unterschriebenen Vollmacht\n notes String? @db.Text // Notizen\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Eine Vollmacht pro Paar\n}\n\n// ==================== ADDRESSES ====================\n\nenum AddressType {\n DELIVERY_RESIDENCE\n BILLING\n}\n\nmodel Address {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type AddressType @default(DELIVERY_RESIDENCE)\n street String\n houseNumber String\n postalCode String\n city String\n country String @default(\"Deutschland\")\n isDefault Boolean @default(false)\n contractsAsDelivery Contract[] @relation(\"DeliveryAddress\")\n contractsAsBilling Contract[] @relation(\"BillingAddress\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== BANK CARDS ====================\n\nmodel BankCard {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n accountHolder String\n iban String\n bic String?\n bankName String?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== IDENTITY DOCUMENTS ====================\n\nenum DocumentType {\n ID_CARD\n PASSPORT\n DRIVERS_LICENSE\n OTHER\n}\n\nmodel IdentityDocument {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type DocumentType @default(ID_CARD)\n documentNumber String\n issuingAuthority String?\n issueDate DateTime?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n // Führerschein-spezifische Felder\n licenseClasses String? // z.B. \"B, BE, AM, L\" - kommasepariert\n licenseIssueDate DateTime? // Datum des Führerscheinerwerbs (Klasse B)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== EMAIL PROVIDER CONFIG (Plesk, cPanel etc.) ====================\n\nenum EmailProviderType {\n PLESK\n CPANEL\n DIRECTADMIN\n}\n\n// Verschlüsselungstyp für E-Mail-Verbindungen\nenum MailEncryption {\n SSL // Implicit SSL/TLS (Ports 465/993) - Verschlüsselung von Anfang an\n STARTTLS // STARTTLS (Ports 587/143) - Startet unverschlüsselt, dann Upgrade\n NONE // Keine Verschlüsselung (Ports 25/143)\n}\n\nmodel EmailProviderConfig {\n id Int @id @default(autoincrement())\n name String @unique // z.B. \"Plesk Hauptserver\"\n type EmailProviderType\n apiUrl String // API-URL (z.B. https://server.de:8443)\n apiKey String? // API-Key (verschlüsselt)\n username String? // Benutzername für API\n passwordEncrypted String? // Passwort (verschlüsselt)\n domain String // Domain für E-Mails (z.B. stressfrei-wechseln.de)\n defaultForwardEmail String? // Standard-Weiterleitungsadresse (unsere eigene)\n\n // IMAP/SMTP-Server für E-Mail-Client (optional, default: mail.{domain})\n imapServer String? // z.B. \"mail.stressfrei-wechseln.de\"\n imapPort Int? @default(993)\n smtpServer String?\n smtpPort Int? @default(465)\n\n // Verschlüsselungs-Einstellungen\n imapEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n smtpEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n allowSelfSignedCerts Boolean @default(false) // Selbstsignierte Zertifikate erlauben\n\n // System-E-Mail für automatisierte Nachrichten (z.B. DSGVO Consent-Links)\n systemEmailAddress String? // z.B. \"info@stressfrei-wechseln.de\"\n systemEmailPasswordEncrypted String? // Passwort (verschlüsselt)\n\n isActive Boolean @default(true)\n isDefault Boolean @default(false) // Standard-Provider\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== STRESSFREI-WECHSELN EMAIL ADDRESSES ====================\n\nmodel StressfreiEmail {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n email String // Die Weiterleitungs-E-Mail-Adresse\n platform String? // Für welche Plattform (z.B. \"Freenet\", \"Klarmobil\")\n notes String? @db.Text // Optionale Notizen\n isActive Boolean @default(true)\n isProvisioned Boolean @default(false) // Wurde bei Provider angelegt?\n provisionedAt DateTime? // Wann wurde provisioniert?\n provisionError String? @db.Text // Fehlermeldung falls Provisionierung fehlschlug\n\n // Mailbox-Zugangsdaten (für IMAP/SMTP-Zugang)\n hasMailbox Boolean @default(false) // Hat echte Mailbox (nicht nur Weiterleitung)?\n emailPasswordEncrypted String? // Verschlüsseltes Mailbox-Passwort (AES-256-GCM)\n\n contracts Contract[] // Verträge die diese E-Mail als Benutzername verwenden\n cachedEmails CachedEmail[] // Gecachte E-Mails aus dieser Mailbox\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CACHED EMAILS (E-Mail-Client) ====================\n\nenum EmailFolder {\n INBOX\n SENT\n}\n\nmodel CachedEmail {\n id Int @id @default(autoincrement())\n stressfreiEmailId Int\n stressfreiEmail StressfreiEmail @relation(fields: [stressfreiEmailId], references: [id], onDelete: Cascade)\n\n // Ordner (Posteingang oder Gesendet)\n folder EmailFolder @default(INBOX)\n\n // IMAP-Identifikation\n messageId String // RFC 5322 Message-ID\n uid Int // IMAP UID (für Synchronisierung, bei SENT = 0)\n\n // E-Mail-Metadaten\n subject String?\n fromAddress String\n fromName String?\n toAddresses String @db.Text // JSON Array\n ccAddresses String? @db.Text // JSON Array\n receivedAt DateTime\n\n // Inhalt\n textBody String? @db.LongText\n htmlBody String? @db.LongText\n hasAttachments Boolean @default(false)\n attachmentNames String? @db.Text // JSON Array\n\n // Vertragszuordnung\n contractId Int?\n contract Contract? @relation(fields: [contractId], references: [id], onDelete: SetNull)\n assignedAt DateTime?\n assignedBy Int? // User ID der die Zuordnung gemacht hat\n isAutoAssigned Boolean @default(false) // true = automatisch beim Senden aus Vertrag\n\n // Flags\n isRead Boolean @default(false)\n isStarred Boolean @default(false)\n\n // Papierkorb\n isDeleted Boolean @default(false) // Im Papierkorb?\n deletedAt DateTime? // Wann gelöscht?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stressfreiEmailId, messageId, folder]) // Folder hinzugefügt: gleiche MessageID kann in INBOX und SENT existieren\n @@index([contractId])\n @@index([stressfreiEmailId, folder, receivedAt])\n @@index([stressfreiEmailId, isDeleted]) // Für Papierkorb-Abfragen\n}\n\n// ==================== METERS (Energy) ====================\n\nenum MeterType {\n ELECTRICITY\n GAS\n}\n\nenum MeterTariffModel {\n SINGLE // Eintarifzähler (Standard)\n DUAL // Zweitarifzähler (HT/NT)\n}\n\nmodel Meter {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n meterNumber String\n type MeterType\n tariffModel MeterTariffModel @default(SINGLE) // Eintarif oder Zweitarif (HT/NT)\n location String?\n isActive Boolean @default(true)\n readings MeterReading[]\n energyDetails EnergyContractDetails[]\n contractMeters ContractMeter[] @relation(\"ContractMeters\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel MeterReading {\n id Int @id @default(autoincrement())\n meterId Int\n meter Meter @relation(fields: [meterId], references: [id], onDelete: Cascade)\n readingDate DateTime\n value Float // Bei Eintarif: Gesamtwert. Bei Zweitarif: HT-Wert\n valueNt Float? // Nur bei Zweitarif: NT-Wert (Niedertarif)\n unit String @default(\"kWh\")\n notes String?\n // Meldung & Übertragung\n reportedBy String? // Wer hat gemeldet? (E-Mail des Portal-Kunden oder Mitarbeiter)\n status MeterReadingStatus @default(RECORDED)\n transferredAt DateTime? // Wann wurde der Stand an den Anbieter übertragen?\n transferredBy String? // Wer hat übertragen?\n createdAt DateTime @default(now())\n}\n\nenum MeterReadingStatus {\n RECORDED // Erfasst (vom Mitarbeiter)\n REPORTED // Vom Kunden gemeldet (Portal)\n TRANSFERRED // An Anbieter übertragen\n}\n\n// ==================== SALES PLATFORMS ====================\n\nmodel SalesPlatform {\n id Int @id @default(autoincrement())\n name String @unique\n contactInfo String? @db.Text\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CANCELLATION PERIODS ====================\n\nmodel CancellationPeriod {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"14T\", \"1M\", \"3M\", \"12M\", \"1J\"\n description String // z.B. \"14 Tage\", \"1 Monat\", \"3 Monate\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT DURATIONS ====================\n\nmodel ContractDuration {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"12M\", \"24M\", \"1J\", \"2J\"\n description String // z.B. \"12 Monate\", \"24 Monate\", \"1 Jahr\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== PROVIDERS (Anbieter) ====================\n\nmodel Provider {\n id Int @id @default(autoincrement())\n name String @unique // Anbietername\n portalUrl String? // Kundenkontourl (Login-Seite)\n usernameFieldName String? // Benutzernamefeld (z.B. \"email\", \"username\")\n passwordFieldName String? // Kennwortfeld (z.B. \"password\", \"pwd\")\n isActive Boolean @default(true)\n tariffs Tariff[]\n contracts Contract[]\n previousContracts Contract[] @relation(\"PreviousProvider\") // Verträge wo dieser Provider Altanbieter ist\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TARIFFS (Tarife) ====================\n\nmodel Tariff {\n id Int @id @default(autoincrement())\n providerId Int\n provider Provider @relation(fields: [providerId], references: [id], onDelete: Cascade)\n name String // Tarifname\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, name]) // Eindeutiger Tarif pro Anbieter\n}\n\n// ==================== CONTRACT CATEGORIES ====================\n\nmodel ContractCategory {\n id Int @id @default(autoincrement())\n code String @unique // Technischer Code (z.B. ELECTRICITY, GAS)\n name String // Anzeigename (z.B. Strom, Gas)\n icon String? // Icon-Name für UI (z.B. \"Zap\", \"Flame\")\n color String? // Farbe für UI (z.B. \"#FFC107\")\n sortOrder Int @default(0)\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACTS ====================\n\n// Legacy Enum - wird durch ContractCategory ersetzt\nenum ContractType {\n ELECTRICITY\n GAS\n DSL\n CABLE\n FIBER\n MOBILE\n TV\n CAR_INSURANCE\n}\n\nenum ContractStatus {\n DRAFT\n PENDING\n ACTIVE\n CANCELLED\n EXPIRED\n DEACTIVATED\n}\n\nmodel Contract {\n id Int @id @default(autoincrement())\n contractNumber String @unique\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type ContractType\n status ContractStatus @default(DRAFT)\n\n // Neue konfigurierbare Kategorie (ersetzt langfristig das type-Enum)\n contractCategoryId Int?\n contractCategory ContractCategory? @relation(fields: [contractCategoryId], references: [id])\n\n // Lieferadresse\n addressId Int?\n address Address? @relation(\"DeliveryAddress\", fields: [addressId], references: [id])\n\n // Rechnungsadresse (falls leer, wird Lieferadresse verwendet)\n billingAddressId Int?\n billingAddress Address? @relation(\"BillingAddress\", fields: [billingAddressId], references: [id])\n\n bankCardId Int?\n bankCard BankCard? @relation(fields: [bankCardId], references: [id])\n\n identityDocumentId Int?\n identityDocument IdentityDocument? @relation(fields: [identityDocumentId], references: [id])\n\n salesPlatformId Int?\n salesPlatform SalesPlatform? @relation(fields: [salesPlatformId], references: [id])\n\n cancellationPeriodId Int?\n cancellationPeriod CancellationPeriod? @relation(fields: [cancellationPeriodId], references: [id])\n\n contractDurationId Int?\n contractDuration ContractDuration? @relation(fields: [contractDurationId], references: [id])\n\n previousContractId Int? @unique\n previousContract Contract? @relation(\"ContractHistory\", fields: [previousContractId], references: [id])\n followUpContract Contract? @relation(\"ContractHistory\")\n\n // Altanbieter-Daten (nur wenn kein Vorgängervertrag existiert)\n previousProviderId Int?\n previousProvider Provider? @relation(\"PreviousProvider\", fields: [previousProviderId], references: [id])\n previousCustomerNumber String? // Kundennummer beim Altanbieter\n previousContractNumber String? // Vertragsnummer beim Altanbieter\n\n // Anbieter & Tarif (neue Verknüpfung)\n providerId Int?\n provider Provider? @relation(fields: [providerId], references: [id])\n tariffId Int?\n tariff Tariff? @relation(fields: [tariffId], references: [id])\n\n // Legacy-Felder (für Abwärtskompatibilität)\n providerName String?\n tariffName String?\n customerNumberAtProvider String?\n contractNumberAtProvider String? // Vertragsnummer beim Anbieter\n priceFirst12Months String? // Preis erste 12 Monate\n priceFrom13Months String? // Preis ab 13. Monat\n priceAfter24Months String? // Preis nach 24 Monaten\n\n startDate DateTime?\n endDate DateTime? // Wird aus startDate + contractDuration berechnet\n commission Float?\n\n // Kündigungsdokumente\n cancellationLetterPath String? // Kündigungsschreiben PDF\n cancellationConfirmationPath String? // Kündigungsbestätigung PDF\n cancellationLetterOptionsPath String? // Kündigungsschreiben Optionen PDF\n cancellationConfirmationOptionsPath String? // Kündigungsbestätigung Optionen PDF\n\n // Kündigungsdaten\n cancellationConfirmationDate DateTime? // Kündigungsbestätigungsdatum\n cancellationConfirmationOptionsDate DateTime? // Kündigungsbestätigungsoptionendatum\n wasSpecialCancellation Boolean @default(false) // Wurde sondergekündigt?\n\n portalUsername String?\n portalPasswordEncrypted String?\n\n // Stressfrei-Wechseln E-Mail als Benutzername (Alternative zu portalUsername)\n stressfreiEmailId Int?\n stressfreiEmail StressfreiEmail? @relation(fields: [stressfreiEmailId], references: [id])\n\n // Snooze: Vertrag zurückstellen bis Datum (für Cockpit)\n nextReviewDate DateTime? // Erneute Prüfung am\n\n notes String? @db.Text\n\n energyDetails EnergyContractDetails?\n internetDetails InternetContractDetails?\n mobileDetails MobileContractDetails?\n tvDetails TvContractDetails?\n carInsuranceDetails CarInsuranceDetails?\n\n tasks ContractTask[]\n assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client\n historyEntries ContractHistoryEntry[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT HISTORY ====================\n\nmodel ContractHistoryEntry {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String // Kurzbeschreibung (z.B. \"Folgevertrag erstellt\", \"kWh auf 18000 erhöht\")\n description String? @db.Text // Längere Beschreibung (optional)\n isAutomatic Boolean @default(false) // true = automatisch erstellt, false = manuell\n createdBy String // E-Mail des Erstellers\n createdAt DateTime @default(now())\n}\n\n// ==================== CONTRACT TASKS ====================\n\nenum ContractTaskStatus {\n OPEN\n COMPLETED\n}\n\nmodel ContractTask {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String\n description String? @db.Text\n status ContractTaskStatus @default(OPEN)\n visibleInPortal Boolean @default(false)\n createdBy String? // Name des Erstellers\n completedAt DateTime?\n subtasks ContractTaskSubtask[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ContractTaskSubtask {\n id Int @id @default(autoincrement())\n taskId Int\n task ContractTask @relation(fields: [taskId], references: [id], onDelete: Cascade)\n title String\n status ContractTaskStatus @default(OPEN)\n createdBy String?\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== ENERGY CONTRACT DETAILS ====================\n\nenum InvoiceType {\n INTERIM // Zwischenrechnung\n FINAL // Schlussrechnung\n NOT_AVAILABLE // Rechnung nicht mehr zu bekommen\n}\n\nmodel EnergyContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n meterId Int?\n meter Meter? @relation(fields: [meterId], references: [id])\n maloId String? // Marktlokations-ID\n annualConsumption Float? // kWh für Strom, m³ für Gas\n annualConsumptionKwh Float? // kWh für Gas (zusätzlich zu m³)\n basePrice Float? // €/Monat\n unitPrice Float? // €/kWh (Arbeitspreis) - bei HT/NT: HT-Preis\n unitPriceNt Float? // €/kWh NT-Preis (nur bei Zweitarifzähler)\n bonus Float?\n previousProviderName String?\n previousCustomerNumber String?\n invoices Invoice[] // Rechnungen\n contractMeters ContractMeter[] // Zähler-Zuordnungen (inkl. Folgezähler)\n}\n\nmodel ContractMeter {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int\n energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n meterId Int\n meter Meter @relation(\"ContractMeters\", fields: [meterId], references: [id])\n position Int @default(0) // 0 = Original, 1 = erster Folgezähler, etc.\n installedAt DateTime? // Ab wann wird dieser Zähler am Vertrag genutzt?\n removedAt DateTime? // Wann wurde der Zähler gewechselt? (null = aktuell)\n finalReading Float? // Letzter Stand vor dem Wechsel\n createdAt DateTime @default(now())\n\n @@unique([energyContractDetailsId, meterId])\n @@index([energyContractDetailsId])\n}\n\nmodel Invoice {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int\n energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n invoiceDate DateTime\n invoiceType InvoiceType\n documentPath String? // Pflicht, außer bei NOT_AVAILABLE\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([energyContractDetailsId])\n}\n\n// ==================== INTERNET CONTRACT DETAILS ====================\n\nmodel InternetContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n downloadSpeed Int?\n uploadSpeed Int?\n routerModel String?\n routerSerialNumber String?\n installationDate DateTime?\n // Internet-Zugangsdaten\n internetUsername String?\n internetPasswordEncrypted String? // Verschlüsselt gespeichert\n // Glasfaser-spezifisch\n homeId String?\n // Vodafone DSL/Kabel spezifisch\n activationCode String?\n phoneNumbers PhoneNumber[]\n}\n\nmodel PhoneNumber {\n id Int @id @default(autoincrement())\n internetContractDetailsId Int\n internetDetails InternetContractDetails @relation(fields: [internetContractDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String\n isMain Boolean @default(false)\n // SIP-Zugangsdaten\n sipUsername String?\n sipPasswordEncrypted String? // Verschlüsselt gespeichert\n sipServer String?\n}\n\n// ==================== MOBILE CONTRACT DETAILS ====================\n\nmodel MobileContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n requiresMultisim Boolean @default(false) // Multisim erforderlich?\n dataVolume Float?\n includedMinutes Int?\n includedSMS Int?\n deviceModel String?\n deviceImei String?\n simCards SimCard[]\n // Legacy-Felder (für Abwärtskompatibilität, werden durch simCards ersetzt)\n phoneNumber String?\n simCardNumber String?\n}\n\nmodel SimCard {\n id Int @id @default(autoincrement())\n mobileDetailsId Int\n mobileDetails MobileContractDetails @relation(fields: [mobileDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String? // Rufnummer\n simCardNumber String? // SIM-Kartennummer\n pin String? // PIN (verschlüsselt gespeichert)\n puk String? // PUK (verschlüsselt gespeichert)\n isMultisim Boolean @default(false) // Ist dies eine Multisim-Karte?\n isMain Boolean @default(false) // Ist dies die Hauptkarte?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TV CONTRACT DETAILS ====================\n\nmodel TvContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n receiverModel String?\n smartcardNumber String?\n package String?\n}\n\n// ==================== CAR INSURANCE DETAILS ====================\n\nenum InsuranceType {\n LIABILITY\n PARTIAL\n FULL\n}\n\nmodel CarInsuranceDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n licensePlate String?\n hsn String?\n tsn String?\n vin String?\n vehicleType String?\n firstRegistration DateTime?\n noClaimsClass String?\n insuranceType InsuranceType @default(LIABILITY)\n deductiblePartial Float?\n deductibleFull Float?\n policyNumber String?\n previousInsurer String?\n}\n\n// ==================== AUDIT LOGGING (DSGVO) ====================\n\nenum AuditAction {\n CREATE\n READ\n UPDATE\n DELETE\n EXPORT // DSGVO-Datenexport\n ANONYMIZE // Recht auf Vergessenwerden\n LOGIN\n LOGOUT\n LOGIN_FAILED\n}\n\nenum AuditSensitivity {\n LOW // Einstellungen, Plattformen\n MEDIUM // Verträge, Tarife\n HIGH // Kundendaten, Bankdaten\n CRITICAL // Authentifizierung, Ausweisdokumente\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n\n // Wer\n userId Int? // Staff User (null bei Kundenportal/System)\n userEmail String\n userRole String? @db.Text // Rolle zum Zeitpunkt der Aktion\n customerId Int? // Bei Kundenportal-Zugriff\n isCustomerPortal Boolean @default(false)\n\n // Was\n action AuditAction\n sensitivity AuditSensitivity @default(MEDIUM)\n\n // Welche Ressource\n resourceType String // Prisma Model Name\n resourceId String? // ID des Datensatzes\n resourceLabel String? // Lesbare Bezeichnung\n\n // Kontext\n endpoint String // API-Pfad\n httpMethod String // GET, POST, PUT, DELETE\n ipAddress String\n userAgent String? @db.Text\n\n // Änderungen (JSON, bei sensiblen Daten verschlüsselt)\n changesBefore String? @db.LongText\n changesAfter String? @db.LongText\n changesEncrypted Boolean @default(false)\n\n // DSGVO\n dataSubjectId Int? // Betroffene Person (für Reports)\n legalBasis String? // Rechtsgrundlage\n\n // Status\n success Boolean @default(true)\n errorMessage String? @db.Text\n durationMs Int?\n\n // Unveränderlichkeit (Hash-Kette)\n createdAt DateTime @default(now())\n hash String? // SHA-256 Hash des Eintrags\n previousHash String? // Hash des vorherigen Eintrags\n\n @@index([userId])\n @@index([customerId])\n @@index([resourceType, resourceId])\n @@index([dataSubjectId])\n @@index([action])\n @@index([createdAt])\n @@index([sensitivity])\n}\n\n// ==================== CONSENT MANAGEMENT (DSGVO) ====================\n\nenum ConsentType {\n DATA_PROCESSING // Grundlegende Datenverarbeitung\n MARKETING_EMAIL // E-Mail-Marketing\n MARKETING_PHONE // Telefon-Marketing\n DATA_SHARING_PARTNER // Weitergabe an Partner\n}\n\nenum ConsentStatus {\n GRANTED\n WITHDRAWN\n PENDING\n}\n\nmodel CustomerConsent {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n consentType ConsentType\n status ConsentStatus @default(PENDING)\n\n grantedAt DateTime?\n withdrawnAt DateTime?\n source String? // \"portal\", \"telefon\", \"papier\", \"email\"\n documentPath String? // Unterschriebenes Dokument\n version String? // Version der Datenschutzerklärung\n ipAddress String?\n\n createdBy String // User der die Einwilligung erfasst hat\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, consentType])\n @@index([customerId])\n @@index([consentType])\n @@index([status])\n}\n\n// ==================== DATA DELETION REQUESTS (DSGVO) ====================\n\nenum DeletionRequestStatus {\n PENDING // Anfrage eingegangen\n IN_PROGRESS // Wird bearbeitet\n COMPLETED // Abgeschlossen\n PARTIALLY_COMPLETED // Teildaten behalten (rechtliche Gründe)\n REJECTED // Abgelehnt\n}\n\nmodel DataDeletionRequest {\n id Int @id @default(autoincrement())\n customerId Int\n\n status DeletionRequestStatus @default(PENDING)\n requestedAt DateTime @default(now())\n requestSource String // \"email\", \"portal\", \"brief\"\n requestedBy String // Wer hat angefragt\n\n processedAt DateTime?\n processedBy String? // Mitarbeiter der bearbeitet hat\n\n deletedData String? @db.LongText // JSON: Was wurde gelöscht\n retainedData String? @db.LongText // JSON: Was wurde behalten + Grund\n retentionReason String? @db.Text // Begründung für Aufbewahrung\n\n proofDocument String? // Pfad zum Löschnachweis-PDF\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([customerId])\n @@index([status])\n @@index([requestedAt])\n}\n\n// ==================== AUDIT RETENTION POLICIES ====================\n\nmodel AuditRetentionPolicy {\n id Int @id @default(autoincrement())\n resourceType String // \"*\" für Standard, oder spezifischer Model-Name\n sensitivity AuditSensitivity?\n retentionDays Int // Aufbewahrungsfrist in Tagen (z.B. 3650 = 10 Jahre)\n description String?\n legalBasis String? // Gesetzliche Grundlage (z.B. \"AO §147\", \"HGB §257\")\n isActive Boolean @default(true)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([resourceType, sensitivity])\n}\n", - "inlineSchemaHash": "6b4e3ce0743cbe5c178692336a505c27ecf1129b2c1f9415db74ee29f250553d", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\n// ==================== EMAIL LOG ====================\n\nmodel EmailLog {\n id Int @id @default(autoincrement())\n // Absender & Empfänger\n fromAddress String // Absender-E-Mail\n toAddress String // Empfänger-E-Mail\n subject String // Betreff\n // Versand-Kontext\n context String // z.B. \"consent-link\", \"authorization-request\", \"customer-email\"\n customerId Int? // Zugehöriger Kunde (falls vorhanden)\n triggeredBy String? // Wer hat den Versand ausgelöst (User-Email)\n // SMTP-Details\n smtpServer String // SMTP-Server\n smtpPort Int // SMTP-Port\n smtpEncryption String // SSL, STARTTLS, NONE\n smtpUser String // SMTP-Benutzername\n // Ergebnis\n success Boolean // Erfolgreich?\n messageId String? // Message-ID aus SMTP-Antwort\n errorMessage String? @db.Text // Fehlermeldung bei Fehler\n smtpResponse String? @db.Text // SMTP-Server-Antwort\n // Zeitstempel\n sentAt DateTime @default(now())\n\n @@index([sentAt])\n @@index([customerId])\n @@index([success])\n}\n\n// ==================== APP SETTINGS ====================\n\nmodel AppSetting {\n id Int @id @default(autoincrement())\n key String @unique\n value String @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== USERS & AUTH ====================\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n password String\n firstName String\n lastName String\n isActive Boolean @default(true)\n tokenInvalidatedAt DateTime? // Zeitpunkt ab dem alle Tokens ungültig sind (für Zwangslogout bei Rechteänderung)\n\n // Messaging-Kanäle (für Datenschutz-Link-Versand)\n whatsappNumber String?\n telegramUsername String?\n signalNumber String?\n\n customerId Int? @unique\n customer Customer? @relation(fields: [customerId], references: [id])\n roles UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Role {\n id Int @id @default(autoincrement())\n name String @unique\n description String?\n permissions RolePermission[]\n users UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Permission {\n id Int @id @default(autoincrement())\n resource String\n action String\n roles RolePermission[]\n\n @@unique([resource, action])\n}\n\nmodel RolePermission {\n roleId Int\n permissionId Int\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n permission Permission @relation(fields: [permissionId], references: [id], onDelete: Cascade)\n\n @@id([roleId, permissionId])\n}\n\nmodel UserRole {\n userId Int\n roleId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n\n @@id([userId, roleId])\n}\n\n// ==================== CUSTOMERS ====================\n\nenum CustomerType {\n PRIVATE\n BUSINESS\n}\n\nmodel Customer {\n id Int @id @default(autoincrement())\n customerNumber String @unique\n type CustomerType @default(PRIVATE)\n salutation String?\n firstName String\n lastName String\n companyName String?\n foundingDate DateTime? // Gründungsdatum (für Firmen)\n birthDate DateTime?\n birthPlace String?\n email String?\n phone String?\n mobile String?\n taxNumber String?\n businessRegistrationPath String? // PDF-Pfad zur Gewerbeanmeldung\n commercialRegisterPath String? // PDF-Pfad zum Handelsregisterauszug\n commercialRegisterNumber String? // Handelsregisternummer (Text)\n privacyPolicyPath String? // PDF-Pfad zur Datenschutzerklärung (für alle Kunden)\n consentHash String? @unique // Permanenter Hash für öffentlichen Einwilligungslink /datenschutz/\n notes String? @db.Text\n\n // ===== Portal-Zugangsdaten =====\n portalEnabled Boolean @default(false) // Portal aktiviert?\n portalEmail String? @unique // Portal-Login E-Mail\n portalPasswordHash String? // Gehashtes Passwort (für Login)\n portalPasswordEncrypted String? // Verschlüsseltes Passwort (für Anzeige)\n portalLastLogin DateTime? // Letzte Anmeldung\n\n user User?\n addresses Address[]\n bankCards BankCard[]\n identityDocuments IdentityDocument[]\n meters Meter[]\n stressfreiEmails StressfreiEmail[]\n contracts Contract[]\n\n // Vertreter-Beziehungen (Kunde kann für andere Kunden handeln)\n representingFor CustomerRepresentative[] @relation(\"RepresentativeCustomer\")\n representedBy CustomerRepresentative[] @relation(\"RepresentedCustomer\")\n\n // Vollmachten\n authorizationsGiven RepresentativeAuthorization[] @relation(\"AuthorizationCustomer\")\n authorizationsReceived RepresentativeAuthorization[] @relation(\"AuthorizationRepresentative\")\n\n // DSGVO: Einwilligungen\n consents CustomerConsent[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CUSTOMER REPRESENTATIVES ====================\n// Vertretungsbeziehung: Ein Kunde kann die Verträge eines anderen Kunden einsehen\n// z.B. Sohn (representativeId) kann Verträge der Mutter (customerId) sehen\n\nmodel CustomerRepresentative {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, dessen Verträge eingesehen werden (z.B. Mutter)\n customer Customer @relation(\"RepresentedCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Kunde, der einsehen darf (z.B. Sohn)\n representative Customer @relation(\"RepresentativeCustomer\", fields: [representativeId], references: [id], onDelete: Cascade)\n notes String? // Notizen zur Vertretung\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Keine doppelten Einträge\n}\n\n// ==================== VOLLMACHTEN ====================\n// Vollmacht: Kunde B erteilt Kunde A die Vollmacht, seine Daten einzusehen\n// Ohne Vollmacht kann der Vertreter die Verträge des Kunden NICHT sehen\n\nmodel RepresentativeAuthorization {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, der die Vollmacht erteilt (z.B. Mutter)\n customer Customer @relation(\"AuthorizationCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Vertreter, der Zugriff bekommt (z.B. Sohn)\n representative Customer @relation(\"AuthorizationRepresentative\", fields: [representativeId], references: [id], onDelete: Cascade)\n isGranted Boolean @default(false) // Vollmacht erteilt?\n grantedAt DateTime? // Wann erteilt\n withdrawnAt DateTime? // Wann widerrufen\n source String? // Quelle: 'portal', 'papier', 'crm-backend'\n documentPath String? // PDF-Upload der unterschriebenen Vollmacht\n notes String? @db.Text // Notizen\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Eine Vollmacht pro Paar\n}\n\n// ==================== ADDRESSES ====================\n\nenum AddressType {\n DELIVERY_RESIDENCE\n BILLING\n}\n\nmodel Address {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type AddressType @default(DELIVERY_RESIDENCE)\n street String\n houseNumber String\n postalCode String\n city String\n country String @default(\"Deutschland\")\n isDefault Boolean @default(false)\n contractsAsDelivery Contract[] @relation(\"DeliveryAddress\")\n contractsAsBilling Contract[] @relation(\"BillingAddress\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== BANK CARDS ====================\n\nmodel BankCard {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n accountHolder String\n iban String\n bic String?\n bankName String?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== IDENTITY DOCUMENTS ====================\n\nenum DocumentType {\n ID_CARD\n PASSPORT\n DRIVERS_LICENSE\n OTHER\n}\n\nmodel IdentityDocument {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type DocumentType @default(ID_CARD)\n documentNumber String\n issuingAuthority String?\n issueDate DateTime?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n // Führerschein-spezifische Felder\n licenseClasses String? // z.B. \"B, BE, AM, L\" - kommasepariert\n licenseIssueDate DateTime? // Datum des Führerscheinerwerbs (Klasse B)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== EMAIL PROVIDER CONFIG (Plesk, cPanel etc.) ====================\n\nenum EmailProviderType {\n PLESK\n CPANEL\n DIRECTADMIN\n}\n\n// Verschlüsselungstyp für E-Mail-Verbindungen\nenum MailEncryption {\n SSL // Implicit SSL/TLS (Ports 465/993) - Verschlüsselung von Anfang an\n STARTTLS // STARTTLS (Ports 587/143) - Startet unverschlüsselt, dann Upgrade\n NONE // Keine Verschlüsselung (Ports 25/143)\n}\n\nmodel EmailProviderConfig {\n id Int @id @default(autoincrement())\n name String @unique // z.B. \"Plesk Hauptserver\"\n type EmailProviderType\n apiUrl String // API-URL (z.B. https://server.de:8443)\n apiKey String? // API-Key (verschlüsselt)\n username String? // Benutzername für API\n passwordEncrypted String? // Passwort (verschlüsselt)\n domain String // Domain für E-Mails (z.B. stressfrei-wechseln.de)\n defaultForwardEmail String? // Standard-Weiterleitungsadresse (unsere eigene)\n\n // IMAP/SMTP-Server für E-Mail-Client (optional, default: mail.{domain})\n imapServer String? // z.B. \"mail.stressfrei-wechseln.de\"\n imapPort Int? @default(993)\n smtpServer String?\n smtpPort Int? @default(465)\n\n // Verschlüsselungs-Einstellungen\n imapEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n smtpEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n allowSelfSignedCerts Boolean @default(false) // Selbstsignierte Zertifikate erlauben\n\n // System-E-Mail für automatisierte Nachrichten (z.B. DSGVO Consent-Links)\n systemEmailAddress String? // z.B. \"info@stressfrei-wechseln.de\"\n systemEmailPasswordEncrypted String? // Passwort (verschlüsselt)\n\n isActive Boolean @default(true)\n isDefault Boolean @default(false) // Standard-Provider\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== STRESSFREI-WECHSELN EMAIL ADDRESSES ====================\n\nmodel StressfreiEmail {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n email String // Die Weiterleitungs-E-Mail-Adresse\n platform String? // Für welche Plattform (z.B. \"Freenet\", \"Klarmobil\")\n notes String? @db.Text // Optionale Notizen\n isActive Boolean @default(true)\n isProvisioned Boolean @default(false) // Wurde bei Provider angelegt?\n provisionedAt DateTime? // Wann wurde provisioniert?\n provisionError String? @db.Text // Fehlermeldung falls Provisionierung fehlschlug\n\n // Mailbox-Zugangsdaten (für IMAP/SMTP-Zugang)\n hasMailbox Boolean @default(false) // Hat echte Mailbox (nicht nur Weiterleitung)?\n emailPasswordEncrypted String? // Verschlüsseltes Mailbox-Passwort (AES-256-GCM)\n\n contracts Contract[] // Verträge die diese E-Mail als Benutzername verwenden\n cachedEmails CachedEmail[] // Gecachte E-Mails aus dieser Mailbox\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CACHED EMAILS (E-Mail-Client) ====================\n\nenum EmailFolder {\n INBOX\n SENT\n}\n\nmodel CachedEmail {\n id Int @id @default(autoincrement())\n stressfreiEmailId Int\n stressfreiEmail StressfreiEmail @relation(fields: [stressfreiEmailId], references: [id], onDelete: Cascade)\n\n // Ordner (Posteingang oder Gesendet)\n folder EmailFolder @default(INBOX)\n\n // IMAP-Identifikation\n messageId String // RFC 5322 Message-ID\n uid Int // IMAP UID (für Synchronisierung, bei SENT = 0)\n\n // E-Mail-Metadaten\n subject String?\n fromAddress String\n fromName String?\n toAddresses String @db.Text // JSON Array\n ccAddresses String? @db.Text // JSON Array\n receivedAt DateTime\n\n // Inhalt\n textBody String? @db.LongText\n htmlBody String? @db.LongText\n hasAttachments Boolean @default(false)\n attachmentNames String? @db.Text // JSON Array\n\n // Vertragszuordnung\n contractId Int?\n contract Contract? @relation(fields: [contractId], references: [id], onDelete: SetNull)\n assignedAt DateTime?\n assignedBy Int? // User ID der die Zuordnung gemacht hat\n isAutoAssigned Boolean @default(false) // true = automatisch beim Senden aus Vertrag\n\n // Flags\n isRead Boolean @default(false)\n isStarred Boolean @default(false)\n\n // Papierkorb\n isDeleted Boolean @default(false) // Im Papierkorb?\n deletedAt DateTime? // Wann gelöscht?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stressfreiEmailId, messageId, folder]) // Folder hinzugefügt: gleiche MessageID kann in INBOX und SENT existieren\n @@index([contractId])\n @@index([stressfreiEmailId, folder, receivedAt])\n @@index([stressfreiEmailId, isDeleted]) // Für Papierkorb-Abfragen\n}\n\n// ==================== METERS (Energy) ====================\n\nenum MeterType {\n ELECTRICITY\n GAS\n}\n\nenum MeterTariffModel {\n SINGLE // Eintarifzähler (Standard)\n DUAL // Zweitarifzähler (HT/NT)\n}\n\nmodel Meter {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n meterNumber String\n type MeterType\n tariffModel MeterTariffModel @default(SINGLE) // Eintarif oder Zweitarif (HT/NT)\n location String?\n isActive Boolean @default(true)\n readings MeterReading[]\n energyDetails EnergyContractDetails[]\n contractMeters ContractMeter[] @relation(\"ContractMeters\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel MeterReading {\n id Int @id @default(autoincrement())\n meterId Int\n meter Meter @relation(fields: [meterId], references: [id], onDelete: Cascade)\n readingDate DateTime\n value Float // Bei Eintarif: Gesamtwert. Bei Zweitarif: HT-Wert\n valueNt Float? // Nur bei Zweitarif: NT-Wert (Niedertarif)\n unit String @default(\"kWh\")\n notes String?\n // Meldung & Übertragung\n reportedBy String? // Wer hat gemeldet? (E-Mail des Portal-Kunden oder Mitarbeiter)\n status MeterReadingStatus @default(RECORDED)\n transferredAt DateTime? // Wann wurde der Stand an den Anbieter übertragen?\n transferredBy String? // Wer hat übertragen?\n createdAt DateTime @default(now())\n}\n\nenum MeterReadingStatus {\n RECORDED // Erfasst (vom Mitarbeiter)\n REPORTED // Vom Kunden gemeldet (Portal)\n TRANSFERRED // An Anbieter übertragen\n}\n\n// ==================== SALES PLATFORMS ====================\n\nmodel SalesPlatform {\n id Int @id @default(autoincrement())\n name String @unique\n contactInfo String? @db.Text\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CANCELLATION PERIODS ====================\n\nmodel CancellationPeriod {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"14T\", \"1M\", \"3M\", \"12M\", \"1J\"\n description String // z.B. \"14 Tage\", \"1 Monat\", \"3 Monate\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT DURATIONS ====================\n\nmodel ContractDuration {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"12M\", \"24M\", \"1J\", \"2J\"\n description String // z.B. \"12 Monate\", \"24 Monate\", \"1 Jahr\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== PROVIDERS (Anbieter) ====================\n\nmodel Provider {\n id Int @id @default(autoincrement())\n name String @unique // Anbietername\n portalUrl String? // Kundenkontourl (Login-Seite)\n usernameFieldName String? // Benutzernamefeld (z.B. \"email\", \"username\")\n passwordFieldName String? // Kennwortfeld (z.B. \"password\", \"pwd\")\n isActive Boolean @default(true)\n tariffs Tariff[]\n contracts Contract[]\n previousContracts Contract[] @relation(\"PreviousProvider\") // Verträge wo dieser Provider Altanbieter ist\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TARIFFS (Tarife) ====================\n\nmodel Tariff {\n id Int @id @default(autoincrement())\n providerId Int\n provider Provider @relation(fields: [providerId], references: [id], onDelete: Cascade)\n name String // Tarifname\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, name]) // Eindeutiger Tarif pro Anbieter\n}\n\n// ==================== CONTRACT CATEGORIES ====================\n\nmodel ContractCategory {\n id Int @id @default(autoincrement())\n code String @unique // Technischer Code (z.B. ELECTRICITY, GAS)\n name String // Anzeigename (z.B. Strom, Gas)\n icon String? // Icon-Name für UI (z.B. \"Zap\", \"Flame\")\n color String? // Farbe für UI (z.B. \"#FFC107\")\n sortOrder Int @default(0)\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACTS ====================\n\n// Legacy Enum - wird durch ContractCategory ersetzt\nenum ContractType {\n ELECTRICITY\n GAS\n DSL\n CABLE\n FIBER\n MOBILE\n TV\n CAR_INSURANCE\n}\n\nenum ContractStatus {\n DRAFT\n PENDING\n ACTIVE\n CANCELLED\n EXPIRED\n DEACTIVATED\n}\n\nmodel Contract {\n id Int @id @default(autoincrement())\n contractNumber String @unique\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type ContractType\n status ContractStatus @default(DRAFT)\n\n // Neue konfigurierbare Kategorie (ersetzt langfristig das type-Enum)\n contractCategoryId Int?\n contractCategory ContractCategory? @relation(fields: [contractCategoryId], references: [id])\n\n // Lieferadresse\n addressId Int?\n address Address? @relation(\"DeliveryAddress\", fields: [addressId], references: [id])\n\n // Rechnungsadresse (falls leer, wird Lieferadresse verwendet)\n billingAddressId Int?\n billingAddress Address? @relation(\"BillingAddress\", fields: [billingAddressId], references: [id])\n\n bankCardId Int?\n bankCard BankCard? @relation(fields: [bankCardId], references: [id])\n\n identityDocumentId Int?\n identityDocument IdentityDocument? @relation(fields: [identityDocumentId], references: [id])\n\n salesPlatformId Int?\n salesPlatform SalesPlatform? @relation(fields: [salesPlatformId], references: [id])\n\n cancellationPeriodId Int?\n cancellationPeriod CancellationPeriod? @relation(fields: [cancellationPeriodId], references: [id])\n\n contractDurationId Int?\n contractDuration ContractDuration? @relation(fields: [contractDurationId], references: [id])\n\n previousContractId Int? @unique\n previousContract Contract? @relation(\"ContractHistory\", fields: [previousContractId], references: [id])\n followUpContract Contract? @relation(\"ContractHistory\")\n\n // Altanbieter-Daten (nur wenn kein Vorgängervertrag existiert)\n previousProviderId Int?\n previousProvider Provider? @relation(\"PreviousProvider\", fields: [previousProviderId], references: [id])\n previousCustomerNumber String? // Kundennummer beim Altanbieter\n previousContractNumber String? // Vertragsnummer beim Altanbieter\n\n // Anbieter & Tarif (neue Verknüpfung)\n providerId Int?\n provider Provider? @relation(fields: [providerId], references: [id])\n tariffId Int?\n tariff Tariff? @relation(fields: [tariffId], references: [id])\n\n // Legacy-Felder (für Abwärtskompatibilität)\n providerName String?\n tariffName String?\n customerNumberAtProvider String?\n contractNumberAtProvider String? // Vertragsnummer beim Anbieter\n priceFirst12Months String? // Preis erste 12 Monate\n priceFrom13Months String? // Preis ab 13. Monat\n priceAfter24Months String? // Preis nach 24 Monaten\n\n startDate DateTime?\n endDate DateTime? // Wird aus startDate + contractDuration berechnet\n commission Float?\n\n // Kündigungsdokumente\n cancellationLetterPath String? // Kündigungsschreiben PDF\n cancellationConfirmationPath String? // Kündigungsbestätigung PDF\n cancellationLetterOptionsPath String? // Kündigungsschreiben Optionen PDF\n cancellationConfirmationOptionsPath String? // Kündigungsbestätigung Optionen PDF\n\n // Kündigungsdaten\n cancellationConfirmationDate DateTime? // Kündigungsbestätigungsdatum\n cancellationConfirmationOptionsDate DateTime? // Kündigungsbestätigungsoptionendatum\n wasSpecialCancellation Boolean @default(false) // Wurde sondergekündigt?\n\n portalUsername String?\n portalPasswordEncrypted String?\n\n // Stressfrei-Wechseln E-Mail als Benutzername (Alternative zu portalUsername)\n stressfreiEmailId Int?\n stressfreiEmail StressfreiEmail? @relation(fields: [stressfreiEmailId], references: [id])\n\n // Snooze: Vertrag zurückstellen bis Datum (für Cockpit)\n nextReviewDate DateTime? // Erneute Prüfung am\n\n notes String? @db.Text\n\n energyDetails EnergyContractDetails?\n internetDetails InternetContractDetails?\n mobileDetails MobileContractDetails?\n tvDetails TvContractDetails?\n carInsuranceDetails CarInsuranceDetails?\n\n tasks ContractTask[]\n assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client\n historyEntries ContractHistoryEntry[]\n documents ContractDocument[]\n invoices Invoice[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT DOCUMENTS ====================\n\nmodel ContractDocument {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n documentType String // Auftragsformular, Lieferbestätigung, etc.\n documentPath String // Dateipfad\n originalName String // Originaler Dateiname\n notes String? @db.Text\n uploadedBy String? // Wer hat hochgeladen\n createdAt DateTime @default(now())\n\n @@index([contractId])\n}\n\n// ==================== CONTRACT HISTORY ====================\n\nmodel ContractHistoryEntry {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String // Kurzbeschreibung (z.B. \"Folgevertrag erstellt\", \"kWh auf 18000 erhöht\")\n description String? @db.Text // Längere Beschreibung (optional)\n isAutomatic Boolean @default(false) // true = automatisch erstellt, false = manuell\n createdBy String // E-Mail des Erstellers\n createdAt DateTime @default(now())\n}\n\n// ==================== CONTRACT TASKS ====================\n\nenum ContractTaskStatus {\n OPEN\n COMPLETED\n}\n\nmodel ContractTask {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String\n description String? @db.Text\n status ContractTaskStatus @default(OPEN)\n visibleInPortal Boolean @default(false)\n createdBy String? // Name des Erstellers\n completedAt DateTime?\n subtasks ContractTaskSubtask[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ContractTaskSubtask {\n id Int @id @default(autoincrement())\n taskId Int\n task ContractTask @relation(fields: [taskId], references: [id], onDelete: Cascade)\n title String\n status ContractTaskStatus @default(OPEN)\n createdBy String?\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== ENERGY CONTRACT DETAILS ====================\n\nenum InvoiceType {\n INTERIM // Zwischenrechnung\n FINAL // Schlussrechnung\n NOT_AVAILABLE // Rechnung nicht mehr zu bekommen\n}\n\nmodel EnergyContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n meterId Int?\n meter Meter? @relation(fields: [meterId], references: [id])\n maloId String? // Marktlokations-ID\n annualConsumption Float? // kWh für Strom, m³ für Gas\n annualConsumptionKwh Float? // kWh für Gas (zusätzlich zu m³)\n basePrice Float? // €/Monat\n unitPrice Float? // €/kWh (Arbeitspreis) - bei HT/NT: HT-Preis\n unitPriceNt Float? // €/kWh NT-Preis (nur bei Zweitarifzähler)\n bonus Float?\n previousProviderName String?\n previousCustomerNumber String?\n invoices Invoice[] // Rechnungen\n contractMeters ContractMeter[] // Zähler-Zuordnungen (inkl. Folgezähler)\n}\n\nmodel ContractMeter {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int\n energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n meterId Int\n meter Meter @relation(\"ContractMeters\", fields: [meterId], references: [id])\n position Int @default(0) // 0 = Original, 1 = erster Folgezähler, etc.\n installedAt DateTime? // Ab wann wird dieser Zähler am Vertrag genutzt?\n removedAt DateTime? // Wann wurde der Zähler gewechselt? (null = aktuell)\n finalReading Float? // Letzter Stand vor dem Wechsel\n createdAt DateTime @default(now())\n\n @@unique([energyContractDetailsId, meterId])\n @@index([energyContractDetailsId])\n}\n\nmodel Invoice {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int?\n energyContractDetails EnergyContractDetails? @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n contractId Int?\n contract Contract? @relation(fields: [contractId], references: [id], onDelete: Cascade)\n invoiceDate DateTime\n invoiceType InvoiceType\n documentPath String? // Pflicht, außer bei NOT_AVAILABLE\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([energyContractDetailsId])\n @@index([contractId])\n}\n\n// ==================== INTERNET CONTRACT DETAILS ====================\n\nmodel InternetContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n downloadSpeed Int?\n uploadSpeed Int?\n routerModel String?\n routerSerialNumber String?\n installationDate DateTime?\n // Internet-Zugangsdaten\n internetUsername String?\n internetPasswordEncrypted String? // Verschlüsselt gespeichert\n // Objekt & Lage\n propertyType String? // Objekttyp (Mehrparteienhaus, Freistehendes Haus, etc.)\n propertyLocation String? // Lage (Erdgeschoss, OG1, etc.)\n connectionLocation String? // Lage des Anschlusses (Flur, HWR, etc.)\n // Glasfaser-spezifisch\n homeId String?\n // Vodafone DSL/Kabel spezifisch\n activationCode String?\n phoneNumbers PhoneNumber[]\n}\n\nmodel PhoneNumber {\n id Int @id @default(autoincrement())\n internetContractDetailsId Int\n internetDetails InternetContractDetails @relation(fields: [internetContractDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String\n isMain Boolean @default(false)\n // SIP-Zugangsdaten\n sipUsername String?\n sipPasswordEncrypted String? // Verschlüsselt gespeichert\n sipServer String?\n}\n\n// ==================== MOBILE CONTRACT DETAILS ====================\n\nmodel MobileContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n requiresMultisim Boolean @default(false) // Multisim erforderlich?\n dataVolume Float?\n includedMinutes Int?\n includedSMS Int?\n deviceModel String?\n deviceImei String?\n simCards SimCard[]\n // Legacy-Felder (für Abwärtskompatibilität, werden durch simCards ersetzt)\n phoneNumber String?\n simCardNumber String?\n}\n\nmodel SimCard {\n id Int @id @default(autoincrement())\n mobileDetailsId Int\n mobileDetails MobileContractDetails @relation(fields: [mobileDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String? // Rufnummer\n simCardNumber String? // SIM-Kartennummer\n pin String? // PIN (verschlüsselt gespeichert)\n puk String? // PUK (verschlüsselt gespeichert)\n isMultisim Boolean @default(false) // Ist dies eine Multisim-Karte?\n isMain Boolean @default(false) // Ist dies die Hauptkarte?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TV CONTRACT DETAILS ====================\n\nmodel TvContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n receiverModel String?\n smartcardNumber String?\n package String?\n}\n\n// ==================== CAR INSURANCE DETAILS ====================\n\nenum InsuranceType {\n LIABILITY\n PARTIAL\n FULL\n}\n\nmodel CarInsuranceDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n licensePlate String?\n hsn String?\n tsn String?\n vin String?\n vehicleType String?\n firstRegistration DateTime?\n noClaimsClass String?\n insuranceType InsuranceType @default(LIABILITY)\n deductiblePartial Float?\n deductibleFull Float?\n policyNumber String?\n previousInsurer String?\n}\n\n// ==================== AUDIT LOGGING (DSGVO) ====================\n\nenum AuditAction {\n CREATE\n READ\n UPDATE\n DELETE\n EXPORT // DSGVO-Datenexport\n ANONYMIZE // Recht auf Vergessenwerden\n LOGIN\n LOGOUT\n LOGIN_FAILED\n}\n\nenum AuditSensitivity {\n LOW // Einstellungen, Plattformen\n MEDIUM // Verträge, Tarife\n HIGH // Kundendaten, Bankdaten\n CRITICAL // Authentifizierung, Ausweisdokumente\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n\n // Wer\n userId Int? // Staff User (null bei Kundenportal/System)\n userEmail String\n userRole String? @db.Text // Rolle zum Zeitpunkt der Aktion\n customerId Int? // Bei Kundenportal-Zugriff\n isCustomerPortal Boolean @default(false)\n\n // Was\n action AuditAction\n sensitivity AuditSensitivity @default(MEDIUM)\n\n // Welche Ressource\n resourceType String // Prisma Model Name\n resourceId String? // ID des Datensatzes\n resourceLabel String? // Lesbare Bezeichnung\n\n // Kontext\n endpoint String // API-Pfad\n httpMethod String // GET, POST, PUT, DELETE\n ipAddress String\n userAgent String? @db.Text\n\n // Änderungen (JSON, bei sensiblen Daten verschlüsselt)\n changesBefore String? @db.LongText\n changesAfter String? @db.LongText\n changesEncrypted Boolean @default(false)\n\n // DSGVO\n dataSubjectId Int? // Betroffene Person (für Reports)\n legalBasis String? // Rechtsgrundlage\n\n // Status\n success Boolean @default(true)\n errorMessage String? @db.Text\n durationMs Int?\n\n // Unveränderlichkeit (Hash-Kette)\n createdAt DateTime @default(now())\n hash String? // SHA-256 Hash des Eintrags\n previousHash String? // Hash des vorherigen Eintrags\n\n @@index([userId])\n @@index([customerId])\n @@index([resourceType, resourceId])\n @@index([dataSubjectId])\n @@index([action])\n @@index([createdAt])\n @@index([sensitivity])\n}\n\n// ==================== CONSENT MANAGEMENT (DSGVO) ====================\n\nenum ConsentType {\n DATA_PROCESSING // Grundlegende Datenverarbeitung\n MARKETING_EMAIL // E-Mail-Marketing\n MARKETING_PHONE // Telefon-Marketing\n DATA_SHARING_PARTNER // Weitergabe an Partner\n}\n\nenum ConsentStatus {\n GRANTED\n WITHDRAWN\n PENDING\n}\n\nmodel CustomerConsent {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n consentType ConsentType\n status ConsentStatus @default(PENDING)\n\n grantedAt DateTime?\n withdrawnAt DateTime?\n source String? // \"portal\", \"telefon\", \"papier\", \"email\"\n documentPath String? // Unterschriebenes Dokument\n version String? // Version der Datenschutzerklärung\n ipAddress String?\n\n createdBy String // User der die Einwilligung erfasst hat\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, consentType])\n @@index([customerId])\n @@index([consentType])\n @@index([status])\n}\n\n// ==================== DATA DELETION REQUESTS (DSGVO) ====================\n\nenum DeletionRequestStatus {\n PENDING // Anfrage eingegangen\n IN_PROGRESS // Wird bearbeitet\n COMPLETED // Abgeschlossen\n PARTIALLY_COMPLETED // Teildaten behalten (rechtliche Gründe)\n REJECTED // Abgelehnt\n}\n\nmodel DataDeletionRequest {\n id Int @id @default(autoincrement())\n customerId Int\n\n status DeletionRequestStatus @default(PENDING)\n requestedAt DateTime @default(now())\n requestSource String // \"email\", \"portal\", \"brief\"\n requestedBy String // Wer hat angefragt\n\n processedAt DateTime?\n processedBy String? // Mitarbeiter der bearbeitet hat\n\n deletedData String? @db.LongText // JSON: Was wurde gelöscht\n retainedData String? @db.LongText // JSON: Was wurde behalten + Grund\n retentionReason String? @db.Text // Begründung für Aufbewahrung\n\n proofDocument String? // Pfad zum Löschnachweis-PDF\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([customerId])\n @@index([status])\n @@index([requestedAt])\n}\n\n// ==================== AUDIT RETENTION POLICIES ====================\n\nmodel AuditRetentionPolicy {\n id Int @id @default(autoincrement())\n resourceType String // \"*\" für Standard, oder spezifischer Model-Name\n sensitivity AuditSensitivity?\n retentionDays Int // Aufbewahrungsfrist in Tagen (z.B. 3650 = 10 Jahre)\n description String?\n legalBasis String? // Gesetzliche Grundlage (z.B. \"AO §147\", \"HGB §257\")\n isActive Boolean @default(true)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([resourceType, sensitivity])\n}\n", + "inlineSchemaHash": "a5343cc33c8e79d5345d9fa49cf39e127515138cef726b4c49dcf00bde234fb9", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"EmailLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"context\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggeredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpUser\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpResponse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sentAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AppSetting\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenInvalidatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"whatsappNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telegramUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signalNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Role\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"users\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Permission\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"resource\",\"action\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resource\",\"action\"]}],\"isGenerated\":false},\"RolePermission\":{\"dbName\":null,\"fields\":[{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permission\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Permission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[\"permissionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"roleId\",\"permissionId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserRole\":{\"dbName\":null,\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"userId\",\"roleId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Customer\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"CustomerType\",\"default\":\"PRIVATE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salutation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"foundingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthPlace\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taxNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"businessRegistrationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"privacyPolicyPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEnabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalLastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocuments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representingFor\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representedBy\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsGiven\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsReceived\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consents\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerConsent\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerRepresentative\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"RepresentativeAuthorization\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isGranted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"Address\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AddressType\",\"default\":\"DELIVERY_RESIDENCE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"street\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"houseNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"postalCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"Deutschland\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsDelivery\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsBilling\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BankCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accountHolder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iban\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"IdentityDocument\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DocumentType\",\"default\":\"ID_CARD\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuingAuthority\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseClasses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseIssueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EmailProviderConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EmailProviderType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"domain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultForwardEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":993,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":465,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"allowSelfSignedCerts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"StressfreiEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isProvisioned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasMailbox\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cachedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"folder\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"EmailFolder\",\"default\":\"INBOX\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ccAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"textBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"htmlBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasAttachments\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attachmentNames\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"SetNull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutoAssigned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isRead\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isStarred\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDeleted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stressfreiEmailId\",\"messageId\",\"folder\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stressfreiEmailId\",\"messageId\",\"folder\"]}],\"isGenerated\":false},\"Meter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffModel\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterTariffModel\",\"default\":\"SINGLE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterReading\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MeterReading\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"kWh\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reportedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterReadingStatus\",\"default\":\"RECORDED\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SalesPlatform\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contactInfo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CancellationPeriod\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractDuration\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Provider\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usernameFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffs\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tariff\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"providerId\",\"name\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"providerId\",\"name\"]}],\"isGenerated\":false},\"ContractCategory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"color\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Contract\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractStatus\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategoryId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategory\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractCategory\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[\"contractCategoryId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[\"addressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddress\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[\"billingAddressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCardId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCard\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[\"bankCardId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocumentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocument\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[\"identityDocumentId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatformId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatform\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SalesPlatform\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[\"salesPlatformId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriodId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriod\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CancellationPeriod\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[\"cancellationPeriodId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDurationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDuration\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractDuration\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[\"contractDurationId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[\"previousContractId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"followUpContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[\"previousProviderId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariff\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[\"tariffId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFirst12Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFrom13Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceAfter24Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wasSpecialCancellation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextReviewDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TvContractDetails\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"carInsuranceDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CarInsuranceDetails\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"historyEntries\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractHistoryEntry\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractHistoryEntry\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutomatic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"visibleInPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subtasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTaskSubtask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTaskSubtask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"task\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[\"taskId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EnergyContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maloId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumptionKwh\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basePrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPriceNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bonus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Invoice\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractMeter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"removedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"finalReading\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"energyContractDetailsId\",\"meterId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"energyContractDetailsId\",\"meterId\"]}],\"isGenerated\":false},\"Invoice\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InvoiceType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"InternetContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"downloadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uploadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerSerialNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activationCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumbers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PhoneNumber\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PhoneNumber\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[\"internetContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MobileContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiresMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataVolume\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedMinutes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedSMS\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceImei\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SimCard\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SimCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[\"mobileDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"puk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiverModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smartcardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"package\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CarInsuranceDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licensePlate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vehicleType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstRegistration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noClaimsClass\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"insuranceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"InsuranceType\",\"default\":\"LIABILITY\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductiblePartial\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductibleFull\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"policyNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousInsurer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userRole\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isCustomerPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditAction\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AuditSensitivity\",\"default\":\"MEDIUM\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceLabel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"httpMethod\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesBefore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesAfter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataSubjectId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerConsent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ConsentType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ConsentStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"consentType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"consentType\"]}],\"isGenerated\":false},\"DataDeletionRequest\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DeletionRequestStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retainedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proofDocument\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditRetentionPolicy\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditSensitivity\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionDays\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"resourceType\",\"sensitivity\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resourceType\",\"sensitivity\"]}],\"isGenerated\":false}},\"enums\":{\"CustomerType\":{\"values\":[{\"name\":\"PRIVATE\",\"dbName\":null},{\"name\":\"BUSINESS\",\"dbName\":null}],\"dbName\":null},\"AddressType\":{\"values\":[{\"name\":\"DELIVERY_RESIDENCE\",\"dbName\":null},{\"name\":\"BILLING\",\"dbName\":null}],\"dbName\":null},\"DocumentType\":{\"values\":[{\"name\":\"ID_CARD\",\"dbName\":null},{\"name\":\"PASSPORT\",\"dbName\":null},{\"name\":\"DRIVERS_LICENSE\",\"dbName\":null},{\"name\":\"OTHER\",\"dbName\":null}],\"dbName\":null},\"EmailProviderType\":{\"values\":[{\"name\":\"PLESK\",\"dbName\":null},{\"name\":\"CPANEL\",\"dbName\":null},{\"name\":\"DIRECTADMIN\",\"dbName\":null}],\"dbName\":null},\"MailEncryption\":{\"values\":[{\"name\":\"SSL\",\"dbName\":null},{\"name\":\"STARTTLS\",\"dbName\":null},{\"name\":\"NONE\",\"dbName\":null}],\"dbName\":null},\"EmailFolder\":{\"values\":[{\"name\":\"INBOX\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null}],\"dbName\":null},\"MeterType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null}],\"dbName\":null},\"MeterTariffModel\":{\"values\":[{\"name\":\"SINGLE\",\"dbName\":null},{\"name\":\"DUAL\",\"dbName\":null}],\"dbName\":null},\"MeterReadingStatus\":{\"values\":[{\"name\":\"RECORDED\",\"dbName\":null},{\"name\":\"REPORTED\",\"dbName\":null},{\"name\":\"TRANSFERRED\",\"dbName\":null}],\"dbName\":null},\"ContractType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null},{\"name\":\"DSL\",\"dbName\":null},{\"name\":\"CABLE\",\"dbName\":null},{\"name\":\"FIBER\",\"dbName\":null},{\"name\":\"MOBILE\",\"dbName\":null},{\"name\":\"TV\",\"dbName\":null},{\"name\":\"CAR_INSURANCE\",\"dbName\":null}],\"dbName\":null},\"ContractStatus\":{\"values\":[{\"name\":\"DRAFT\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"EXPIRED\",\"dbName\":null},{\"name\":\"DEACTIVATED\",\"dbName\":null}],\"dbName\":null},\"ContractTaskStatus\":{\"values\":[{\"name\":\"OPEN\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"InvoiceType\":{\"values\":[{\"name\":\"INTERIM\",\"dbName\":null},{\"name\":\"FINAL\",\"dbName\":null},{\"name\":\"NOT_AVAILABLE\",\"dbName\":null}],\"dbName\":null},\"InsuranceType\":{\"values\":[{\"name\":\"LIABILITY\",\"dbName\":null},{\"name\":\"PARTIAL\",\"dbName\":null},{\"name\":\"FULL\",\"dbName\":null}],\"dbName\":null},\"AuditAction\":{\"values\":[{\"name\":\"CREATE\",\"dbName\":null},{\"name\":\"READ\",\"dbName\":null},{\"name\":\"UPDATE\",\"dbName\":null},{\"name\":\"DELETE\",\"dbName\":null},{\"name\":\"EXPORT\",\"dbName\":null},{\"name\":\"ANONYMIZE\",\"dbName\":null},{\"name\":\"LOGIN\",\"dbName\":null},{\"name\":\"LOGOUT\",\"dbName\":null},{\"name\":\"LOGIN_FAILED\",\"dbName\":null}],\"dbName\":null},\"AuditSensitivity\":{\"values\":[{\"name\":\"LOW\",\"dbName\":null},{\"name\":\"MEDIUM\",\"dbName\":null},{\"name\":\"HIGH\",\"dbName\":null},{\"name\":\"CRITICAL\",\"dbName\":null}],\"dbName\":null},\"ConsentType\":{\"values\":[{\"name\":\"DATA_PROCESSING\",\"dbName\":null},{\"name\":\"MARKETING_EMAIL\",\"dbName\":null},{\"name\":\"MARKETING_PHONE\",\"dbName\":null},{\"name\":\"DATA_SHARING_PARTNER\",\"dbName\":null}],\"dbName\":null},\"ConsentStatus\":{\"values\":[{\"name\":\"GRANTED\",\"dbName\":null},{\"name\":\"WITHDRAWN\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null}],\"dbName\":null},\"DeletionRequestStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"IN_PROGRESS\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"PARTIALLY_COMPLETED\",\"dbName\":null},{\"name\":\"REJECTED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"EmailLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"context\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggeredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpUser\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpResponse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sentAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AppSetting\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenInvalidatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"whatsappNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telegramUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signalNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Role\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"users\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Permission\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"resource\",\"action\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resource\",\"action\"]}],\"isGenerated\":false},\"RolePermission\":{\"dbName\":null,\"fields\":[{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permission\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Permission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[\"permissionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"roleId\",\"permissionId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserRole\":{\"dbName\":null,\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"userId\",\"roleId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Customer\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"CustomerType\",\"default\":\"PRIVATE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salutation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"foundingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthPlace\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taxNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"businessRegistrationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"privacyPolicyPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEnabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalLastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocuments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representingFor\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representedBy\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsGiven\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsReceived\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consents\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerConsent\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerRepresentative\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"RepresentativeAuthorization\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isGranted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"Address\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AddressType\",\"default\":\"DELIVERY_RESIDENCE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"street\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"houseNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"postalCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"Deutschland\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsDelivery\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsBilling\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BankCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accountHolder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iban\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"IdentityDocument\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DocumentType\",\"default\":\"ID_CARD\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuingAuthority\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseClasses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseIssueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EmailProviderConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EmailProviderType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"domain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultForwardEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":993,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":465,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"allowSelfSignedCerts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"StressfreiEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isProvisioned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasMailbox\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cachedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"folder\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"EmailFolder\",\"default\":\"INBOX\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ccAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"textBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"htmlBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasAttachments\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attachmentNames\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"SetNull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutoAssigned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isRead\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isStarred\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDeleted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stressfreiEmailId\",\"messageId\",\"folder\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stressfreiEmailId\",\"messageId\",\"folder\"]}],\"isGenerated\":false},\"Meter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffModel\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterTariffModel\",\"default\":\"SINGLE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterReading\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MeterReading\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"kWh\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reportedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterReadingStatus\",\"default\":\"RECORDED\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SalesPlatform\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contactInfo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CancellationPeriod\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractDuration\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Provider\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usernameFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffs\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tariff\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"providerId\",\"name\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"providerId\",\"name\"]}],\"isGenerated\":false},\"ContractCategory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"color\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Contract\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractStatus\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategoryId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategory\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractCategory\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[\"contractCategoryId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[\"addressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddress\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[\"billingAddressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCardId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCard\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[\"bankCardId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocumentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocument\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[\"identityDocumentId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatformId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatform\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SalesPlatform\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[\"salesPlatformId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriodId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriod\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CancellationPeriod\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[\"cancellationPeriodId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDurationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDuration\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractDuration\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[\"contractDurationId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[\"previousContractId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"followUpContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[\"previousProviderId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariff\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[\"tariffId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFirst12Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFrom13Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceAfter24Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wasSpecialCancellation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextReviewDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TvContractDetails\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"carInsuranceDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CarInsuranceDetails\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"historyEntries\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractHistoryEntry\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documents\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractDocument\",\"relationName\":\"ContractToContractDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Invoice\",\"relationName\":\"ContractToInvoice\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractDocument\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractDocument\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uploadedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractHistoryEntry\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutomatic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"visibleInPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subtasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTaskSubtask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTaskSubtask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"task\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[\"taskId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EnergyContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maloId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumptionKwh\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basePrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPriceNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bonus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Invoice\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractMeter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"removedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"finalReading\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"energyContractDetailsId\",\"meterId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"energyContractDetailsId\",\"meterId\"]}],\"isGenerated\":false},\"Invoice\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToInvoice\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InvoiceType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"InternetContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"downloadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uploadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerSerialNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"propertyType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"propertyLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"connectionLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activationCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumbers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PhoneNumber\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PhoneNumber\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[\"internetContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MobileContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiresMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataVolume\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedMinutes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedSMS\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceImei\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SimCard\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SimCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[\"mobileDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"puk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiverModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smartcardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"package\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CarInsuranceDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licensePlate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vehicleType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstRegistration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noClaimsClass\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"insuranceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"InsuranceType\",\"default\":\"LIABILITY\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductiblePartial\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductibleFull\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"policyNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousInsurer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userRole\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isCustomerPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditAction\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AuditSensitivity\",\"default\":\"MEDIUM\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceLabel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"httpMethod\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesBefore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesAfter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataSubjectId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerConsent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ConsentType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ConsentStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"consentType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"consentType\"]}],\"isGenerated\":false},\"DataDeletionRequest\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DeletionRequestStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retainedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proofDocument\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditRetentionPolicy\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditSensitivity\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionDays\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"resourceType\",\"sensitivity\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resourceType\",\"sensitivity\"]}],\"isGenerated\":false}},\"enums\":{\"CustomerType\":{\"values\":[{\"name\":\"PRIVATE\",\"dbName\":null},{\"name\":\"BUSINESS\",\"dbName\":null}],\"dbName\":null},\"AddressType\":{\"values\":[{\"name\":\"DELIVERY_RESIDENCE\",\"dbName\":null},{\"name\":\"BILLING\",\"dbName\":null}],\"dbName\":null},\"DocumentType\":{\"values\":[{\"name\":\"ID_CARD\",\"dbName\":null},{\"name\":\"PASSPORT\",\"dbName\":null},{\"name\":\"DRIVERS_LICENSE\",\"dbName\":null},{\"name\":\"OTHER\",\"dbName\":null}],\"dbName\":null},\"EmailProviderType\":{\"values\":[{\"name\":\"PLESK\",\"dbName\":null},{\"name\":\"CPANEL\",\"dbName\":null},{\"name\":\"DIRECTADMIN\",\"dbName\":null}],\"dbName\":null},\"MailEncryption\":{\"values\":[{\"name\":\"SSL\",\"dbName\":null},{\"name\":\"STARTTLS\",\"dbName\":null},{\"name\":\"NONE\",\"dbName\":null}],\"dbName\":null},\"EmailFolder\":{\"values\":[{\"name\":\"INBOX\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null}],\"dbName\":null},\"MeterType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null}],\"dbName\":null},\"MeterTariffModel\":{\"values\":[{\"name\":\"SINGLE\",\"dbName\":null},{\"name\":\"DUAL\",\"dbName\":null}],\"dbName\":null},\"MeterReadingStatus\":{\"values\":[{\"name\":\"RECORDED\",\"dbName\":null},{\"name\":\"REPORTED\",\"dbName\":null},{\"name\":\"TRANSFERRED\",\"dbName\":null}],\"dbName\":null},\"ContractType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null},{\"name\":\"DSL\",\"dbName\":null},{\"name\":\"CABLE\",\"dbName\":null},{\"name\":\"FIBER\",\"dbName\":null},{\"name\":\"MOBILE\",\"dbName\":null},{\"name\":\"TV\",\"dbName\":null},{\"name\":\"CAR_INSURANCE\",\"dbName\":null}],\"dbName\":null},\"ContractStatus\":{\"values\":[{\"name\":\"DRAFT\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"EXPIRED\",\"dbName\":null},{\"name\":\"DEACTIVATED\",\"dbName\":null}],\"dbName\":null},\"ContractTaskStatus\":{\"values\":[{\"name\":\"OPEN\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"InvoiceType\":{\"values\":[{\"name\":\"INTERIM\",\"dbName\":null},{\"name\":\"FINAL\",\"dbName\":null},{\"name\":\"NOT_AVAILABLE\",\"dbName\":null}],\"dbName\":null},\"InsuranceType\":{\"values\":[{\"name\":\"LIABILITY\",\"dbName\":null},{\"name\":\"PARTIAL\",\"dbName\":null},{\"name\":\"FULL\",\"dbName\":null}],\"dbName\":null},\"AuditAction\":{\"values\":[{\"name\":\"CREATE\",\"dbName\":null},{\"name\":\"READ\",\"dbName\":null},{\"name\":\"UPDATE\",\"dbName\":null},{\"name\":\"DELETE\",\"dbName\":null},{\"name\":\"EXPORT\",\"dbName\":null},{\"name\":\"ANONYMIZE\",\"dbName\":null},{\"name\":\"LOGIN\",\"dbName\":null},{\"name\":\"LOGOUT\",\"dbName\":null},{\"name\":\"LOGIN_FAILED\",\"dbName\":null}],\"dbName\":null},\"AuditSensitivity\":{\"values\":[{\"name\":\"LOW\",\"dbName\":null},{\"name\":\"MEDIUM\",\"dbName\":null},{\"name\":\"HIGH\",\"dbName\":null},{\"name\":\"CRITICAL\",\"dbName\":null}],\"dbName\":null},\"ConsentType\":{\"values\":[{\"name\":\"DATA_PROCESSING\",\"dbName\":null},{\"name\":\"MARKETING_EMAIL\",\"dbName\":null},{\"name\":\"MARKETING_PHONE\",\"dbName\":null},{\"name\":\"DATA_SHARING_PARTNER\",\"dbName\":null}],\"dbName\":null},\"ConsentStatus\":{\"values\":[{\"name\":\"GRANTED\",\"dbName\":null},{\"name\":\"WITHDRAWN\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null}],\"dbName\":null},\"DeletionRequestStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"IN_PROGRESS\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"PARTIALLY_COMPLETED\",\"dbName\":null},{\"name\":\"REJECTED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined diff --git a/backend/node_modules/.prisma/client/index-browser.js b/backend/node_modules/.prisma/client/index-browser.js index 2b03ffa2..b4786a48 100644 --- a/backend/node_modules/.prisma/client/index-browser.js +++ b/backend/node_modules/.prisma/client/index-browser.js @@ -488,6 +488,17 @@ exports.Prisma.ContractScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.ContractDocumentScalarFieldEnum = { + id: 'id', + contractId: 'contractId', + documentType: 'documentType', + documentPath: 'documentPath', + originalName: 'originalName', + notes: 'notes', + uploadedBy: 'uploadedBy', + createdAt: 'createdAt' +}; + exports.Prisma.ContractHistoryEntryScalarFieldEnum = { id: 'id', contractId: 'contractId', @@ -551,6 +562,7 @@ exports.Prisma.ContractMeterScalarFieldEnum = { exports.Prisma.InvoiceScalarFieldEnum = { id: 'id', energyContractDetailsId: 'energyContractDetailsId', + contractId: 'contractId', invoiceDate: 'invoiceDate', invoiceType: 'invoiceType', documentPath: 'documentPath', @@ -569,6 +581,9 @@ exports.Prisma.InternetContractDetailsScalarFieldEnum = { installationDate: 'installationDate', internetUsername: 'internetUsername', internetPasswordEncrypted: 'internetPasswordEncrypted', + propertyType: 'propertyType', + propertyLocation: 'propertyLocation', + connectionLocation: 'connectionLocation', homeId: 'homeId', activationCode: 'activationCode' }; @@ -870,6 +885,7 @@ exports.Prisma.ModelName = { Tariff: 'Tariff', ContractCategory: 'ContractCategory', Contract: 'Contract', + ContractDocument: 'ContractDocument', ContractHistoryEntry: 'ContractHistoryEntry', ContractTask: 'ContractTask', ContractTaskSubtask: 'ContractTaskSubtask', diff --git a/backend/node_modules/.prisma/client/index.d.ts b/backend/node_modules/.prisma/client/index.d.ts index 28e6368d..762ac5fc 100644 --- a/backend/node_modules/.prisma/client/index.d.ts +++ b/backend/node_modules/.prisma/client/index.d.ts @@ -138,6 +138,11 @@ export type ContractCategory = $Result.DefaultSelection +/** + * Model ContractDocument + * + */ +export type ContractDocument = $Result.DefaultSelection /** * Model ContractHistoryEntry * @@ -857,6 +862,16 @@ export class PrismaClient< */ get contract(): Prisma.ContractDelegate; + /** + * `prisma.contractDocument`: Exposes CRUD operations for the **ContractDocument** model. + * Example usage: + * ```ts + * // Fetch zero or more ContractDocuments + * const contractDocuments = await prisma.contractDocument.findMany() + * ``` + */ + get contractDocument(): Prisma.ContractDocumentDelegate; + /** * `prisma.contractHistoryEntry`: Exposes CRUD operations for the **ContractHistoryEntry** model. * Example usage: @@ -1482,6 +1497,7 @@ export namespace Prisma { Tariff: 'Tariff', ContractCategory: 'ContractCategory', Contract: 'Contract', + ContractDocument: 'ContractDocument', ContractHistoryEntry: 'ContractHistoryEntry', ContractTask: 'ContractTask', ContractTaskSubtask: 'ContractTaskSubtask', @@ -1513,7 +1529,7 @@ export namespace Prisma { export type TypeMap = { meta: { - modelProps: "emailLog" | "appSetting" | "user" | "role" | "permission" | "rolePermission" | "userRole" | "customer" | "customerRepresentative" | "representativeAuthorization" | "address" | "bankCard" | "identityDocument" | "emailProviderConfig" | "stressfreiEmail" | "cachedEmail" | "meter" | "meterReading" | "salesPlatform" | "cancellationPeriod" | "contractDuration" | "provider" | "tariff" | "contractCategory" | "contract" | "contractHistoryEntry" | "contractTask" | "contractTaskSubtask" | "energyContractDetails" | "contractMeter" | "invoice" | "internetContractDetails" | "phoneNumber" | "mobileContractDetails" | "simCard" | "tvContractDetails" | "carInsuranceDetails" | "auditLog" | "customerConsent" | "dataDeletionRequest" | "auditRetentionPolicy" + modelProps: "emailLog" | "appSetting" | "user" | "role" | "permission" | "rolePermission" | "userRole" | "customer" | "customerRepresentative" | "representativeAuthorization" | "address" | "bankCard" | "identityDocument" | "emailProviderConfig" | "stressfreiEmail" | "cachedEmail" | "meter" | "meterReading" | "salesPlatform" | "cancellationPeriod" | "contractDuration" | "provider" | "tariff" | "contractCategory" | "contract" | "contractDocument" | "contractHistoryEntry" | "contractTask" | "contractTaskSubtask" | "energyContractDetails" | "contractMeter" | "invoice" | "internetContractDetails" | "phoneNumber" | "mobileContractDetails" | "simCard" | "tvContractDetails" | "carInsuranceDetails" | "auditLog" | "customerConsent" | "dataDeletionRequest" | "auditRetentionPolicy" txIsolationLevel: Prisma.TransactionIsolationLevel } model: { @@ -3167,6 +3183,72 @@ export namespace Prisma { } } } + ContractDocument: { + payload: Prisma.$ContractDocumentPayload + fields: Prisma.ContractDocumentFieldRefs + operations: { + findUnique: { + args: Prisma.ContractDocumentFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ContractDocumentFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.ContractDocumentFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ContractDocumentFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.ContractDocumentFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.ContractDocumentCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.ContractDocumentCreateManyArgs + result: BatchPayload + } + delete: { + args: Prisma.ContractDocumentDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.ContractDocumentUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ContractDocumentDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ContractDocumentUpdateManyArgs + result: BatchPayload + } + upsert: { + args: Prisma.ContractDocumentUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.ContractDocumentAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.ContractDocumentGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.ContractDocumentCountArgs + result: $Utils.Optional | number + } + } + } ContractHistoryEntry: { payload: Prisma.$ContractHistoryEntryPayload fields: Prisma.ContractHistoryEntryFieldRefs @@ -5005,12 +5087,16 @@ export namespace Prisma { tasks: number assignedEmails: number historyEntries: number + documents: number + invoices: number } export type ContractCountOutputTypeSelect = { tasks?: boolean | ContractCountOutputTypeCountTasksArgs assignedEmails?: boolean | ContractCountOutputTypeCountAssignedEmailsArgs historyEntries?: boolean | ContractCountOutputTypeCountHistoryEntriesArgs + documents?: boolean | ContractCountOutputTypeCountDocumentsArgs + invoices?: boolean | ContractCountOutputTypeCountInvoicesArgs } // Custom InputTypes @@ -5045,6 +5131,20 @@ export namespace Prisma { where?: ContractHistoryEntryWhereInput } + /** + * ContractCountOutputType without action + */ + export type ContractCountOutputTypeCountDocumentsArgs = { + where?: ContractDocumentWhereInput + } + + /** + * ContractCountOutputType without action + */ + export type ContractCountOutputTypeCountInvoicesArgs = { + where?: InvoiceWhereInput + } + /** * Count Type ContractTaskCountOutputType @@ -29882,6 +29982,8 @@ export namespace Prisma { tasks?: boolean | Contract$tasksArgs assignedEmails?: boolean | Contract$assignedEmailsArgs historyEntries?: boolean | Contract$historyEntriesArgs + documents?: boolean | Contract$documentsArgs + invoices?: boolean | Contract$invoicesArgs _count?: boolean | ContractCountOutputTypeDefaultArgs }, ExtArgs["result"]["contract"]> @@ -29956,6 +30058,8 @@ export namespace Prisma { tasks?: boolean | Contract$tasksArgs assignedEmails?: boolean | Contract$assignedEmailsArgs historyEntries?: boolean | Contract$historyEntriesArgs + documents?: boolean | Contract$documentsArgs + invoices?: boolean | Contract$invoicesArgs _count?: boolean | ContractCountOutputTypeDefaultArgs } @@ -29985,6 +30089,8 @@ export namespace Prisma { tasks: Prisma.$ContractTaskPayload[] assignedEmails: Prisma.$CachedEmailPayload[] historyEntries: Prisma.$ContractHistoryEntryPayload[] + documents: Prisma.$ContractDocumentPayload[] + invoices: Prisma.$InvoicePayload[] } scalars: $Extensions.GetPayloadResult<{ id: number @@ -30393,6 +30499,8 @@ export namespace Prisma { tasks = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> assignedEmails = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> historyEntries = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> + documents = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> + invoices = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany"> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -31108,6 +31216,46 @@ export namespace Prisma { distinct?: ContractHistoryEntryScalarFieldEnum | ContractHistoryEntryScalarFieldEnum[] } + /** + * Contract.documents + */ + export type Contract$documentsArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + where?: ContractDocumentWhereInput + orderBy?: ContractDocumentOrderByWithRelationInput | ContractDocumentOrderByWithRelationInput[] + cursor?: ContractDocumentWhereUniqueInput + take?: number + skip?: number + distinct?: ContractDocumentScalarFieldEnum | ContractDocumentScalarFieldEnum[] + } + + /** + * Contract.invoices + */ + export type Contract$invoicesArgs = { + /** + * Select specific fields to fetch from the Invoice + */ + select?: InvoiceSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: InvoiceInclude | null + where?: InvoiceWhereInput + orderBy?: InvoiceOrderByWithRelationInput | InvoiceOrderByWithRelationInput[] + cursor?: InvoiceWhereUniqueInput + take?: number + skip?: number + distinct?: InvoiceScalarFieldEnum | InvoiceScalarFieldEnum[] + } + /** * Contract without action */ @@ -31123,6 +31271,956 @@ export namespace Prisma { } + /** + * Model ContractDocument + */ + + export type AggregateContractDocument = { + _count: ContractDocumentCountAggregateOutputType | null + _avg: ContractDocumentAvgAggregateOutputType | null + _sum: ContractDocumentSumAggregateOutputType | null + _min: ContractDocumentMinAggregateOutputType | null + _max: ContractDocumentMaxAggregateOutputType | null + } + + export type ContractDocumentAvgAggregateOutputType = { + id: number | null + contractId: number | null + } + + export type ContractDocumentSumAggregateOutputType = { + id: number | null + contractId: number | null + } + + export type ContractDocumentMinAggregateOutputType = { + id: number | null + contractId: number | null + documentType: string | null + documentPath: string | null + originalName: string | null + notes: string | null + uploadedBy: string | null + createdAt: Date | null + } + + export type ContractDocumentMaxAggregateOutputType = { + id: number | null + contractId: number | null + documentType: string | null + documentPath: string | null + originalName: string | null + notes: string | null + uploadedBy: string | null + createdAt: Date | null + } + + export type ContractDocumentCountAggregateOutputType = { + id: number + contractId: number + documentType: number + documentPath: number + originalName: number + notes: number + uploadedBy: number + createdAt: number + _all: number + } + + + export type ContractDocumentAvgAggregateInputType = { + id?: true + contractId?: true + } + + export type ContractDocumentSumAggregateInputType = { + id?: true + contractId?: true + } + + export type ContractDocumentMinAggregateInputType = { + id?: true + contractId?: true + documentType?: true + documentPath?: true + originalName?: true + notes?: true + uploadedBy?: true + createdAt?: true + } + + export type ContractDocumentMaxAggregateInputType = { + id?: true + contractId?: true + documentType?: true + documentPath?: true + originalName?: true + notes?: true + uploadedBy?: true + createdAt?: true + } + + export type ContractDocumentCountAggregateInputType = { + id?: true + contractId?: true + documentType?: true + documentPath?: true + originalName?: true + notes?: true + uploadedBy?: true + createdAt?: true + _all?: true + } + + export type ContractDocumentAggregateArgs = { + /** + * Filter which ContractDocument to aggregate. + */ + where?: ContractDocumentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ContractDocuments to fetch. + */ + orderBy?: ContractDocumentOrderByWithRelationInput | ContractDocumentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: ContractDocumentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ContractDocuments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ContractDocuments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned ContractDocuments + **/ + _count?: true | ContractDocumentCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ContractDocumentAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ContractDocumentSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ContractDocumentMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ContractDocumentMaxAggregateInputType + } + + export type GetContractDocumentAggregateType = { + [P in keyof T & keyof AggregateContractDocument]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ContractDocumentGroupByArgs = { + where?: ContractDocumentWhereInput + orderBy?: ContractDocumentOrderByWithAggregationInput | ContractDocumentOrderByWithAggregationInput[] + by: ContractDocumentScalarFieldEnum[] | ContractDocumentScalarFieldEnum + having?: ContractDocumentScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ContractDocumentCountAggregateInputType | true + _avg?: ContractDocumentAvgAggregateInputType + _sum?: ContractDocumentSumAggregateInputType + _min?: ContractDocumentMinAggregateInputType + _max?: ContractDocumentMaxAggregateInputType + } + + export type ContractDocumentGroupByOutputType = { + id: number + contractId: number + documentType: string + documentPath: string + originalName: string + notes: string | null + uploadedBy: string | null + createdAt: Date + _count: ContractDocumentCountAggregateOutputType | null + _avg: ContractDocumentAvgAggregateOutputType | null + _sum: ContractDocumentSumAggregateOutputType | null + _min: ContractDocumentMinAggregateOutputType | null + _max: ContractDocumentMaxAggregateOutputType | null + } + + type GetContractDocumentGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof ContractDocumentGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ContractDocumentSelect = $Extensions.GetSelect<{ + id?: boolean + contractId?: boolean + documentType?: boolean + documentPath?: boolean + originalName?: boolean + notes?: boolean + uploadedBy?: boolean + createdAt?: boolean + contract?: boolean | ContractDefaultArgs + }, ExtArgs["result"]["contractDocument"]> + + + export type ContractDocumentSelectScalar = { + id?: boolean + contractId?: boolean + documentType?: boolean + documentPath?: boolean + originalName?: boolean + notes?: boolean + uploadedBy?: boolean + createdAt?: boolean + } + + export type ContractDocumentInclude = { + contract?: boolean | ContractDefaultArgs + } + + export type $ContractDocumentPayload = { + name: "ContractDocument" + objects: { + contract: Prisma.$ContractPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: number + contractId: number + documentType: string + documentPath: string + originalName: string + notes: string | null + uploadedBy: string | null + createdAt: Date + }, ExtArgs["result"]["contractDocument"]> + composites: {} + } + + type ContractDocumentGetPayload = $Result.GetResult + + type ContractDocumentCountArgs = + Omit & { + select?: ContractDocumentCountAggregateInputType | true + } + + export interface ContractDocumentDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['ContractDocument'], meta: { name: 'ContractDocument' } } + /** + * Find zero or one ContractDocument that matches the filter. + * @param {ContractDocumentFindUniqueArgs} args - Arguments to find a ContractDocument + * @example + * // Get one ContractDocument + * const contractDocument = await prisma.contractDocument.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "findUnique"> | null, null, ExtArgs> + + /** + * Find one ContractDocument that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ContractDocumentFindUniqueOrThrowArgs} args - Arguments to find a ContractDocument + * @example + * // Get one ContractDocument + * const contractDocument = await prisma.contractDocument.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "findUniqueOrThrow">, never, ExtArgs> + + /** + * Find the first ContractDocument that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentFindFirstArgs} args - Arguments to find a ContractDocument + * @example + * // Get one ContractDocument + * const contractDocument = await prisma.contractDocument.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "findFirst"> | null, null, ExtArgs> + + /** + * Find the first ContractDocument that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentFindFirstOrThrowArgs} args - Arguments to find a ContractDocument + * @example + * // Get one ContractDocument + * const contractDocument = await prisma.contractDocument.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "findFirstOrThrow">, never, ExtArgs> + + /** + * Find zero or more ContractDocuments that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all ContractDocuments + * const contractDocuments = await prisma.contractDocument.findMany() + * + * // Get first 10 ContractDocuments + * const contractDocuments = await prisma.contractDocument.findMany({ take: 10 }) + * + * // Only select the `id` + * const contractDocumentWithIdOnly = await prisma.contractDocument.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany">> + + /** + * Create a ContractDocument. + * @param {ContractDocumentCreateArgs} args - Arguments to create a ContractDocument. + * @example + * // Create one ContractDocument + * const ContractDocument = await prisma.contractDocument.create({ + * data: { + * // ... data to create a ContractDocument + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "create">, never, ExtArgs> + + /** + * Create many ContractDocuments. + * @param {ContractDocumentCreateManyArgs} args - Arguments to create many ContractDocuments. + * @example + * // Create many ContractDocuments + * const contractDocument = await prisma.contractDocument.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Delete a ContractDocument. + * @param {ContractDocumentDeleteArgs} args - Arguments to delete one ContractDocument. + * @example + * // Delete one ContractDocument + * const ContractDocument = await prisma.contractDocument.delete({ + * where: { + * // ... filter to delete one ContractDocument + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "delete">, never, ExtArgs> + + /** + * Update one ContractDocument. + * @param {ContractDocumentUpdateArgs} args - Arguments to update one ContractDocument. + * @example + * // Update one ContractDocument + * const contractDocument = await prisma.contractDocument.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "update">, never, ExtArgs> + + /** + * Delete zero or more ContractDocuments. + * @param {ContractDocumentDeleteManyArgs} args - Arguments to filter ContractDocuments to delete. + * @example + * // Delete a few ContractDocuments + * const { count } = await prisma.contractDocument.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more ContractDocuments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many ContractDocuments + * const contractDocument = await prisma.contractDocument.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Create or update one ContractDocument. + * @param {ContractDocumentUpsertArgs} args - Arguments to update or create a ContractDocument. + * @example + * // Update or create a ContractDocument + * const contractDocument = await prisma.contractDocument.upsert({ + * create: { + * // ... data to create a ContractDocument + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the ContractDocument we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__ContractDocumentClient<$Result.GetResult, T, "upsert">, never, ExtArgs> + + + /** + * Count the number of ContractDocuments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentCountArgs} args - Arguments to filter ContractDocuments to count. + * @example + * // Count the number of ContractDocuments + * const count = await prisma.contractDocument.count({ + * where: { + * // ... the filter for the ContractDocuments we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a ContractDocument. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by ContractDocument. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ContractDocumentGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ContractDocumentGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ContractDocumentGroupByArgs['orderBy'] } + : { orderBy?: ContractDocumentGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetContractDocumentGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the ContractDocument model + */ + readonly fields: ContractDocumentFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for ContractDocument. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__ContractDocumentClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + contract = {}>(args?: Subset>): Prisma__ContractClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the ContractDocument model + */ + interface ContractDocumentFieldRefs { + readonly id: FieldRef<"ContractDocument", 'Int'> + readonly contractId: FieldRef<"ContractDocument", 'Int'> + readonly documentType: FieldRef<"ContractDocument", 'String'> + readonly documentPath: FieldRef<"ContractDocument", 'String'> + readonly originalName: FieldRef<"ContractDocument", 'String'> + readonly notes: FieldRef<"ContractDocument", 'String'> + readonly uploadedBy: FieldRef<"ContractDocument", 'String'> + readonly createdAt: FieldRef<"ContractDocument", 'DateTime'> + } + + + // Custom InputTypes + /** + * ContractDocument findUnique + */ + export type ContractDocumentFindUniqueArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * Filter, which ContractDocument to fetch. + */ + where: ContractDocumentWhereUniqueInput + } + + /** + * ContractDocument findUniqueOrThrow + */ + export type ContractDocumentFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * Filter, which ContractDocument to fetch. + */ + where: ContractDocumentWhereUniqueInput + } + + /** + * ContractDocument findFirst + */ + export type ContractDocumentFindFirstArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * Filter, which ContractDocument to fetch. + */ + where?: ContractDocumentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ContractDocuments to fetch. + */ + orderBy?: ContractDocumentOrderByWithRelationInput | ContractDocumentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ContractDocuments. + */ + cursor?: ContractDocumentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ContractDocuments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ContractDocuments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ContractDocuments. + */ + distinct?: ContractDocumentScalarFieldEnum | ContractDocumentScalarFieldEnum[] + } + + /** + * ContractDocument findFirstOrThrow + */ + export type ContractDocumentFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * Filter, which ContractDocument to fetch. + */ + where?: ContractDocumentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ContractDocuments to fetch. + */ + orderBy?: ContractDocumentOrderByWithRelationInput | ContractDocumentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ContractDocuments. + */ + cursor?: ContractDocumentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ContractDocuments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ContractDocuments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ContractDocuments. + */ + distinct?: ContractDocumentScalarFieldEnum | ContractDocumentScalarFieldEnum[] + } + + /** + * ContractDocument findMany + */ + export type ContractDocumentFindManyArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * Filter, which ContractDocuments to fetch. + */ + where?: ContractDocumentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ContractDocuments to fetch. + */ + orderBy?: ContractDocumentOrderByWithRelationInput | ContractDocumentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing ContractDocuments. + */ + cursor?: ContractDocumentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ContractDocuments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ContractDocuments. + */ + skip?: number + distinct?: ContractDocumentScalarFieldEnum | ContractDocumentScalarFieldEnum[] + } + + /** + * ContractDocument create + */ + export type ContractDocumentCreateArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * The data needed to create a ContractDocument. + */ + data: XOR + } + + /** + * ContractDocument createMany + */ + export type ContractDocumentCreateManyArgs = { + /** + * The data used to create many ContractDocuments. + */ + data: ContractDocumentCreateManyInput | ContractDocumentCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * ContractDocument update + */ + export type ContractDocumentUpdateArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * The data needed to update a ContractDocument. + */ + data: XOR + /** + * Choose, which ContractDocument to update. + */ + where: ContractDocumentWhereUniqueInput + } + + /** + * ContractDocument updateMany + */ + export type ContractDocumentUpdateManyArgs = { + /** + * The data used to update ContractDocuments. + */ + data: XOR + /** + * Filter which ContractDocuments to update + */ + where?: ContractDocumentWhereInput + } + + /** + * ContractDocument upsert + */ + export type ContractDocumentUpsertArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * The filter to search for the ContractDocument to update in case it exists. + */ + where: ContractDocumentWhereUniqueInput + /** + * In case the ContractDocument found by the `where` argument doesn't exist, create a new ContractDocument with this data. + */ + create: XOR + /** + * In case the ContractDocument was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * ContractDocument delete + */ + export type ContractDocumentDeleteArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + /** + * Filter which ContractDocument to delete. + */ + where: ContractDocumentWhereUniqueInput + } + + /** + * ContractDocument deleteMany + */ + export type ContractDocumentDeleteManyArgs = { + /** + * Filter which ContractDocuments to delete + */ + where?: ContractDocumentWhereInput + } + + /** + * ContractDocument without action + */ + export type ContractDocumentDefaultArgs = { + /** + * Select specific fields to fetch from the ContractDocument + */ + select?: ContractDocumentSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractDocumentInclude | null + } + + /** * Model ContractHistoryEntry */ @@ -36082,16 +37180,19 @@ export namespace Prisma { export type InvoiceAvgAggregateOutputType = { id: number | null energyContractDetailsId: number | null + contractId: number | null } export type InvoiceSumAggregateOutputType = { id: number | null energyContractDetailsId: number | null + contractId: number | null } export type InvoiceMinAggregateOutputType = { id: number | null energyContractDetailsId: number | null + contractId: number | null invoiceDate: Date | null invoiceType: $Enums.InvoiceType | null documentPath: string | null @@ -36103,6 +37204,7 @@ export namespace Prisma { export type InvoiceMaxAggregateOutputType = { id: number | null energyContractDetailsId: number | null + contractId: number | null invoiceDate: Date | null invoiceType: $Enums.InvoiceType | null documentPath: string | null @@ -36114,6 +37216,7 @@ export namespace Prisma { export type InvoiceCountAggregateOutputType = { id: number energyContractDetailsId: number + contractId: number invoiceDate: number invoiceType: number documentPath: number @@ -36127,16 +37230,19 @@ export namespace Prisma { export type InvoiceAvgAggregateInputType = { id?: true energyContractDetailsId?: true + contractId?: true } export type InvoiceSumAggregateInputType = { id?: true energyContractDetailsId?: true + contractId?: true } export type InvoiceMinAggregateInputType = { id?: true energyContractDetailsId?: true + contractId?: true invoiceDate?: true invoiceType?: true documentPath?: true @@ -36148,6 +37254,7 @@ export namespace Prisma { export type InvoiceMaxAggregateInputType = { id?: true energyContractDetailsId?: true + contractId?: true invoiceDate?: true invoiceType?: true documentPath?: true @@ -36159,6 +37266,7 @@ export namespace Prisma { export type InvoiceCountAggregateInputType = { id?: true energyContractDetailsId?: true + contractId?: true invoiceDate?: true invoiceType?: true documentPath?: true @@ -36256,7 +37364,8 @@ export namespace Prisma { export type InvoiceGroupByOutputType = { id: number - energyContractDetailsId: number + energyContractDetailsId: number | null + contractId: number | null invoiceDate: Date invoiceType: $Enums.InvoiceType documentPath: string | null @@ -36287,19 +37396,22 @@ export namespace Prisma { export type InvoiceSelect = $Extensions.GetSelect<{ id?: boolean energyContractDetailsId?: boolean + contractId?: boolean invoiceDate?: boolean invoiceType?: boolean documentPath?: boolean notes?: boolean createdAt?: boolean updatedAt?: boolean - energyContractDetails?: boolean | EnergyContractDetailsDefaultArgs + energyContractDetails?: boolean | Invoice$energyContractDetailsArgs + contract?: boolean | Invoice$contractArgs }, ExtArgs["result"]["invoice"]> export type InvoiceSelectScalar = { id?: boolean energyContractDetailsId?: boolean + contractId?: boolean invoiceDate?: boolean invoiceType?: boolean documentPath?: boolean @@ -36309,17 +37421,20 @@ export namespace Prisma { } export type InvoiceInclude = { - energyContractDetails?: boolean | EnergyContractDetailsDefaultArgs + energyContractDetails?: boolean | Invoice$energyContractDetailsArgs + contract?: boolean | Invoice$contractArgs } export type $InvoicePayload = { name: "Invoice" objects: { - energyContractDetails: Prisma.$EnergyContractDetailsPayload + energyContractDetails: Prisma.$EnergyContractDetailsPayload | null + contract: Prisma.$ContractPayload | null } scalars: $Extensions.GetPayloadResult<{ id: number - energyContractDetailsId: number + energyContractDetailsId: number | null + contractId: number | null invoiceDate: Date invoiceType: $Enums.InvoiceType documentPath: string | null @@ -36666,7 +37781,8 @@ export namespace Prisma { */ export interface Prisma__InvoiceClient extends Prisma.PrismaPromise { readonly [Symbol.toStringTag]: "PrismaPromise" - energyContractDetails = {}>(args?: Subset>): Prisma__EnergyContractDetailsClient<$Result.GetResult, T, "findUniqueOrThrow"> | Null, Null, ExtArgs> + energyContractDetails = {}>(args?: Subset>): Prisma__EnergyContractDetailsClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> + contract = {}>(args?: Subset>): Prisma__ContractClient<$Result.GetResult, T, "findUniqueOrThrow"> | null, null, ExtArgs> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -36698,6 +37814,7 @@ export namespace Prisma { interface InvoiceFieldRefs { readonly id: FieldRef<"Invoice", 'Int'> readonly energyContractDetailsId: FieldRef<"Invoice", 'Int'> + readonly contractId: FieldRef<"Invoice", 'Int'> readonly invoiceDate: FieldRef<"Invoice", 'DateTime'> readonly invoiceType: FieldRef<"Invoice", 'InvoiceType'> readonly documentPath: FieldRef<"Invoice", 'String'> @@ -37002,6 +38119,36 @@ export namespace Prisma { where?: InvoiceWhereInput } + /** + * Invoice.energyContractDetails + */ + export type Invoice$energyContractDetailsArgs = { + /** + * Select specific fields to fetch from the EnergyContractDetails + */ + select?: EnergyContractDetailsSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: EnergyContractDetailsInclude | null + where?: EnergyContractDetailsWhereInput + } + + /** + * Invoice.contract + */ + export type Invoice$contractArgs = { + /** + * Select specific fields to fetch from the Contract + */ + select?: ContractSelect | null + /** + * Choose, which related nodes to fetch as well + */ + include?: ContractInclude | null + where?: ContractWhereInput + } + /** * Invoice without action */ @@ -37053,6 +38200,9 @@ export namespace Prisma { installationDate: Date | null internetUsername: string | null internetPasswordEncrypted: string | null + propertyType: string | null + propertyLocation: string | null + connectionLocation: string | null homeId: string | null activationCode: string | null } @@ -37067,6 +38217,9 @@ export namespace Prisma { installationDate: Date | null internetUsername: string | null internetPasswordEncrypted: string | null + propertyType: string | null + propertyLocation: string | null + connectionLocation: string | null homeId: string | null activationCode: string | null } @@ -37081,6 +38234,9 @@ export namespace Prisma { installationDate: number internetUsername: number internetPasswordEncrypted: number + propertyType: number + propertyLocation: number + connectionLocation: number homeId: number activationCode: number _all: number @@ -37111,6 +38267,9 @@ export namespace Prisma { installationDate?: true internetUsername?: true internetPasswordEncrypted?: true + propertyType?: true + propertyLocation?: true + connectionLocation?: true homeId?: true activationCode?: true } @@ -37125,6 +38284,9 @@ export namespace Prisma { installationDate?: true internetUsername?: true internetPasswordEncrypted?: true + propertyType?: true + propertyLocation?: true + connectionLocation?: true homeId?: true activationCode?: true } @@ -37139,6 +38301,9 @@ export namespace Prisma { installationDate?: true internetUsername?: true internetPasswordEncrypted?: true + propertyType?: true + propertyLocation?: true + connectionLocation?: true homeId?: true activationCode?: true _all?: true @@ -37240,6 +38405,9 @@ export namespace Prisma { installationDate: Date | null internetUsername: string | null internetPasswordEncrypted: string | null + propertyType: string | null + propertyLocation: string | null + connectionLocation: string | null homeId: string | null activationCode: string | null _count: InternetContractDetailsCountAggregateOutputType | null @@ -37273,6 +38441,9 @@ export namespace Prisma { installationDate?: boolean internetUsername?: boolean internetPasswordEncrypted?: boolean + propertyType?: boolean + propertyLocation?: boolean + connectionLocation?: boolean homeId?: boolean activationCode?: boolean contract?: boolean | ContractDefaultArgs @@ -37291,6 +38462,9 @@ export namespace Prisma { installationDate?: boolean internetUsername?: boolean internetPasswordEncrypted?: boolean + propertyType?: boolean + propertyLocation?: boolean + connectionLocation?: boolean homeId?: boolean activationCode?: boolean } @@ -37317,6 +38491,9 @@ export namespace Prisma { installationDate: Date | null internetUsername: string | null internetPasswordEncrypted: string | null + propertyType: string | null + propertyLocation: string | null + connectionLocation: string | null homeId: string | null activationCode: string | null }, ExtArgs["result"]["internetContractDetails"]> @@ -37699,6 +38876,9 @@ export namespace Prisma { readonly installationDate: FieldRef<"InternetContractDetails", 'DateTime'> readonly internetUsername: FieldRef<"InternetContractDetails", 'String'> readonly internetPasswordEncrypted: FieldRef<"InternetContractDetails", 'String'> + readonly propertyType: FieldRef<"InternetContractDetails", 'String'> + readonly propertyLocation: FieldRef<"InternetContractDetails", 'String'> + readonly connectionLocation: FieldRef<"InternetContractDetails", 'String'> readonly homeId: FieldRef<"InternetContractDetails", 'String'> readonly activationCode: FieldRef<"InternetContractDetails", 'String'> } @@ -47352,6 +48532,20 @@ export namespace Prisma { export type ContractScalarFieldEnum = (typeof ContractScalarFieldEnum)[keyof typeof ContractScalarFieldEnum] + export const ContractDocumentScalarFieldEnum: { + id: 'id', + contractId: 'contractId', + documentType: 'documentType', + documentPath: 'documentPath', + originalName: 'originalName', + notes: 'notes', + uploadedBy: 'uploadedBy', + createdAt: 'createdAt' + }; + + export type ContractDocumentScalarFieldEnum = (typeof ContractDocumentScalarFieldEnum)[keyof typeof ContractDocumentScalarFieldEnum] + + export const ContractHistoryEntryScalarFieldEnum: { id: 'id', contractId: 'contractId', @@ -47430,6 +48624,7 @@ export namespace Prisma { export const InvoiceScalarFieldEnum: { id: 'id', energyContractDetailsId: 'energyContractDetailsId', + contractId: 'contractId', invoiceDate: 'invoiceDate', invoiceType: 'invoiceType', documentPath: 'documentPath', @@ -47451,6 +48646,9 @@ export namespace Prisma { installationDate: 'installationDate', internetUsername: 'internetUsername', internetPasswordEncrypted: 'internetPasswordEncrypted', + propertyType: 'propertyType', + propertyLocation: 'propertyLocation', + connectionLocation: 'connectionLocation', homeId: 'homeId', activationCode: 'activationCode' }; @@ -49978,6 +51176,8 @@ export namespace Prisma { tasks?: ContractTaskListRelationFilter assignedEmails?: CachedEmailListRelationFilter historyEntries?: ContractHistoryEntryListRelationFilter + documents?: ContractDocumentListRelationFilter + invoices?: InvoiceListRelationFilter } export type ContractOrderByWithRelationInput = { @@ -50047,6 +51247,8 @@ export namespace Prisma { tasks?: ContractTaskOrderByRelationAggregateInput assignedEmails?: CachedEmailOrderByRelationAggregateInput historyEntries?: ContractHistoryEntryOrderByRelationAggregateInput + documents?: ContractDocumentOrderByRelationAggregateInput + invoices?: InvoiceOrderByRelationAggregateInput } export type ContractWhereUniqueInput = Prisma.AtLeast<{ @@ -50119,6 +51321,8 @@ export namespace Prisma { tasks?: ContractTaskListRelationFilter assignedEmails?: CachedEmailListRelationFilter historyEntries?: ContractHistoryEntryListRelationFilter + documents?: ContractDocumentListRelationFilter + invoices?: InvoiceListRelationFilter }, "id" | "contractNumber" | "previousContractId"> export type ContractOrderByWithAggregationInput = { @@ -50221,6 +51425,78 @@ export namespace Prisma { updatedAt?: DateTimeWithAggregatesFilter<"Contract"> | Date | string } + export type ContractDocumentWhereInput = { + AND?: ContractDocumentWhereInput | ContractDocumentWhereInput[] + OR?: ContractDocumentWhereInput[] + NOT?: ContractDocumentWhereInput | ContractDocumentWhereInput[] + id?: IntFilter<"ContractDocument"> | number + contractId?: IntFilter<"ContractDocument"> | number + documentType?: StringFilter<"ContractDocument"> | string + documentPath?: StringFilter<"ContractDocument"> | string + originalName?: StringFilter<"ContractDocument"> | string + notes?: StringNullableFilter<"ContractDocument"> | string | null + uploadedBy?: StringNullableFilter<"ContractDocument"> | string | null + createdAt?: DateTimeFilter<"ContractDocument"> | Date | string + contract?: XOR + } + + export type ContractDocumentOrderByWithRelationInput = { + id?: SortOrder + contractId?: SortOrder + documentType?: SortOrder + documentPath?: SortOrder + originalName?: SortOrder + notes?: SortOrderInput | SortOrder + uploadedBy?: SortOrderInput | SortOrder + createdAt?: SortOrder + contract?: ContractOrderByWithRelationInput + } + + export type ContractDocumentWhereUniqueInput = Prisma.AtLeast<{ + id?: number + AND?: ContractDocumentWhereInput | ContractDocumentWhereInput[] + OR?: ContractDocumentWhereInput[] + NOT?: ContractDocumentWhereInput | ContractDocumentWhereInput[] + contractId?: IntFilter<"ContractDocument"> | number + documentType?: StringFilter<"ContractDocument"> | string + documentPath?: StringFilter<"ContractDocument"> | string + originalName?: StringFilter<"ContractDocument"> | string + notes?: StringNullableFilter<"ContractDocument"> | string | null + uploadedBy?: StringNullableFilter<"ContractDocument"> | string | null + createdAt?: DateTimeFilter<"ContractDocument"> | Date | string + contract?: XOR + }, "id"> + + export type ContractDocumentOrderByWithAggregationInput = { + id?: SortOrder + contractId?: SortOrder + documentType?: SortOrder + documentPath?: SortOrder + originalName?: SortOrder + notes?: SortOrderInput | SortOrder + uploadedBy?: SortOrderInput | SortOrder + createdAt?: SortOrder + _count?: ContractDocumentCountOrderByAggregateInput + _avg?: ContractDocumentAvgOrderByAggregateInput + _max?: ContractDocumentMaxOrderByAggregateInput + _min?: ContractDocumentMinOrderByAggregateInput + _sum?: ContractDocumentSumOrderByAggregateInput + } + + export type ContractDocumentScalarWhereWithAggregatesInput = { + AND?: ContractDocumentScalarWhereWithAggregatesInput | ContractDocumentScalarWhereWithAggregatesInput[] + OR?: ContractDocumentScalarWhereWithAggregatesInput[] + NOT?: ContractDocumentScalarWhereWithAggregatesInput | ContractDocumentScalarWhereWithAggregatesInput[] + id?: IntWithAggregatesFilter<"ContractDocument"> | number + contractId?: IntWithAggregatesFilter<"ContractDocument"> | number + documentType?: StringWithAggregatesFilter<"ContractDocument"> | string + documentPath?: StringWithAggregatesFilter<"ContractDocument"> | string + originalName?: StringWithAggregatesFilter<"ContractDocument"> | string + notes?: StringNullableWithAggregatesFilter<"ContractDocument"> | string | null + uploadedBy?: StringNullableWithAggregatesFilter<"ContractDocument"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"ContractDocument"> | Date | string + } + export type ContractHistoryEntryWhereInput = { AND?: ContractHistoryEntryWhereInput | ContractHistoryEntryWhereInput[] OR?: ContractHistoryEntryWhereInput[] @@ -50627,19 +51903,22 @@ export namespace Prisma { OR?: InvoiceWhereInput[] NOT?: InvoiceWhereInput | InvoiceWhereInput[] id?: IntFilter<"Invoice"> | number - energyContractDetailsId?: IntFilter<"Invoice"> | number + energyContractDetailsId?: IntNullableFilter<"Invoice"> | number | null + contractId?: IntNullableFilter<"Invoice"> | number | null invoiceDate?: DateTimeFilter<"Invoice"> | Date | string invoiceType?: EnumInvoiceTypeFilter<"Invoice"> | $Enums.InvoiceType documentPath?: StringNullableFilter<"Invoice"> | string | null notes?: StringNullableFilter<"Invoice"> | string | null createdAt?: DateTimeFilter<"Invoice"> | Date | string updatedAt?: DateTimeFilter<"Invoice"> | Date | string - energyContractDetails?: XOR + energyContractDetails?: XOR | null + contract?: XOR | null } export type InvoiceOrderByWithRelationInput = { id?: SortOrder - energyContractDetailsId?: SortOrder + energyContractDetailsId?: SortOrderInput | SortOrder + contractId?: SortOrderInput | SortOrder invoiceDate?: SortOrder invoiceType?: SortOrder documentPath?: SortOrderInput | SortOrder @@ -50647,6 +51926,7 @@ export namespace Prisma { createdAt?: SortOrder updatedAt?: SortOrder energyContractDetails?: EnergyContractDetailsOrderByWithRelationInput + contract?: ContractOrderByWithRelationInput } export type InvoiceWhereUniqueInput = Prisma.AtLeast<{ @@ -50654,19 +51934,22 @@ export namespace Prisma { AND?: InvoiceWhereInput | InvoiceWhereInput[] OR?: InvoiceWhereInput[] NOT?: InvoiceWhereInput | InvoiceWhereInput[] - energyContractDetailsId?: IntFilter<"Invoice"> | number + energyContractDetailsId?: IntNullableFilter<"Invoice"> | number | null + contractId?: IntNullableFilter<"Invoice"> | number | null invoiceDate?: DateTimeFilter<"Invoice"> | Date | string invoiceType?: EnumInvoiceTypeFilter<"Invoice"> | $Enums.InvoiceType documentPath?: StringNullableFilter<"Invoice"> | string | null notes?: StringNullableFilter<"Invoice"> | string | null createdAt?: DateTimeFilter<"Invoice"> | Date | string updatedAt?: DateTimeFilter<"Invoice"> | Date | string - energyContractDetails?: XOR + energyContractDetails?: XOR | null + contract?: XOR | null }, "id"> export type InvoiceOrderByWithAggregationInput = { id?: SortOrder - energyContractDetailsId?: SortOrder + energyContractDetailsId?: SortOrderInput | SortOrder + contractId?: SortOrderInput | SortOrder invoiceDate?: SortOrder invoiceType?: SortOrder documentPath?: SortOrderInput | SortOrder @@ -50685,7 +51968,8 @@ export namespace Prisma { OR?: InvoiceScalarWhereWithAggregatesInput[] NOT?: InvoiceScalarWhereWithAggregatesInput | InvoiceScalarWhereWithAggregatesInput[] id?: IntWithAggregatesFilter<"Invoice"> | number - energyContractDetailsId?: IntWithAggregatesFilter<"Invoice"> | number + energyContractDetailsId?: IntNullableWithAggregatesFilter<"Invoice"> | number | null + contractId?: IntNullableWithAggregatesFilter<"Invoice"> | number | null invoiceDate?: DateTimeWithAggregatesFilter<"Invoice"> | Date | string invoiceType?: EnumInvoiceTypeWithAggregatesFilter<"Invoice"> | $Enums.InvoiceType documentPath?: StringNullableWithAggregatesFilter<"Invoice"> | string | null @@ -50707,6 +51991,9 @@ export namespace Prisma { installationDate?: DateTimeNullableFilter<"InternetContractDetails"> | Date | string | null internetUsername?: StringNullableFilter<"InternetContractDetails"> | string | null internetPasswordEncrypted?: StringNullableFilter<"InternetContractDetails"> | string | null + propertyType?: StringNullableFilter<"InternetContractDetails"> | string | null + propertyLocation?: StringNullableFilter<"InternetContractDetails"> | string | null + connectionLocation?: StringNullableFilter<"InternetContractDetails"> | string | null homeId?: StringNullableFilter<"InternetContractDetails"> | string | null activationCode?: StringNullableFilter<"InternetContractDetails"> | string | null contract?: XOR @@ -50723,6 +52010,9 @@ export namespace Prisma { installationDate?: SortOrderInput | SortOrder internetUsername?: SortOrderInput | SortOrder internetPasswordEncrypted?: SortOrderInput | SortOrder + propertyType?: SortOrderInput | SortOrder + propertyLocation?: SortOrderInput | SortOrder + connectionLocation?: SortOrderInput | SortOrder homeId?: SortOrderInput | SortOrder activationCode?: SortOrderInput | SortOrder contract?: ContractOrderByWithRelationInput @@ -50742,6 +52032,9 @@ export namespace Prisma { installationDate?: DateTimeNullableFilter<"InternetContractDetails"> | Date | string | null internetUsername?: StringNullableFilter<"InternetContractDetails"> | string | null internetPasswordEncrypted?: StringNullableFilter<"InternetContractDetails"> | string | null + propertyType?: StringNullableFilter<"InternetContractDetails"> | string | null + propertyLocation?: StringNullableFilter<"InternetContractDetails"> | string | null + connectionLocation?: StringNullableFilter<"InternetContractDetails"> | string | null homeId?: StringNullableFilter<"InternetContractDetails"> | string | null activationCode?: StringNullableFilter<"InternetContractDetails"> | string | null contract?: XOR @@ -50758,6 +52051,9 @@ export namespace Prisma { installationDate?: SortOrderInput | SortOrder internetUsername?: SortOrderInput | SortOrder internetPasswordEncrypted?: SortOrderInput | SortOrder + propertyType?: SortOrderInput | SortOrder + propertyLocation?: SortOrderInput | SortOrder + connectionLocation?: SortOrderInput | SortOrder homeId?: SortOrderInput | SortOrder activationCode?: SortOrderInput | SortOrder _count?: InternetContractDetailsCountOrderByAggregateInput @@ -50780,6 +52076,9 @@ export namespace Prisma { installationDate?: DateTimeNullableWithAggregatesFilter<"InternetContractDetails"> | Date | string | null internetUsername?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null internetPasswordEncrypted?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null + propertyType?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null + propertyLocation?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null + connectionLocation?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null homeId?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null activationCode?: StringNullableWithAggregatesFilter<"InternetContractDetails"> | string | null } @@ -53950,6 +55249,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateInput = { @@ -54005,6 +55306,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractUpdateInput = { @@ -54059,6 +55362,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateInput = { @@ -54114,6 +55419,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractCreateManyInput = { @@ -54239,6 +55546,79 @@ export namespace Prisma { updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type ContractDocumentCreateInput = { + documentType: string + documentPath: string + originalName: string + notes?: string | null + uploadedBy?: string | null + createdAt?: Date | string + contract: ContractCreateNestedOneWithoutDocumentsInput + } + + export type ContractDocumentUncheckedCreateInput = { + id?: number + contractId: number + documentType: string + documentPath: string + originalName: string + notes?: string | null + uploadedBy?: string | null + createdAt?: Date | string + } + + export type ContractDocumentUpdateInput = { + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + contract?: ContractUpdateOneRequiredWithoutDocumentsNestedInput + } + + export type ContractDocumentUncheckedUpdateInput = { + id?: IntFieldUpdateOperationsInput | number + contractId?: IntFieldUpdateOperationsInput | number + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type ContractDocumentCreateManyInput = { + id?: number + contractId: number + documentType: string + documentPath: string + originalName: string + notes?: string | null + uploadedBy?: string | null + createdAt?: Date | string + } + + export type ContractDocumentUpdateManyMutationInput = { + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type ContractDocumentUncheckedUpdateManyInput = { + id?: IntFieldUpdateOperationsInput | number + contractId?: IntFieldUpdateOperationsInput | number + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + export type ContractHistoryEntryCreateInput = { title: string description?: string | null @@ -54656,12 +56036,14 @@ export namespace Prisma { notes?: string | null createdAt?: Date | string updatedAt?: Date | string - energyContractDetails: EnergyContractDetailsCreateNestedOneWithoutInvoicesInput + energyContractDetails?: EnergyContractDetailsCreateNestedOneWithoutInvoicesInput + contract?: ContractCreateNestedOneWithoutInvoicesInput } export type InvoiceUncheckedCreateInput = { id?: number - energyContractDetailsId: number + energyContractDetailsId?: number | null + contractId?: number | null invoiceDate: Date | string invoiceType: $Enums.InvoiceType documentPath?: string | null @@ -54677,12 +56059,14 @@ export namespace Prisma { notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string - energyContractDetails?: EnergyContractDetailsUpdateOneRequiredWithoutInvoicesNestedInput + energyContractDetails?: EnergyContractDetailsUpdateOneWithoutInvoicesNestedInput + contract?: ContractUpdateOneWithoutInvoicesNestedInput } export type InvoiceUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number - energyContractDetailsId?: IntFieldUpdateOperationsInput | number + energyContractDetailsId?: NullableIntFieldUpdateOperationsInput | number | null + contractId?: NullableIntFieldUpdateOperationsInput | number | null invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType documentPath?: NullableStringFieldUpdateOperationsInput | string | null @@ -54693,7 +56077,8 @@ export namespace Prisma { export type InvoiceCreateManyInput = { id?: number - energyContractDetailsId: number + energyContractDetailsId?: number | null + contractId?: number | null invoiceDate: Date | string invoiceType: $Enums.InvoiceType documentPath?: string | null @@ -54713,7 +56098,8 @@ export namespace Prisma { export type InvoiceUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number - energyContractDetailsId?: IntFieldUpdateOperationsInput | number + energyContractDetailsId?: NullableIntFieldUpdateOperationsInput | number | null + contractId?: NullableIntFieldUpdateOperationsInput | number | null invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType documentPath?: NullableStringFieldUpdateOperationsInput | string | null @@ -54730,6 +56116,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null contract: ContractCreateNestedOneWithoutInternetDetailsInput @@ -54746,6 +56135,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null phoneNumbers?: PhoneNumberUncheckedCreateNestedManyWithoutInternetDetailsInput @@ -54759,6 +56151,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null contract?: ContractUpdateOneRequiredWithoutInternetDetailsNestedInput @@ -54775,6 +56170,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null phoneNumbers?: PhoneNumberUncheckedUpdateManyWithoutInternetDetailsNestedInput @@ -54790,6 +56188,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null } @@ -54802,6 +56203,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null } @@ -54816,6 +56220,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null } @@ -57676,6 +59083,18 @@ export namespace Prisma { none?: ContractHistoryEntryWhereInput } + export type ContractDocumentListRelationFilter = { + every?: ContractDocumentWhereInput + some?: ContractDocumentWhereInput + none?: ContractDocumentWhereInput + } + + export type InvoiceListRelationFilter = { + every?: InvoiceWhereInput + some?: InvoiceWhereInput + none?: InvoiceWhereInput + } + export type ContractTaskOrderByRelationAggregateInput = { _count?: SortOrder } @@ -57684,6 +59103,14 @@ export namespace Prisma { _count?: SortOrder } + export type ContractDocumentOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type InvoiceOrderByRelationAggregateInput = { + _count?: SortOrder + } + export type ContractCountOrderByAggregateInput = { id?: SortOrder contractNumber?: SortOrder @@ -57885,6 +59312,49 @@ export namespace Prisma { isNot?: ContractWhereInput } + export type ContractDocumentCountOrderByAggregateInput = { + id?: SortOrder + contractId?: SortOrder + documentType?: SortOrder + documentPath?: SortOrder + originalName?: SortOrder + notes?: SortOrder + uploadedBy?: SortOrder + createdAt?: SortOrder + } + + export type ContractDocumentAvgOrderByAggregateInput = { + id?: SortOrder + contractId?: SortOrder + } + + export type ContractDocumentMaxOrderByAggregateInput = { + id?: SortOrder + contractId?: SortOrder + documentType?: SortOrder + documentPath?: SortOrder + originalName?: SortOrder + notes?: SortOrder + uploadedBy?: SortOrder + createdAt?: SortOrder + } + + export type ContractDocumentMinOrderByAggregateInput = { + id?: SortOrder + contractId?: SortOrder + documentType?: SortOrder + documentPath?: SortOrder + originalName?: SortOrder + notes?: SortOrder + uploadedBy?: SortOrder + createdAt?: SortOrder + } + + export type ContractDocumentSumOrderByAggregateInput = { + id?: SortOrder + contractId?: SortOrder + } + export type ContractHistoryEntryCountOrderByAggregateInput = { id?: SortOrder contractId?: SortOrder @@ -58054,16 +59524,6 @@ export namespace Prisma { isNot?: MeterWhereInput | null } - export type InvoiceListRelationFilter = { - every?: InvoiceWhereInput - some?: InvoiceWhereInput - none?: InvoiceWhereInput - } - - export type InvoiceOrderByRelationAggregateInput = { - _count?: SortOrder - } - export type EnergyContractDetailsCountOrderByAggregateInput = { id?: SortOrder contractId?: SortOrder @@ -58202,6 +59662,7 @@ export namespace Prisma { export type InvoiceCountOrderByAggregateInput = { id?: SortOrder energyContractDetailsId?: SortOrder + contractId?: SortOrder invoiceDate?: SortOrder invoiceType?: SortOrder documentPath?: SortOrder @@ -58213,11 +59674,13 @@ export namespace Prisma { export type InvoiceAvgOrderByAggregateInput = { id?: SortOrder energyContractDetailsId?: SortOrder + contractId?: SortOrder } export type InvoiceMaxOrderByAggregateInput = { id?: SortOrder energyContractDetailsId?: SortOrder + contractId?: SortOrder invoiceDate?: SortOrder invoiceType?: SortOrder documentPath?: SortOrder @@ -58229,6 +59692,7 @@ export namespace Prisma { export type InvoiceMinOrderByAggregateInput = { id?: SortOrder energyContractDetailsId?: SortOrder + contractId?: SortOrder invoiceDate?: SortOrder invoiceType?: SortOrder documentPath?: SortOrder @@ -58240,6 +59704,7 @@ export namespace Prisma { export type InvoiceSumOrderByAggregateInput = { id?: SortOrder energyContractDetailsId?: SortOrder + contractId?: SortOrder } export type EnumInvoiceTypeWithAggregatesFilter<$PrismaModel = never> = { @@ -58272,6 +59737,9 @@ export namespace Prisma { installationDate?: SortOrder internetUsername?: SortOrder internetPasswordEncrypted?: SortOrder + propertyType?: SortOrder + propertyLocation?: SortOrder + connectionLocation?: SortOrder homeId?: SortOrder activationCode?: SortOrder } @@ -58293,6 +59761,9 @@ export namespace Prisma { installationDate?: SortOrder internetUsername?: SortOrder internetPasswordEncrypted?: SortOrder + propertyType?: SortOrder + propertyLocation?: SortOrder + connectionLocation?: SortOrder homeId?: SortOrder activationCode?: SortOrder } @@ -58307,6 +59778,9 @@ export namespace Prisma { installationDate?: SortOrder internetUsername?: SortOrder internetPasswordEncrypted?: SortOrder + propertyType?: SortOrder + propertyLocation?: SortOrder + connectionLocation?: SortOrder homeId?: SortOrder activationCode?: SortOrder } @@ -60839,6 +62313,20 @@ export namespace Prisma { connect?: ContractHistoryEntryWhereUniqueInput | ContractHistoryEntryWhereUniqueInput[] } + export type ContractDocumentCreateNestedManyWithoutContractInput = { + create?: XOR | ContractDocumentCreateWithoutContractInput[] | ContractDocumentUncheckedCreateWithoutContractInput[] + connectOrCreate?: ContractDocumentCreateOrConnectWithoutContractInput | ContractDocumentCreateOrConnectWithoutContractInput[] + createMany?: ContractDocumentCreateManyContractInputEnvelope + connect?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + } + + export type InvoiceCreateNestedManyWithoutContractInput = { + create?: XOR | InvoiceCreateWithoutContractInput[] | InvoiceUncheckedCreateWithoutContractInput[] + connectOrCreate?: InvoiceCreateOrConnectWithoutContractInput | InvoiceCreateOrConnectWithoutContractInput[] + createMany?: InvoiceCreateManyContractInputEnvelope + connect?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + } + export type ContractUncheckedCreateNestedOneWithoutPreviousContractInput = { create?: XOR connectOrCreate?: ContractCreateOrConnectWithoutPreviousContractInput @@ -60896,6 +62384,20 @@ export namespace Prisma { connect?: ContractHistoryEntryWhereUniqueInput | ContractHistoryEntryWhereUniqueInput[] } + export type ContractDocumentUncheckedCreateNestedManyWithoutContractInput = { + create?: XOR | ContractDocumentCreateWithoutContractInput[] | ContractDocumentUncheckedCreateWithoutContractInput[] + connectOrCreate?: ContractDocumentCreateOrConnectWithoutContractInput | ContractDocumentCreateOrConnectWithoutContractInput[] + createMany?: ContractDocumentCreateManyContractInputEnvelope + connect?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + } + + export type InvoiceUncheckedCreateNestedManyWithoutContractInput = { + create?: XOR | InvoiceCreateWithoutContractInput[] | InvoiceUncheckedCreateWithoutContractInput[] + connectOrCreate?: InvoiceCreateOrConnectWithoutContractInput | InvoiceCreateOrConnectWithoutContractInput[] + createMany?: InvoiceCreateManyContractInputEnvelope + connect?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + } + export type EnumContractTypeFieldUpdateOperationsInput = { set?: $Enums.ContractType } @@ -61144,6 +62646,34 @@ export namespace Prisma { deleteMany?: ContractHistoryEntryScalarWhereInput | ContractHistoryEntryScalarWhereInput[] } + export type ContractDocumentUpdateManyWithoutContractNestedInput = { + create?: XOR | ContractDocumentCreateWithoutContractInput[] | ContractDocumentUncheckedCreateWithoutContractInput[] + connectOrCreate?: ContractDocumentCreateOrConnectWithoutContractInput | ContractDocumentCreateOrConnectWithoutContractInput[] + upsert?: ContractDocumentUpsertWithWhereUniqueWithoutContractInput | ContractDocumentUpsertWithWhereUniqueWithoutContractInput[] + createMany?: ContractDocumentCreateManyContractInputEnvelope + set?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + disconnect?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + delete?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + connect?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + update?: ContractDocumentUpdateWithWhereUniqueWithoutContractInput | ContractDocumentUpdateWithWhereUniqueWithoutContractInput[] + updateMany?: ContractDocumentUpdateManyWithWhereWithoutContractInput | ContractDocumentUpdateManyWithWhereWithoutContractInput[] + deleteMany?: ContractDocumentScalarWhereInput | ContractDocumentScalarWhereInput[] + } + + export type InvoiceUpdateManyWithoutContractNestedInput = { + create?: XOR | InvoiceCreateWithoutContractInput[] | InvoiceUncheckedCreateWithoutContractInput[] + connectOrCreate?: InvoiceCreateOrConnectWithoutContractInput | InvoiceCreateOrConnectWithoutContractInput[] + upsert?: InvoiceUpsertWithWhereUniqueWithoutContractInput | InvoiceUpsertWithWhereUniqueWithoutContractInput[] + createMany?: InvoiceCreateManyContractInputEnvelope + set?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + disconnect?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + delete?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + connect?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + update?: InvoiceUpdateWithWhereUniqueWithoutContractInput | InvoiceUpdateWithWhereUniqueWithoutContractInput[] + updateMany?: InvoiceUpdateManyWithWhereWithoutContractInput | InvoiceUpdateManyWithWhereWithoutContractInput[] + deleteMany?: InvoiceScalarWhereInput | InvoiceScalarWhereInput[] + } + export type ContractUncheckedUpdateOneWithoutPreviousContractNestedInput = { create?: XOR connectOrCreate?: ContractCreateOrConnectWithoutPreviousContractInput @@ -61246,6 +62776,48 @@ export namespace Prisma { deleteMany?: ContractHistoryEntryScalarWhereInput | ContractHistoryEntryScalarWhereInput[] } + export type ContractDocumentUncheckedUpdateManyWithoutContractNestedInput = { + create?: XOR | ContractDocumentCreateWithoutContractInput[] | ContractDocumentUncheckedCreateWithoutContractInput[] + connectOrCreate?: ContractDocumentCreateOrConnectWithoutContractInput | ContractDocumentCreateOrConnectWithoutContractInput[] + upsert?: ContractDocumentUpsertWithWhereUniqueWithoutContractInput | ContractDocumentUpsertWithWhereUniqueWithoutContractInput[] + createMany?: ContractDocumentCreateManyContractInputEnvelope + set?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + disconnect?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + delete?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + connect?: ContractDocumentWhereUniqueInput | ContractDocumentWhereUniqueInput[] + update?: ContractDocumentUpdateWithWhereUniqueWithoutContractInput | ContractDocumentUpdateWithWhereUniqueWithoutContractInput[] + updateMany?: ContractDocumentUpdateManyWithWhereWithoutContractInput | ContractDocumentUpdateManyWithWhereWithoutContractInput[] + deleteMany?: ContractDocumentScalarWhereInput | ContractDocumentScalarWhereInput[] + } + + export type InvoiceUncheckedUpdateManyWithoutContractNestedInput = { + create?: XOR | InvoiceCreateWithoutContractInput[] | InvoiceUncheckedCreateWithoutContractInput[] + connectOrCreate?: InvoiceCreateOrConnectWithoutContractInput | InvoiceCreateOrConnectWithoutContractInput[] + upsert?: InvoiceUpsertWithWhereUniqueWithoutContractInput | InvoiceUpsertWithWhereUniqueWithoutContractInput[] + createMany?: InvoiceCreateManyContractInputEnvelope + set?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + disconnect?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + delete?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + connect?: InvoiceWhereUniqueInput | InvoiceWhereUniqueInput[] + update?: InvoiceUpdateWithWhereUniqueWithoutContractInput | InvoiceUpdateWithWhereUniqueWithoutContractInput[] + updateMany?: InvoiceUpdateManyWithWhereWithoutContractInput | InvoiceUpdateManyWithWhereWithoutContractInput[] + deleteMany?: InvoiceScalarWhereInput | InvoiceScalarWhereInput[] + } + + export type ContractCreateNestedOneWithoutDocumentsInput = { + create?: XOR + connectOrCreate?: ContractCreateOrConnectWithoutDocumentsInput + connect?: ContractWhereUniqueInput + } + + export type ContractUpdateOneRequiredWithoutDocumentsNestedInput = { + create?: XOR + connectOrCreate?: ContractCreateOrConnectWithoutDocumentsInput + upsert?: ContractUpsertWithoutDocumentsInput + connect?: ContractWhereUniqueInput + update?: XOR, ContractUncheckedUpdateWithoutDocumentsInput> + } + export type ContractCreateNestedOneWithoutHistoryEntriesInput = { create?: XOR connectOrCreate?: ContractCreateOrConnectWithoutHistoryEntriesInput @@ -61482,18 +63054,36 @@ export namespace Prisma { connect?: EnergyContractDetailsWhereUniqueInput } + export type ContractCreateNestedOneWithoutInvoicesInput = { + create?: XOR + connectOrCreate?: ContractCreateOrConnectWithoutInvoicesInput + connect?: ContractWhereUniqueInput + } + export type EnumInvoiceTypeFieldUpdateOperationsInput = { set?: $Enums.InvoiceType } - export type EnergyContractDetailsUpdateOneRequiredWithoutInvoicesNestedInput = { + export type EnergyContractDetailsUpdateOneWithoutInvoicesNestedInput = { create?: XOR connectOrCreate?: EnergyContractDetailsCreateOrConnectWithoutInvoicesInput upsert?: EnergyContractDetailsUpsertWithoutInvoicesInput + disconnect?: EnergyContractDetailsWhereInput | boolean + delete?: EnergyContractDetailsWhereInput | boolean connect?: EnergyContractDetailsWhereUniqueInput update?: XOR, EnergyContractDetailsUncheckedUpdateWithoutInvoicesInput> } + export type ContractUpdateOneWithoutInvoicesNestedInput = { + create?: XOR + connectOrCreate?: ContractCreateOrConnectWithoutInvoicesInput + upsert?: ContractUpsertWithoutInvoicesInput + disconnect?: ContractWhereInput | boolean + delete?: ContractWhereInput | boolean + connect?: ContractWhereUniqueInput + update?: XOR, ContractUncheckedUpdateWithoutInvoicesInput> + } + export type ContractCreateNestedOneWithoutInternetDetailsInput = { create?: XOR connectOrCreate?: ContractCreateOrConnectWithoutInternetDetailsInput @@ -63107,6 +64697,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutCustomerInput = { @@ -63161,6 +64753,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutCustomerInput = { @@ -64588,6 +66182,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutAddressInput = { @@ -64642,6 +66238,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutAddressInput = { @@ -64705,6 +66303,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutBillingAddressInput = { @@ -64759,6 +66359,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutBillingAddressInput = { @@ -65032,6 +66634,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutBankCardInput = { @@ -65086,6 +66690,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutBankCardInput = { @@ -65343,6 +66949,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutIdentityDocumentInput = { @@ -65397,6 +67005,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutIdentityDocumentInput = { @@ -65654,6 +67264,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutStressfreiEmailInput = { @@ -65708,6 +67320,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutStressfreiEmailInput = { @@ -66027,6 +67641,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsCreateNestedOneWithoutContractInput tasks?: ContractTaskCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutAssignedEmailsInput = { @@ -66081,6 +67697,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUncheckedCreateNestedOneWithoutContractInput tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutAssignedEmailsInput = { @@ -66194,6 +67812,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUpdateOneWithoutContractNestedInput tasks?: ContractTaskUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutAssignedEmailsInput = { @@ -66248,6 +67868,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUncheckedUpdateOneWithoutContractNestedInput tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type CustomerCreateWithoutMetersInput = { @@ -66754,6 +68376,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutSalesPlatformInput = { @@ -66808,6 +68432,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutSalesPlatformInput = { @@ -66887,6 +68513,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutCancellationPeriodInput = { @@ -66941,6 +68569,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutCancellationPeriodInput = { @@ -67020,6 +68650,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutContractDurationInput = { @@ -67074,6 +68706,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutContractDurationInput = { @@ -67180,6 +68814,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutProviderInput = { @@ -67234,6 +68870,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutProviderInput = { @@ -67297,6 +68935,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutPreviousProviderInput = { @@ -67351,6 +68991,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutPreviousProviderInput = { @@ -67504,6 +69146,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutTariffInput = { @@ -67558,6 +69202,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutTariffInput = { @@ -67673,6 +69319,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutContractCategoryInput = { @@ -67727,6 +69375,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutContractCategoryInput = { @@ -68122,6 +69772,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutFollowUpContractInput = { @@ -68176,6 +69828,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutFollowUpContractInput = { @@ -68234,6 +69888,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutPreviousContractInput = { @@ -68288,6 +69944,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutPreviousContractInput = { @@ -68459,6 +70117,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null phoneNumbers?: PhoneNumberCreateNestedManyWithoutInternetDetailsInput @@ -68473,6 +70134,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null phoneNumbers?: PhoneNumberUncheckedCreateNestedManyWithoutInternetDetailsInput @@ -68692,6 +70356,66 @@ export namespace Prisma { skipDuplicates?: boolean } + export type ContractDocumentCreateWithoutContractInput = { + documentType: string + documentPath: string + originalName: string + notes?: string | null + uploadedBy?: string | null + createdAt?: Date | string + } + + export type ContractDocumentUncheckedCreateWithoutContractInput = { + id?: number + documentType: string + documentPath: string + originalName: string + notes?: string | null + uploadedBy?: string | null + createdAt?: Date | string + } + + export type ContractDocumentCreateOrConnectWithoutContractInput = { + where: ContractDocumentWhereUniqueInput + create: XOR + } + + export type ContractDocumentCreateManyContractInputEnvelope = { + data: ContractDocumentCreateManyContractInput | ContractDocumentCreateManyContractInput[] + skipDuplicates?: boolean + } + + export type InvoiceCreateWithoutContractInput = { + invoiceDate: Date | string + invoiceType: $Enums.InvoiceType + documentPath?: string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + energyContractDetails?: EnergyContractDetailsCreateNestedOneWithoutInvoicesInput + } + + export type InvoiceUncheckedCreateWithoutContractInput = { + id?: number + energyContractDetailsId?: number | null + invoiceDate: Date | string + invoiceType: $Enums.InvoiceType + documentPath?: string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + } + + export type InvoiceCreateOrConnectWithoutContractInput = { + where: InvoiceWhereUniqueInput + create: XOR + } + + export type InvoiceCreateManyContractInputEnvelope = { + data: InvoiceCreateManyContractInput | InvoiceCreateManyContractInput[] + skipDuplicates?: boolean + } + export type CustomerUpsertWithoutContractsInput = { update: XOR create: XOR @@ -69124,6 +70848,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutFollowUpContractInput = { @@ -69178,6 +70904,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUpsertWithoutPreviousContractInput = { @@ -69242,6 +70970,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutPreviousContractInput = { @@ -69296,6 +71026,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ProviderUpsertWithoutPreviousContractsInput = { @@ -69503,6 +71235,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null phoneNumbers?: PhoneNumberUpdateManyWithoutInternetDetailsNestedInput @@ -69517,6 +71252,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null phoneNumbers?: PhoneNumberUncheckedUpdateManyWithoutInternetDetailsNestedInput @@ -69701,6 +71439,305 @@ export namespace Prisma { createdAt?: DateTimeFilter<"ContractHistoryEntry"> | Date | string } + export type ContractDocumentUpsertWithWhereUniqueWithoutContractInput = { + where: ContractDocumentWhereUniqueInput + update: XOR + create: XOR + } + + export type ContractDocumentUpdateWithWhereUniqueWithoutContractInput = { + where: ContractDocumentWhereUniqueInput + data: XOR + } + + export type ContractDocumentUpdateManyWithWhereWithoutContractInput = { + where: ContractDocumentScalarWhereInput + data: XOR + } + + export type ContractDocumentScalarWhereInput = { + AND?: ContractDocumentScalarWhereInput | ContractDocumentScalarWhereInput[] + OR?: ContractDocumentScalarWhereInput[] + NOT?: ContractDocumentScalarWhereInput | ContractDocumentScalarWhereInput[] + id?: IntFilter<"ContractDocument"> | number + contractId?: IntFilter<"ContractDocument"> | number + documentType?: StringFilter<"ContractDocument"> | string + documentPath?: StringFilter<"ContractDocument"> | string + originalName?: StringFilter<"ContractDocument"> | string + notes?: StringNullableFilter<"ContractDocument"> | string | null + uploadedBy?: StringNullableFilter<"ContractDocument"> | string | null + createdAt?: DateTimeFilter<"ContractDocument"> | Date | string + } + + export type InvoiceUpsertWithWhereUniqueWithoutContractInput = { + where: InvoiceWhereUniqueInput + update: XOR + create: XOR + } + + export type InvoiceUpdateWithWhereUniqueWithoutContractInput = { + where: InvoiceWhereUniqueInput + data: XOR + } + + export type InvoiceUpdateManyWithWhereWithoutContractInput = { + where: InvoiceScalarWhereInput + data: XOR + } + + export type InvoiceScalarWhereInput = { + AND?: InvoiceScalarWhereInput | InvoiceScalarWhereInput[] + OR?: InvoiceScalarWhereInput[] + NOT?: InvoiceScalarWhereInput | InvoiceScalarWhereInput[] + id?: IntFilter<"Invoice"> | number + energyContractDetailsId?: IntNullableFilter<"Invoice"> | number | null + contractId?: IntNullableFilter<"Invoice"> | number | null + invoiceDate?: DateTimeFilter<"Invoice"> | Date | string + invoiceType?: EnumInvoiceTypeFilter<"Invoice"> | $Enums.InvoiceType + documentPath?: StringNullableFilter<"Invoice"> | string | null + notes?: StringNullableFilter<"Invoice"> | string | null + createdAt?: DateTimeFilter<"Invoice"> | Date | string + updatedAt?: DateTimeFilter<"Invoice"> | Date | string + } + + export type ContractCreateWithoutDocumentsInput = { + contractNumber: string + type: $Enums.ContractType + status?: $Enums.ContractStatus + previousCustomerNumber?: string | null + previousContractNumber?: string | null + providerName?: string | null + tariffName?: string | null + customerNumberAtProvider?: string | null + contractNumberAtProvider?: string | null + priceFirst12Months?: string | null + priceFrom13Months?: string | null + priceAfter24Months?: string | null + startDate?: Date | string | null + endDate?: Date | string | null + commission?: number | null + cancellationLetterPath?: string | null + cancellationConfirmationPath?: string | null + cancellationLetterOptionsPath?: string | null + cancellationConfirmationOptionsPath?: string | null + cancellationConfirmationDate?: Date | string | null + cancellationConfirmationOptionsDate?: Date | string | null + wasSpecialCancellation?: boolean + portalUsername?: string | null + portalPasswordEncrypted?: string | null + nextReviewDate?: Date | string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + customer: CustomerCreateNestedOneWithoutContractsInput + contractCategory?: ContractCategoryCreateNestedOneWithoutContractsInput + address?: AddressCreateNestedOneWithoutContractsAsDeliveryInput + billingAddress?: AddressCreateNestedOneWithoutContractsAsBillingInput + bankCard?: BankCardCreateNestedOneWithoutContractsInput + identityDocument?: IdentityDocumentCreateNestedOneWithoutContractsInput + salesPlatform?: SalesPlatformCreateNestedOneWithoutContractsInput + cancellationPeriod?: CancellationPeriodCreateNestedOneWithoutContractsInput + contractDuration?: ContractDurationCreateNestedOneWithoutContractsInput + previousContract?: ContractCreateNestedOneWithoutFollowUpContractInput + followUpContract?: ContractCreateNestedOneWithoutPreviousContractInput + previousProvider?: ProviderCreateNestedOneWithoutPreviousContractsInput + provider?: ProviderCreateNestedOneWithoutContractsInput + tariff?: TariffCreateNestedOneWithoutContractsInput + stressfreiEmail?: StressfreiEmailCreateNestedOneWithoutContractsInput + energyDetails?: EnergyContractDetailsCreateNestedOneWithoutContractInput + internetDetails?: InternetContractDetailsCreateNestedOneWithoutContractInput + mobileDetails?: MobileContractDetailsCreateNestedOneWithoutContractInput + tvDetails?: TvContractDetailsCreateNestedOneWithoutContractInput + carInsuranceDetails?: CarInsuranceDetailsCreateNestedOneWithoutContractInput + tasks?: ContractTaskCreateNestedManyWithoutContractInput + assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput + historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput + } + + export type ContractUncheckedCreateWithoutDocumentsInput = { + id?: number + contractNumber: string + customerId: number + type: $Enums.ContractType + status?: $Enums.ContractStatus + contractCategoryId?: number | null + addressId?: number | null + billingAddressId?: number | null + bankCardId?: number | null + identityDocumentId?: number | null + salesPlatformId?: number | null + cancellationPeriodId?: number | null + contractDurationId?: number | null + previousContractId?: number | null + previousProviderId?: number | null + previousCustomerNumber?: string | null + previousContractNumber?: string | null + providerId?: number | null + tariffId?: number | null + providerName?: string | null + tariffName?: string | null + customerNumberAtProvider?: string | null + contractNumberAtProvider?: string | null + priceFirst12Months?: string | null + priceFrom13Months?: string | null + priceAfter24Months?: string | null + startDate?: Date | string | null + endDate?: Date | string | null + commission?: number | null + cancellationLetterPath?: string | null + cancellationConfirmationPath?: string | null + cancellationLetterOptionsPath?: string | null + cancellationConfirmationOptionsPath?: string | null + cancellationConfirmationDate?: Date | string | null + cancellationConfirmationOptionsDate?: Date | string | null + wasSpecialCancellation?: boolean + portalUsername?: string | null + portalPasswordEncrypted?: string | null + stressfreiEmailId?: number | null + nextReviewDate?: Date | string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + followUpContract?: ContractUncheckedCreateNestedOneWithoutPreviousContractInput + energyDetails?: EnergyContractDetailsUncheckedCreateNestedOneWithoutContractInput + internetDetails?: InternetContractDetailsUncheckedCreateNestedOneWithoutContractInput + mobileDetails?: MobileContractDetailsUncheckedCreateNestedOneWithoutContractInput + tvDetails?: TvContractDetailsUncheckedCreateNestedOneWithoutContractInput + carInsuranceDetails?: CarInsuranceDetailsUncheckedCreateNestedOneWithoutContractInput + tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput + assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput + historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput + } + + export type ContractCreateOrConnectWithoutDocumentsInput = { + where: ContractWhereUniqueInput + create: XOR + } + + export type ContractUpsertWithoutDocumentsInput = { + update: XOR + create: XOR + where?: ContractWhereInput + } + + export type ContractUpdateToOneWithWhereWithoutDocumentsInput = { + where?: ContractWhereInput + data: XOR + } + + export type ContractUpdateWithoutDocumentsInput = { + contractNumber?: StringFieldUpdateOperationsInput | string + type?: EnumContractTypeFieldUpdateOperationsInput | $Enums.ContractType + status?: EnumContractStatusFieldUpdateOperationsInput | $Enums.ContractStatus + previousCustomerNumber?: NullableStringFieldUpdateOperationsInput | string | null + previousContractNumber?: NullableStringFieldUpdateOperationsInput | string | null + providerName?: NullableStringFieldUpdateOperationsInput | string | null + tariffName?: NullableStringFieldUpdateOperationsInput | string | null + customerNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + contractNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + priceFirst12Months?: NullableStringFieldUpdateOperationsInput | string | null + priceFrom13Months?: NullableStringFieldUpdateOperationsInput | string | null + priceAfter24Months?: NullableStringFieldUpdateOperationsInput | string | null + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + commission?: NullableFloatFieldUpdateOperationsInput | number | null + cancellationLetterPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationLetterOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cancellationConfirmationOptionsDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + wasSpecialCancellation?: BoolFieldUpdateOperationsInput | boolean + portalUsername?: NullableStringFieldUpdateOperationsInput | string | null + portalPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + nextReviewDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + customer?: CustomerUpdateOneRequiredWithoutContractsNestedInput + contractCategory?: ContractCategoryUpdateOneWithoutContractsNestedInput + address?: AddressUpdateOneWithoutContractsAsDeliveryNestedInput + billingAddress?: AddressUpdateOneWithoutContractsAsBillingNestedInput + bankCard?: BankCardUpdateOneWithoutContractsNestedInput + identityDocument?: IdentityDocumentUpdateOneWithoutContractsNestedInput + salesPlatform?: SalesPlatformUpdateOneWithoutContractsNestedInput + cancellationPeriod?: CancellationPeriodUpdateOneWithoutContractsNestedInput + contractDuration?: ContractDurationUpdateOneWithoutContractsNestedInput + previousContract?: ContractUpdateOneWithoutFollowUpContractNestedInput + followUpContract?: ContractUpdateOneWithoutPreviousContractNestedInput + previousProvider?: ProviderUpdateOneWithoutPreviousContractsNestedInput + provider?: ProviderUpdateOneWithoutContractsNestedInput + tariff?: TariffUpdateOneWithoutContractsNestedInput + stressfreiEmail?: StressfreiEmailUpdateOneWithoutContractsNestedInput + energyDetails?: EnergyContractDetailsUpdateOneWithoutContractNestedInput + internetDetails?: InternetContractDetailsUpdateOneWithoutContractNestedInput + mobileDetails?: MobileContractDetailsUpdateOneWithoutContractNestedInput + tvDetails?: TvContractDetailsUpdateOneWithoutContractNestedInput + carInsuranceDetails?: CarInsuranceDetailsUpdateOneWithoutContractNestedInput + tasks?: ContractTaskUpdateManyWithoutContractNestedInput + assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput + historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput + } + + export type ContractUncheckedUpdateWithoutDocumentsInput = { + id?: IntFieldUpdateOperationsInput | number + contractNumber?: StringFieldUpdateOperationsInput | string + customerId?: IntFieldUpdateOperationsInput | number + type?: EnumContractTypeFieldUpdateOperationsInput | $Enums.ContractType + status?: EnumContractStatusFieldUpdateOperationsInput | $Enums.ContractStatus + contractCategoryId?: NullableIntFieldUpdateOperationsInput | number | null + addressId?: NullableIntFieldUpdateOperationsInput | number | null + billingAddressId?: NullableIntFieldUpdateOperationsInput | number | null + bankCardId?: NullableIntFieldUpdateOperationsInput | number | null + identityDocumentId?: NullableIntFieldUpdateOperationsInput | number | null + salesPlatformId?: NullableIntFieldUpdateOperationsInput | number | null + cancellationPeriodId?: NullableIntFieldUpdateOperationsInput | number | null + contractDurationId?: NullableIntFieldUpdateOperationsInput | number | null + previousContractId?: NullableIntFieldUpdateOperationsInput | number | null + previousProviderId?: NullableIntFieldUpdateOperationsInput | number | null + previousCustomerNumber?: NullableStringFieldUpdateOperationsInput | string | null + previousContractNumber?: NullableStringFieldUpdateOperationsInput | string | null + providerId?: NullableIntFieldUpdateOperationsInput | number | null + tariffId?: NullableIntFieldUpdateOperationsInput | number | null + providerName?: NullableStringFieldUpdateOperationsInput | string | null + tariffName?: NullableStringFieldUpdateOperationsInput | string | null + customerNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + contractNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + priceFirst12Months?: NullableStringFieldUpdateOperationsInput | string | null + priceFrom13Months?: NullableStringFieldUpdateOperationsInput | string | null + priceAfter24Months?: NullableStringFieldUpdateOperationsInput | string | null + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + commission?: NullableFloatFieldUpdateOperationsInput | number | null + cancellationLetterPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationLetterOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cancellationConfirmationOptionsDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + wasSpecialCancellation?: BoolFieldUpdateOperationsInput | boolean + portalUsername?: NullableStringFieldUpdateOperationsInput | string | null + portalPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + stressfreiEmailId?: NullableIntFieldUpdateOperationsInput | number | null + nextReviewDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + followUpContract?: ContractUncheckedUpdateOneWithoutPreviousContractNestedInput + energyDetails?: EnergyContractDetailsUncheckedUpdateOneWithoutContractNestedInput + internetDetails?: InternetContractDetailsUncheckedUpdateOneWithoutContractNestedInput + mobileDetails?: MobileContractDetailsUncheckedUpdateOneWithoutContractNestedInput + tvDetails?: TvContractDetailsUncheckedUpdateOneWithoutContractNestedInput + carInsuranceDetails?: CarInsuranceDetailsUncheckedUpdateOneWithoutContractNestedInput + tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput + assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput + historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput + } + export type ContractCreateWithoutHistoryEntriesInput = { contractNumber: string type: $Enums.ContractType @@ -69752,6 +71789,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsCreateNestedOneWithoutContractInput tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutHistoryEntriesInput = { @@ -69806,6 +71845,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUncheckedCreateNestedOneWithoutContractInput tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutHistoryEntriesInput = { @@ -69875,6 +71916,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUpdateOneWithoutContractNestedInput tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutHistoryEntriesInput = { @@ -69929,6 +71972,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUncheckedUpdateOneWithoutContractNestedInput tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractCreateWithoutTasksInput = { @@ -69982,6 +72027,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsCreateNestedOneWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutTasksInput = { @@ -70036,6 +72083,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUncheckedCreateNestedOneWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutTasksInput = { @@ -70134,6 +72183,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUpdateOneWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutTasksInput = { @@ -70188,6 +72239,8 @@ export namespace Prisma { carInsuranceDetails?: CarInsuranceDetailsUncheckedUpdateOneWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractTaskSubtaskUpsertWithWhereUniqueWithoutTaskInput = { @@ -70337,6 +72390,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutEnergyDetailsInput = { @@ -70391,6 +72446,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutEnergyDetailsInput = { @@ -70437,10 +72494,12 @@ export namespace Prisma { notes?: string | null createdAt?: Date | string updatedAt?: Date | string + contract?: ContractCreateNestedOneWithoutInvoicesInput } export type InvoiceUncheckedCreateWithoutEnergyContractDetailsInput = { id?: number + contractId?: number | null invoiceDate: Date | string invoiceType: $Enums.InvoiceType documentPath?: string | null @@ -70550,6 +72609,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutEnergyDetailsInput = { @@ -70604,6 +72665,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type MeterUpsertWithoutEnergyDetailsInput = { @@ -70660,20 +72723,6 @@ export namespace Prisma { data: XOR } - export type InvoiceScalarWhereInput = { - AND?: InvoiceScalarWhereInput | InvoiceScalarWhereInput[] - OR?: InvoiceScalarWhereInput[] - NOT?: InvoiceScalarWhereInput | InvoiceScalarWhereInput[] - id?: IntFilter<"Invoice"> | number - energyContractDetailsId?: IntFilter<"Invoice"> | number - invoiceDate?: DateTimeFilter<"Invoice"> | Date | string - invoiceType?: EnumInvoiceTypeFilter<"Invoice"> | $Enums.InvoiceType - documentPath?: StringNullableFilter<"Invoice"> | string | null - notes?: StringNullableFilter<"Invoice"> | string | null - createdAt?: DateTimeFilter<"Invoice"> | Date | string - updatedAt?: DateTimeFilter<"Invoice"> | Date | string - } - export type ContractMeterUpsertWithWhereUniqueWithoutEnergyContractDetailsInput = { where: ContractMeterWhereUniqueInput update: XOR @@ -70874,6 +72923,122 @@ export namespace Prisma { create: XOR } + export type ContractCreateWithoutInvoicesInput = { + contractNumber: string + type: $Enums.ContractType + status?: $Enums.ContractStatus + previousCustomerNumber?: string | null + previousContractNumber?: string | null + providerName?: string | null + tariffName?: string | null + customerNumberAtProvider?: string | null + contractNumberAtProvider?: string | null + priceFirst12Months?: string | null + priceFrom13Months?: string | null + priceAfter24Months?: string | null + startDate?: Date | string | null + endDate?: Date | string | null + commission?: number | null + cancellationLetterPath?: string | null + cancellationConfirmationPath?: string | null + cancellationLetterOptionsPath?: string | null + cancellationConfirmationOptionsPath?: string | null + cancellationConfirmationDate?: Date | string | null + cancellationConfirmationOptionsDate?: Date | string | null + wasSpecialCancellation?: boolean + portalUsername?: string | null + portalPasswordEncrypted?: string | null + nextReviewDate?: Date | string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + customer: CustomerCreateNestedOneWithoutContractsInput + contractCategory?: ContractCategoryCreateNestedOneWithoutContractsInput + address?: AddressCreateNestedOneWithoutContractsAsDeliveryInput + billingAddress?: AddressCreateNestedOneWithoutContractsAsBillingInput + bankCard?: BankCardCreateNestedOneWithoutContractsInput + identityDocument?: IdentityDocumentCreateNestedOneWithoutContractsInput + salesPlatform?: SalesPlatformCreateNestedOneWithoutContractsInput + cancellationPeriod?: CancellationPeriodCreateNestedOneWithoutContractsInput + contractDuration?: ContractDurationCreateNestedOneWithoutContractsInput + previousContract?: ContractCreateNestedOneWithoutFollowUpContractInput + followUpContract?: ContractCreateNestedOneWithoutPreviousContractInput + previousProvider?: ProviderCreateNestedOneWithoutPreviousContractsInput + provider?: ProviderCreateNestedOneWithoutContractsInput + tariff?: TariffCreateNestedOneWithoutContractsInput + stressfreiEmail?: StressfreiEmailCreateNestedOneWithoutContractsInput + energyDetails?: EnergyContractDetailsCreateNestedOneWithoutContractInput + internetDetails?: InternetContractDetailsCreateNestedOneWithoutContractInput + mobileDetails?: MobileContractDetailsCreateNestedOneWithoutContractInput + tvDetails?: TvContractDetailsCreateNestedOneWithoutContractInput + carInsuranceDetails?: CarInsuranceDetailsCreateNestedOneWithoutContractInput + tasks?: ContractTaskCreateNestedManyWithoutContractInput + assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput + historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + } + + export type ContractUncheckedCreateWithoutInvoicesInput = { + id?: number + contractNumber: string + customerId: number + type: $Enums.ContractType + status?: $Enums.ContractStatus + contractCategoryId?: number | null + addressId?: number | null + billingAddressId?: number | null + bankCardId?: number | null + identityDocumentId?: number | null + salesPlatformId?: number | null + cancellationPeriodId?: number | null + contractDurationId?: number | null + previousContractId?: number | null + previousProviderId?: number | null + previousCustomerNumber?: string | null + previousContractNumber?: string | null + providerId?: number | null + tariffId?: number | null + providerName?: string | null + tariffName?: string | null + customerNumberAtProvider?: string | null + contractNumberAtProvider?: string | null + priceFirst12Months?: string | null + priceFrom13Months?: string | null + priceAfter24Months?: string | null + startDate?: Date | string | null + endDate?: Date | string | null + commission?: number | null + cancellationLetterPath?: string | null + cancellationConfirmationPath?: string | null + cancellationLetterOptionsPath?: string | null + cancellationConfirmationOptionsPath?: string | null + cancellationConfirmationDate?: Date | string | null + cancellationConfirmationOptionsDate?: Date | string | null + wasSpecialCancellation?: boolean + portalUsername?: string | null + portalPasswordEncrypted?: string | null + stressfreiEmailId?: number | null + nextReviewDate?: Date | string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + followUpContract?: ContractUncheckedCreateNestedOneWithoutPreviousContractInput + energyDetails?: EnergyContractDetailsUncheckedCreateNestedOneWithoutContractInput + internetDetails?: InternetContractDetailsUncheckedCreateNestedOneWithoutContractInput + mobileDetails?: MobileContractDetailsUncheckedCreateNestedOneWithoutContractInput + tvDetails?: TvContractDetailsUncheckedCreateNestedOneWithoutContractInput + carInsuranceDetails?: CarInsuranceDetailsUncheckedCreateNestedOneWithoutContractInput + tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput + assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput + historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + } + + export type ContractCreateOrConnectWithoutInvoicesInput = { + where: ContractWhereUniqueInput + create: XOR + } + export type EnergyContractDetailsUpsertWithoutInvoicesInput = { update: XOR create: XOR @@ -70916,6 +73081,128 @@ export namespace Prisma { contractMeters?: ContractMeterUncheckedUpdateManyWithoutEnergyContractDetailsNestedInput } + export type ContractUpsertWithoutInvoicesInput = { + update: XOR + create: XOR + where?: ContractWhereInput + } + + export type ContractUpdateToOneWithWhereWithoutInvoicesInput = { + where?: ContractWhereInput + data: XOR + } + + export type ContractUpdateWithoutInvoicesInput = { + contractNumber?: StringFieldUpdateOperationsInput | string + type?: EnumContractTypeFieldUpdateOperationsInput | $Enums.ContractType + status?: EnumContractStatusFieldUpdateOperationsInput | $Enums.ContractStatus + previousCustomerNumber?: NullableStringFieldUpdateOperationsInput | string | null + previousContractNumber?: NullableStringFieldUpdateOperationsInput | string | null + providerName?: NullableStringFieldUpdateOperationsInput | string | null + tariffName?: NullableStringFieldUpdateOperationsInput | string | null + customerNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + contractNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + priceFirst12Months?: NullableStringFieldUpdateOperationsInput | string | null + priceFrom13Months?: NullableStringFieldUpdateOperationsInput | string | null + priceAfter24Months?: NullableStringFieldUpdateOperationsInput | string | null + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + commission?: NullableFloatFieldUpdateOperationsInput | number | null + cancellationLetterPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationLetterOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cancellationConfirmationOptionsDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + wasSpecialCancellation?: BoolFieldUpdateOperationsInput | boolean + portalUsername?: NullableStringFieldUpdateOperationsInput | string | null + portalPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + nextReviewDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + customer?: CustomerUpdateOneRequiredWithoutContractsNestedInput + contractCategory?: ContractCategoryUpdateOneWithoutContractsNestedInput + address?: AddressUpdateOneWithoutContractsAsDeliveryNestedInput + billingAddress?: AddressUpdateOneWithoutContractsAsBillingNestedInput + bankCard?: BankCardUpdateOneWithoutContractsNestedInput + identityDocument?: IdentityDocumentUpdateOneWithoutContractsNestedInput + salesPlatform?: SalesPlatformUpdateOneWithoutContractsNestedInput + cancellationPeriod?: CancellationPeriodUpdateOneWithoutContractsNestedInput + contractDuration?: ContractDurationUpdateOneWithoutContractsNestedInput + previousContract?: ContractUpdateOneWithoutFollowUpContractNestedInput + followUpContract?: ContractUpdateOneWithoutPreviousContractNestedInput + previousProvider?: ProviderUpdateOneWithoutPreviousContractsNestedInput + provider?: ProviderUpdateOneWithoutContractsNestedInput + tariff?: TariffUpdateOneWithoutContractsNestedInput + stressfreiEmail?: StressfreiEmailUpdateOneWithoutContractsNestedInput + energyDetails?: EnergyContractDetailsUpdateOneWithoutContractNestedInput + internetDetails?: InternetContractDetailsUpdateOneWithoutContractNestedInput + mobileDetails?: MobileContractDetailsUpdateOneWithoutContractNestedInput + tvDetails?: TvContractDetailsUpdateOneWithoutContractNestedInput + carInsuranceDetails?: CarInsuranceDetailsUpdateOneWithoutContractNestedInput + tasks?: ContractTaskUpdateManyWithoutContractNestedInput + assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput + historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + } + + export type ContractUncheckedUpdateWithoutInvoicesInput = { + id?: IntFieldUpdateOperationsInput | number + contractNumber?: StringFieldUpdateOperationsInput | string + customerId?: IntFieldUpdateOperationsInput | number + type?: EnumContractTypeFieldUpdateOperationsInput | $Enums.ContractType + status?: EnumContractStatusFieldUpdateOperationsInput | $Enums.ContractStatus + contractCategoryId?: NullableIntFieldUpdateOperationsInput | number | null + addressId?: NullableIntFieldUpdateOperationsInput | number | null + billingAddressId?: NullableIntFieldUpdateOperationsInput | number | null + bankCardId?: NullableIntFieldUpdateOperationsInput | number | null + identityDocumentId?: NullableIntFieldUpdateOperationsInput | number | null + salesPlatformId?: NullableIntFieldUpdateOperationsInput | number | null + cancellationPeriodId?: NullableIntFieldUpdateOperationsInput | number | null + contractDurationId?: NullableIntFieldUpdateOperationsInput | number | null + previousContractId?: NullableIntFieldUpdateOperationsInput | number | null + previousProviderId?: NullableIntFieldUpdateOperationsInput | number | null + previousCustomerNumber?: NullableStringFieldUpdateOperationsInput | string | null + previousContractNumber?: NullableStringFieldUpdateOperationsInput | string | null + providerId?: NullableIntFieldUpdateOperationsInput | number | null + tariffId?: NullableIntFieldUpdateOperationsInput | number | null + providerName?: NullableStringFieldUpdateOperationsInput | string | null + tariffName?: NullableStringFieldUpdateOperationsInput | string | null + customerNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + contractNumberAtProvider?: NullableStringFieldUpdateOperationsInput | string | null + priceFirst12Months?: NullableStringFieldUpdateOperationsInput | string | null + priceFrom13Months?: NullableStringFieldUpdateOperationsInput | string | null + priceAfter24Months?: NullableStringFieldUpdateOperationsInput | string | null + startDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + endDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + commission?: NullableFloatFieldUpdateOperationsInput | number | null + cancellationLetterPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationLetterOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationOptionsPath?: NullableStringFieldUpdateOperationsInput | string | null + cancellationConfirmationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + cancellationConfirmationOptionsDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + wasSpecialCancellation?: BoolFieldUpdateOperationsInput | boolean + portalUsername?: NullableStringFieldUpdateOperationsInput | string | null + portalPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + stressfreiEmailId?: NullableIntFieldUpdateOperationsInput | number | null + nextReviewDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + followUpContract?: ContractUncheckedUpdateOneWithoutPreviousContractNestedInput + energyDetails?: EnergyContractDetailsUncheckedUpdateOneWithoutContractNestedInput + internetDetails?: InternetContractDetailsUncheckedUpdateOneWithoutContractNestedInput + mobileDetails?: MobileContractDetailsUncheckedUpdateOneWithoutContractNestedInput + tvDetails?: TvContractDetailsUncheckedUpdateOneWithoutContractNestedInput + carInsuranceDetails?: CarInsuranceDetailsUncheckedUpdateOneWithoutContractNestedInput + tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput + assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput + historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + } + export type ContractCreateWithoutInternetDetailsInput = { contractNumber: string type: $Enums.ContractType @@ -70967,6 +73254,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutInternetDetailsInput = { @@ -71021,6 +73310,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutInternetDetailsInput = { @@ -71117,6 +73408,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutInternetDetailsInput = { @@ -71171,6 +73464,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type PhoneNumberUpsertWithWhereUniqueWithoutInternetDetailsInput = { @@ -71210,6 +73505,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null contract: ContractCreateNestedOneWithoutInternetDetailsInput @@ -71225,6 +73523,9 @@ export namespace Prisma { installationDate?: Date | string | null internetUsername?: string | null internetPasswordEncrypted?: string | null + propertyType?: string | null + propertyLocation?: string | null + connectionLocation?: string | null homeId?: string | null activationCode?: string | null } @@ -71253,6 +73554,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null contract?: ContractUpdateOneRequiredWithoutInternetDetailsNestedInput @@ -71268,6 +73572,9 @@ export namespace Prisma { installationDate?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null internetUsername?: NullableStringFieldUpdateOperationsInput | string | null internetPasswordEncrypted?: NullableStringFieldUpdateOperationsInput | string | null + propertyType?: NullableStringFieldUpdateOperationsInput | string | null + propertyLocation?: NullableStringFieldUpdateOperationsInput | string | null + connectionLocation?: NullableStringFieldUpdateOperationsInput | string | null homeId?: NullableStringFieldUpdateOperationsInput | string | null activationCode?: NullableStringFieldUpdateOperationsInput | string | null } @@ -71323,6 +73630,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutMobileDetailsInput = { @@ -71377,6 +73686,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutMobileDetailsInput = { @@ -71479,6 +73790,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutMobileDetailsInput = { @@ -71533,6 +73846,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type SimCardUpsertWithWhereUniqueWithoutMobileDetailsInput = { @@ -71684,6 +73999,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutTvDetailsInput = { @@ -71738,6 +74055,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutTvDetailsInput = { @@ -71807,6 +74126,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutTvDetailsInput = { @@ -71861,6 +74182,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractCreateWithoutCarInsuranceDetailsInput = { @@ -71914,6 +74237,8 @@ export namespace Prisma { tasks?: ContractTaskCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryCreateNestedManyWithoutContractInput + documents?: ContractDocumentCreateNestedManyWithoutContractInput + invoices?: InvoiceCreateNestedManyWithoutContractInput } export type ContractUncheckedCreateWithoutCarInsuranceDetailsInput = { @@ -71968,6 +74293,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedCreateNestedManyWithoutContractInput assignedEmails?: CachedEmailUncheckedCreateNestedManyWithoutContractInput historyEntries?: ContractHistoryEntryUncheckedCreateNestedManyWithoutContractInput + documents?: ContractDocumentUncheckedCreateNestedManyWithoutContractInput + invoices?: InvoiceUncheckedCreateNestedManyWithoutContractInput } export type ContractCreateOrConnectWithoutCarInsuranceDetailsInput = { @@ -72037,6 +74364,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutCarInsuranceDetailsInput = { @@ -72091,6 +74420,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type CustomerCreateWithoutConsentsInput = { @@ -72771,6 +75102,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutCustomerInput = { @@ -72825,6 +75158,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutCustomerInput = { @@ -73185,6 +75520,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutAddressInput = { @@ -73239,6 +75576,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutAddressInput = { @@ -73337,6 +75676,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutBillingAddressInput = { @@ -73391,6 +75732,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutBillingAddressInput = { @@ -73534,6 +75877,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutBankCardInput = { @@ -73588,6 +75933,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutBankCardInput = { @@ -73731,6 +76078,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutIdentityDocumentInput = { @@ -73785,6 +76134,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutIdentityDocumentInput = { @@ -73955,6 +76306,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutStressfreiEmailInput = { @@ -74009,6 +76362,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutStressfreiEmailInput = { @@ -74385,6 +76740,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutSalesPlatformInput = { @@ -74439,6 +76796,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutSalesPlatformInput = { @@ -74582,6 +76941,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutCancellationPeriodInput = { @@ -74636,6 +76997,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutCancellationPeriodInput = { @@ -74779,6 +77142,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutContractDurationInput = { @@ -74833,6 +77198,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutContractDurationInput = { @@ -75054,6 +77421,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutProviderInput = { @@ -75108,6 +77477,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutProviderInput = { @@ -75206,6 +77577,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutPreviousProviderInput = { @@ -75260,6 +77633,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutPreviousProviderInput = { @@ -75403,6 +77778,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutTariffInput = { @@ -75457,6 +77834,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutTariffInput = { @@ -75600,6 +77979,8 @@ export namespace Prisma { tasks?: ContractTaskUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUpdateManyWithoutContractNestedInput + invoices?: InvoiceUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateWithoutContractCategoryInput = { @@ -75654,6 +78035,8 @@ export namespace Prisma { tasks?: ContractTaskUncheckedUpdateManyWithoutContractNestedInput assignedEmails?: CachedEmailUncheckedUpdateManyWithoutContractNestedInput historyEntries?: ContractHistoryEntryUncheckedUpdateManyWithoutContractNestedInput + documents?: ContractDocumentUncheckedUpdateManyWithoutContractNestedInput + invoices?: InvoiceUncheckedUpdateManyWithoutContractNestedInput } export type ContractUncheckedUpdateManyWithoutContractCategoryInput = { @@ -75749,6 +78132,27 @@ export namespace Prisma { createdAt?: Date | string } + export type ContractDocumentCreateManyContractInput = { + id?: number + documentType: string + documentPath: string + originalName: string + notes?: string | null + uploadedBy?: string | null + createdAt?: Date | string + } + + export type InvoiceCreateManyContractInput = { + id?: number + energyContractDetailsId?: number | null + invoiceDate: Date | string + invoiceType: $Enums.InvoiceType + documentPath?: string | null + notes?: string | null + createdAt?: Date | string + updatedAt?: Date | string + } + export type ContractTaskUpdateWithoutContractInput = { title?: StringFieldUpdateOperationsInput | string description?: NullableStringFieldUpdateOperationsInput | string | null @@ -75892,6 +78296,67 @@ export namespace Prisma { createdAt?: DateTimeFieldUpdateOperationsInput | Date | string } + export type ContractDocumentUpdateWithoutContractInput = { + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type ContractDocumentUncheckedUpdateWithoutContractInput = { + id?: IntFieldUpdateOperationsInput | number + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type ContractDocumentUncheckedUpdateManyWithoutContractInput = { + id?: IntFieldUpdateOperationsInput | number + documentType?: StringFieldUpdateOperationsInput | string + documentPath?: StringFieldUpdateOperationsInput | string + originalName?: StringFieldUpdateOperationsInput | string + notes?: NullableStringFieldUpdateOperationsInput | string | null + uploadedBy?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type InvoiceUpdateWithoutContractInput = { + invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string + invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType + documentPath?: NullableStringFieldUpdateOperationsInput | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + energyContractDetails?: EnergyContractDetailsUpdateOneWithoutInvoicesNestedInput + } + + export type InvoiceUncheckedUpdateWithoutContractInput = { + id?: IntFieldUpdateOperationsInput | number + energyContractDetailsId?: NullableIntFieldUpdateOperationsInput | number | null + invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string + invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType + documentPath?: NullableStringFieldUpdateOperationsInput | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type InvoiceUncheckedUpdateManyWithoutContractInput = { + id?: IntFieldUpdateOperationsInput | number + energyContractDetailsId?: NullableIntFieldUpdateOperationsInput | number | null + invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string + invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType + documentPath?: NullableStringFieldUpdateOperationsInput | string | null + notes?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + export type ContractTaskSubtaskCreateManyTaskInput = { id?: number title: string @@ -75933,6 +78398,7 @@ export namespace Prisma { export type InvoiceCreateManyEnergyContractDetailsInput = { id?: number + contractId?: number | null invoiceDate: Date | string invoiceType: $Enums.InvoiceType documentPath?: string | null @@ -75958,10 +78424,12 @@ export namespace Prisma { notes?: NullableStringFieldUpdateOperationsInput | string | null createdAt?: DateTimeFieldUpdateOperationsInput | Date | string updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + contract?: ContractUpdateOneWithoutInvoicesNestedInput } export type InvoiceUncheckedUpdateWithoutEnergyContractDetailsInput = { id?: IntFieldUpdateOperationsInput | number + contractId?: NullableIntFieldUpdateOperationsInput | number | null invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType documentPath?: NullableStringFieldUpdateOperationsInput | string | null @@ -75972,6 +78440,7 @@ export namespace Prisma { export type InvoiceUncheckedUpdateManyWithoutEnergyContractDetailsInput = { id?: IntFieldUpdateOperationsInput | number + contractId?: NullableIntFieldUpdateOperationsInput | number | null invoiceDate?: DateTimeFieldUpdateOperationsInput | Date | string invoiceType?: EnumInvoiceTypeFieldUpdateOperationsInput | $Enums.InvoiceType documentPath?: NullableStringFieldUpdateOperationsInput | string | null @@ -76276,6 +78745,10 @@ export namespace Prisma { * @deprecated Use ContractDefaultArgs instead */ export type ContractArgs = ContractDefaultArgs + /** + * @deprecated Use ContractDocumentDefaultArgs instead + */ + export type ContractDocumentArgs = ContractDocumentDefaultArgs /** * @deprecated Use ContractHistoryEntryDefaultArgs instead */ diff --git a/backend/node_modules/.prisma/client/index.js b/backend/node_modules/.prisma/client/index.js index ac6db6a5..f25e6db0 100644 --- a/backend/node_modules/.prisma/client/index.js +++ b/backend/node_modules/.prisma/client/index.js @@ -457,6 +457,17 @@ exports.Prisma.ContractScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.ContractDocumentScalarFieldEnum = { + id: 'id', + contractId: 'contractId', + documentType: 'documentType', + documentPath: 'documentPath', + originalName: 'originalName', + notes: 'notes', + uploadedBy: 'uploadedBy', + createdAt: 'createdAt' +}; + exports.Prisma.ContractHistoryEntryScalarFieldEnum = { id: 'id', contractId: 'contractId', @@ -520,6 +531,7 @@ exports.Prisma.ContractMeterScalarFieldEnum = { exports.Prisma.InvoiceScalarFieldEnum = { id: 'id', energyContractDetailsId: 'energyContractDetailsId', + contractId: 'contractId', invoiceDate: 'invoiceDate', invoiceType: 'invoiceType', documentPath: 'documentPath', @@ -538,6 +550,9 @@ exports.Prisma.InternetContractDetailsScalarFieldEnum = { installationDate: 'installationDate', internetUsername: 'internetUsername', internetPasswordEncrypted: 'internetPasswordEncrypted', + propertyType: 'propertyType', + propertyLocation: 'propertyLocation', + connectionLocation: 'connectionLocation', homeId: 'homeId', activationCode: 'activationCode' }; @@ -839,6 +854,7 @@ exports.Prisma.ModelName = { Tariff: 'Tariff', ContractCategory: 'ContractCategory', Contract: 'Contract', + ContractDocument: 'ContractDocument', ContractHistoryEntry: 'ContractHistoryEntry', ContractTask: 'ContractTask', ContractTaskSubtask: 'ContractTaskSubtask', @@ -903,8 +919,8 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\n// ==================== EMAIL LOG ====================\n\nmodel EmailLog {\n id Int @id @default(autoincrement())\n // Absender & Empfänger\n fromAddress String // Absender-E-Mail\n toAddress String // Empfänger-E-Mail\n subject String // Betreff\n // Versand-Kontext\n context String // z.B. \"consent-link\", \"authorization-request\", \"customer-email\"\n customerId Int? // Zugehöriger Kunde (falls vorhanden)\n triggeredBy String? // Wer hat den Versand ausgelöst (User-Email)\n // SMTP-Details\n smtpServer String // SMTP-Server\n smtpPort Int // SMTP-Port\n smtpEncryption String // SSL, STARTTLS, NONE\n smtpUser String // SMTP-Benutzername\n // Ergebnis\n success Boolean // Erfolgreich?\n messageId String? // Message-ID aus SMTP-Antwort\n errorMessage String? @db.Text // Fehlermeldung bei Fehler\n smtpResponse String? @db.Text // SMTP-Server-Antwort\n // Zeitstempel\n sentAt DateTime @default(now())\n\n @@index([sentAt])\n @@index([customerId])\n @@index([success])\n}\n\n// ==================== APP SETTINGS ====================\n\nmodel AppSetting {\n id Int @id @default(autoincrement())\n key String @unique\n value String @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== USERS & AUTH ====================\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n password String\n firstName String\n lastName String\n isActive Boolean @default(true)\n tokenInvalidatedAt DateTime? // Zeitpunkt ab dem alle Tokens ungültig sind (für Zwangslogout bei Rechteänderung)\n\n // Messaging-Kanäle (für Datenschutz-Link-Versand)\n whatsappNumber String?\n telegramUsername String?\n signalNumber String?\n\n customerId Int? @unique\n customer Customer? @relation(fields: [customerId], references: [id])\n roles UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Role {\n id Int @id @default(autoincrement())\n name String @unique\n description String?\n permissions RolePermission[]\n users UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Permission {\n id Int @id @default(autoincrement())\n resource String\n action String\n roles RolePermission[]\n\n @@unique([resource, action])\n}\n\nmodel RolePermission {\n roleId Int\n permissionId Int\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n permission Permission @relation(fields: [permissionId], references: [id], onDelete: Cascade)\n\n @@id([roleId, permissionId])\n}\n\nmodel UserRole {\n userId Int\n roleId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n\n @@id([userId, roleId])\n}\n\n// ==================== CUSTOMERS ====================\n\nenum CustomerType {\n PRIVATE\n BUSINESS\n}\n\nmodel Customer {\n id Int @id @default(autoincrement())\n customerNumber String @unique\n type CustomerType @default(PRIVATE)\n salutation String?\n firstName String\n lastName String\n companyName String?\n foundingDate DateTime? // Gründungsdatum (für Firmen)\n birthDate DateTime?\n birthPlace String?\n email String?\n phone String?\n mobile String?\n taxNumber String?\n businessRegistrationPath String? // PDF-Pfad zur Gewerbeanmeldung\n commercialRegisterPath String? // PDF-Pfad zum Handelsregisterauszug\n commercialRegisterNumber String? // Handelsregisternummer (Text)\n privacyPolicyPath String? // PDF-Pfad zur Datenschutzerklärung (für alle Kunden)\n consentHash String? @unique // Permanenter Hash für öffentlichen Einwilligungslink /datenschutz/\n notes String? @db.Text\n\n // ===== Portal-Zugangsdaten =====\n portalEnabled Boolean @default(false) // Portal aktiviert?\n portalEmail String? @unique // Portal-Login E-Mail\n portalPasswordHash String? // Gehashtes Passwort (für Login)\n portalPasswordEncrypted String? // Verschlüsseltes Passwort (für Anzeige)\n portalLastLogin DateTime? // Letzte Anmeldung\n\n user User?\n addresses Address[]\n bankCards BankCard[]\n identityDocuments IdentityDocument[]\n meters Meter[]\n stressfreiEmails StressfreiEmail[]\n contracts Contract[]\n\n // Vertreter-Beziehungen (Kunde kann für andere Kunden handeln)\n representingFor CustomerRepresentative[] @relation(\"RepresentativeCustomer\")\n representedBy CustomerRepresentative[] @relation(\"RepresentedCustomer\")\n\n // Vollmachten\n authorizationsGiven RepresentativeAuthorization[] @relation(\"AuthorizationCustomer\")\n authorizationsReceived RepresentativeAuthorization[] @relation(\"AuthorizationRepresentative\")\n\n // DSGVO: Einwilligungen\n consents CustomerConsent[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CUSTOMER REPRESENTATIVES ====================\n// Vertretungsbeziehung: Ein Kunde kann die Verträge eines anderen Kunden einsehen\n// z.B. Sohn (representativeId) kann Verträge der Mutter (customerId) sehen\n\nmodel CustomerRepresentative {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, dessen Verträge eingesehen werden (z.B. Mutter)\n customer Customer @relation(\"RepresentedCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Kunde, der einsehen darf (z.B. Sohn)\n representative Customer @relation(\"RepresentativeCustomer\", fields: [representativeId], references: [id], onDelete: Cascade)\n notes String? // Notizen zur Vertretung\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Keine doppelten Einträge\n}\n\n// ==================== VOLLMACHTEN ====================\n// Vollmacht: Kunde B erteilt Kunde A die Vollmacht, seine Daten einzusehen\n// Ohne Vollmacht kann der Vertreter die Verträge des Kunden NICHT sehen\n\nmodel RepresentativeAuthorization {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, der die Vollmacht erteilt (z.B. Mutter)\n customer Customer @relation(\"AuthorizationCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Vertreter, der Zugriff bekommt (z.B. Sohn)\n representative Customer @relation(\"AuthorizationRepresentative\", fields: [representativeId], references: [id], onDelete: Cascade)\n isGranted Boolean @default(false) // Vollmacht erteilt?\n grantedAt DateTime? // Wann erteilt\n withdrawnAt DateTime? // Wann widerrufen\n source String? // Quelle: 'portal', 'papier', 'crm-backend'\n documentPath String? // PDF-Upload der unterschriebenen Vollmacht\n notes String? @db.Text // Notizen\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Eine Vollmacht pro Paar\n}\n\n// ==================== ADDRESSES ====================\n\nenum AddressType {\n DELIVERY_RESIDENCE\n BILLING\n}\n\nmodel Address {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type AddressType @default(DELIVERY_RESIDENCE)\n street String\n houseNumber String\n postalCode String\n city String\n country String @default(\"Deutschland\")\n isDefault Boolean @default(false)\n contractsAsDelivery Contract[] @relation(\"DeliveryAddress\")\n contractsAsBilling Contract[] @relation(\"BillingAddress\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== BANK CARDS ====================\n\nmodel BankCard {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n accountHolder String\n iban String\n bic String?\n bankName String?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== IDENTITY DOCUMENTS ====================\n\nenum DocumentType {\n ID_CARD\n PASSPORT\n DRIVERS_LICENSE\n OTHER\n}\n\nmodel IdentityDocument {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type DocumentType @default(ID_CARD)\n documentNumber String\n issuingAuthority String?\n issueDate DateTime?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n // Führerschein-spezifische Felder\n licenseClasses String? // z.B. \"B, BE, AM, L\" - kommasepariert\n licenseIssueDate DateTime? // Datum des Führerscheinerwerbs (Klasse B)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== EMAIL PROVIDER CONFIG (Plesk, cPanel etc.) ====================\n\nenum EmailProviderType {\n PLESK\n CPANEL\n DIRECTADMIN\n}\n\n// Verschlüsselungstyp für E-Mail-Verbindungen\nenum MailEncryption {\n SSL // Implicit SSL/TLS (Ports 465/993) - Verschlüsselung von Anfang an\n STARTTLS // STARTTLS (Ports 587/143) - Startet unverschlüsselt, dann Upgrade\n NONE // Keine Verschlüsselung (Ports 25/143)\n}\n\nmodel EmailProviderConfig {\n id Int @id @default(autoincrement())\n name String @unique // z.B. \"Plesk Hauptserver\"\n type EmailProviderType\n apiUrl String // API-URL (z.B. https://server.de:8443)\n apiKey String? // API-Key (verschlüsselt)\n username String? // Benutzername für API\n passwordEncrypted String? // Passwort (verschlüsselt)\n domain String // Domain für E-Mails (z.B. stressfrei-wechseln.de)\n defaultForwardEmail String? // Standard-Weiterleitungsadresse (unsere eigene)\n\n // IMAP/SMTP-Server für E-Mail-Client (optional, default: mail.{domain})\n imapServer String? // z.B. \"mail.stressfrei-wechseln.de\"\n imapPort Int? @default(993)\n smtpServer String?\n smtpPort Int? @default(465)\n\n // Verschlüsselungs-Einstellungen\n imapEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n smtpEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n allowSelfSignedCerts Boolean @default(false) // Selbstsignierte Zertifikate erlauben\n\n // System-E-Mail für automatisierte Nachrichten (z.B. DSGVO Consent-Links)\n systemEmailAddress String? // z.B. \"info@stressfrei-wechseln.de\"\n systemEmailPasswordEncrypted String? // Passwort (verschlüsselt)\n\n isActive Boolean @default(true)\n isDefault Boolean @default(false) // Standard-Provider\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== STRESSFREI-WECHSELN EMAIL ADDRESSES ====================\n\nmodel StressfreiEmail {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n email String // Die Weiterleitungs-E-Mail-Adresse\n platform String? // Für welche Plattform (z.B. \"Freenet\", \"Klarmobil\")\n notes String? @db.Text // Optionale Notizen\n isActive Boolean @default(true)\n isProvisioned Boolean @default(false) // Wurde bei Provider angelegt?\n provisionedAt DateTime? // Wann wurde provisioniert?\n provisionError String? @db.Text // Fehlermeldung falls Provisionierung fehlschlug\n\n // Mailbox-Zugangsdaten (für IMAP/SMTP-Zugang)\n hasMailbox Boolean @default(false) // Hat echte Mailbox (nicht nur Weiterleitung)?\n emailPasswordEncrypted String? // Verschlüsseltes Mailbox-Passwort (AES-256-GCM)\n\n contracts Contract[] // Verträge die diese E-Mail als Benutzername verwenden\n cachedEmails CachedEmail[] // Gecachte E-Mails aus dieser Mailbox\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CACHED EMAILS (E-Mail-Client) ====================\n\nenum EmailFolder {\n INBOX\n SENT\n}\n\nmodel CachedEmail {\n id Int @id @default(autoincrement())\n stressfreiEmailId Int\n stressfreiEmail StressfreiEmail @relation(fields: [stressfreiEmailId], references: [id], onDelete: Cascade)\n\n // Ordner (Posteingang oder Gesendet)\n folder EmailFolder @default(INBOX)\n\n // IMAP-Identifikation\n messageId String // RFC 5322 Message-ID\n uid Int // IMAP UID (für Synchronisierung, bei SENT = 0)\n\n // E-Mail-Metadaten\n subject String?\n fromAddress String\n fromName String?\n toAddresses String @db.Text // JSON Array\n ccAddresses String? @db.Text // JSON Array\n receivedAt DateTime\n\n // Inhalt\n textBody String? @db.LongText\n htmlBody String? @db.LongText\n hasAttachments Boolean @default(false)\n attachmentNames String? @db.Text // JSON Array\n\n // Vertragszuordnung\n contractId Int?\n contract Contract? @relation(fields: [contractId], references: [id], onDelete: SetNull)\n assignedAt DateTime?\n assignedBy Int? // User ID der die Zuordnung gemacht hat\n isAutoAssigned Boolean @default(false) // true = automatisch beim Senden aus Vertrag\n\n // Flags\n isRead Boolean @default(false)\n isStarred Boolean @default(false)\n\n // Papierkorb\n isDeleted Boolean @default(false) // Im Papierkorb?\n deletedAt DateTime? // Wann gelöscht?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stressfreiEmailId, messageId, folder]) // Folder hinzugefügt: gleiche MessageID kann in INBOX und SENT existieren\n @@index([contractId])\n @@index([stressfreiEmailId, folder, receivedAt])\n @@index([stressfreiEmailId, isDeleted]) // Für Papierkorb-Abfragen\n}\n\n// ==================== METERS (Energy) ====================\n\nenum MeterType {\n ELECTRICITY\n GAS\n}\n\nenum MeterTariffModel {\n SINGLE // Eintarifzähler (Standard)\n DUAL // Zweitarifzähler (HT/NT)\n}\n\nmodel Meter {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n meterNumber String\n type MeterType\n tariffModel MeterTariffModel @default(SINGLE) // Eintarif oder Zweitarif (HT/NT)\n location String?\n isActive Boolean @default(true)\n readings MeterReading[]\n energyDetails EnergyContractDetails[]\n contractMeters ContractMeter[] @relation(\"ContractMeters\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel MeterReading {\n id Int @id @default(autoincrement())\n meterId Int\n meter Meter @relation(fields: [meterId], references: [id], onDelete: Cascade)\n readingDate DateTime\n value Float // Bei Eintarif: Gesamtwert. Bei Zweitarif: HT-Wert\n valueNt Float? // Nur bei Zweitarif: NT-Wert (Niedertarif)\n unit String @default(\"kWh\")\n notes String?\n // Meldung & Übertragung\n reportedBy String? // Wer hat gemeldet? (E-Mail des Portal-Kunden oder Mitarbeiter)\n status MeterReadingStatus @default(RECORDED)\n transferredAt DateTime? // Wann wurde der Stand an den Anbieter übertragen?\n transferredBy String? // Wer hat übertragen?\n createdAt DateTime @default(now())\n}\n\nenum MeterReadingStatus {\n RECORDED // Erfasst (vom Mitarbeiter)\n REPORTED // Vom Kunden gemeldet (Portal)\n TRANSFERRED // An Anbieter übertragen\n}\n\n// ==================== SALES PLATFORMS ====================\n\nmodel SalesPlatform {\n id Int @id @default(autoincrement())\n name String @unique\n contactInfo String? @db.Text\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CANCELLATION PERIODS ====================\n\nmodel CancellationPeriod {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"14T\", \"1M\", \"3M\", \"12M\", \"1J\"\n description String // z.B. \"14 Tage\", \"1 Monat\", \"3 Monate\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT DURATIONS ====================\n\nmodel ContractDuration {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"12M\", \"24M\", \"1J\", \"2J\"\n description String // z.B. \"12 Monate\", \"24 Monate\", \"1 Jahr\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== PROVIDERS (Anbieter) ====================\n\nmodel Provider {\n id Int @id @default(autoincrement())\n name String @unique // Anbietername\n portalUrl String? // Kundenkontourl (Login-Seite)\n usernameFieldName String? // Benutzernamefeld (z.B. \"email\", \"username\")\n passwordFieldName String? // Kennwortfeld (z.B. \"password\", \"pwd\")\n isActive Boolean @default(true)\n tariffs Tariff[]\n contracts Contract[]\n previousContracts Contract[] @relation(\"PreviousProvider\") // Verträge wo dieser Provider Altanbieter ist\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TARIFFS (Tarife) ====================\n\nmodel Tariff {\n id Int @id @default(autoincrement())\n providerId Int\n provider Provider @relation(fields: [providerId], references: [id], onDelete: Cascade)\n name String // Tarifname\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, name]) // Eindeutiger Tarif pro Anbieter\n}\n\n// ==================== CONTRACT CATEGORIES ====================\n\nmodel ContractCategory {\n id Int @id @default(autoincrement())\n code String @unique // Technischer Code (z.B. ELECTRICITY, GAS)\n name String // Anzeigename (z.B. Strom, Gas)\n icon String? // Icon-Name für UI (z.B. \"Zap\", \"Flame\")\n color String? // Farbe für UI (z.B. \"#FFC107\")\n sortOrder Int @default(0)\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACTS ====================\n\n// Legacy Enum - wird durch ContractCategory ersetzt\nenum ContractType {\n ELECTRICITY\n GAS\n DSL\n CABLE\n FIBER\n MOBILE\n TV\n CAR_INSURANCE\n}\n\nenum ContractStatus {\n DRAFT\n PENDING\n ACTIVE\n CANCELLED\n EXPIRED\n DEACTIVATED\n}\n\nmodel Contract {\n id Int @id @default(autoincrement())\n contractNumber String @unique\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type ContractType\n status ContractStatus @default(DRAFT)\n\n // Neue konfigurierbare Kategorie (ersetzt langfristig das type-Enum)\n contractCategoryId Int?\n contractCategory ContractCategory? @relation(fields: [contractCategoryId], references: [id])\n\n // Lieferadresse\n addressId Int?\n address Address? @relation(\"DeliveryAddress\", fields: [addressId], references: [id])\n\n // Rechnungsadresse (falls leer, wird Lieferadresse verwendet)\n billingAddressId Int?\n billingAddress Address? @relation(\"BillingAddress\", fields: [billingAddressId], references: [id])\n\n bankCardId Int?\n bankCard BankCard? @relation(fields: [bankCardId], references: [id])\n\n identityDocumentId Int?\n identityDocument IdentityDocument? @relation(fields: [identityDocumentId], references: [id])\n\n salesPlatformId Int?\n salesPlatform SalesPlatform? @relation(fields: [salesPlatformId], references: [id])\n\n cancellationPeriodId Int?\n cancellationPeriod CancellationPeriod? @relation(fields: [cancellationPeriodId], references: [id])\n\n contractDurationId Int?\n contractDuration ContractDuration? @relation(fields: [contractDurationId], references: [id])\n\n previousContractId Int? @unique\n previousContract Contract? @relation(\"ContractHistory\", fields: [previousContractId], references: [id])\n followUpContract Contract? @relation(\"ContractHistory\")\n\n // Altanbieter-Daten (nur wenn kein Vorgängervertrag existiert)\n previousProviderId Int?\n previousProvider Provider? @relation(\"PreviousProvider\", fields: [previousProviderId], references: [id])\n previousCustomerNumber String? // Kundennummer beim Altanbieter\n previousContractNumber String? // Vertragsnummer beim Altanbieter\n\n // Anbieter & Tarif (neue Verknüpfung)\n providerId Int?\n provider Provider? @relation(fields: [providerId], references: [id])\n tariffId Int?\n tariff Tariff? @relation(fields: [tariffId], references: [id])\n\n // Legacy-Felder (für Abwärtskompatibilität)\n providerName String?\n tariffName String?\n customerNumberAtProvider String?\n contractNumberAtProvider String? // Vertragsnummer beim Anbieter\n priceFirst12Months String? // Preis erste 12 Monate\n priceFrom13Months String? // Preis ab 13. Monat\n priceAfter24Months String? // Preis nach 24 Monaten\n\n startDate DateTime?\n endDate DateTime? // Wird aus startDate + contractDuration berechnet\n commission Float?\n\n // Kündigungsdokumente\n cancellationLetterPath String? // Kündigungsschreiben PDF\n cancellationConfirmationPath String? // Kündigungsbestätigung PDF\n cancellationLetterOptionsPath String? // Kündigungsschreiben Optionen PDF\n cancellationConfirmationOptionsPath String? // Kündigungsbestätigung Optionen PDF\n\n // Kündigungsdaten\n cancellationConfirmationDate DateTime? // Kündigungsbestätigungsdatum\n cancellationConfirmationOptionsDate DateTime? // Kündigungsbestätigungsoptionendatum\n wasSpecialCancellation Boolean @default(false) // Wurde sondergekündigt?\n\n portalUsername String?\n portalPasswordEncrypted String?\n\n // Stressfrei-Wechseln E-Mail als Benutzername (Alternative zu portalUsername)\n stressfreiEmailId Int?\n stressfreiEmail StressfreiEmail? @relation(fields: [stressfreiEmailId], references: [id])\n\n // Snooze: Vertrag zurückstellen bis Datum (für Cockpit)\n nextReviewDate DateTime? // Erneute Prüfung am\n\n notes String? @db.Text\n\n energyDetails EnergyContractDetails?\n internetDetails InternetContractDetails?\n mobileDetails MobileContractDetails?\n tvDetails TvContractDetails?\n carInsuranceDetails CarInsuranceDetails?\n\n tasks ContractTask[]\n assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client\n historyEntries ContractHistoryEntry[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT HISTORY ====================\n\nmodel ContractHistoryEntry {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String // Kurzbeschreibung (z.B. \"Folgevertrag erstellt\", \"kWh auf 18000 erhöht\")\n description String? @db.Text // Längere Beschreibung (optional)\n isAutomatic Boolean @default(false) // true = automatisch erstellt, false = manuell\n createdBy String // E-Mail des Erstellers\n createdAt DateTime @default(now())\n}\n\n// ==================== CONTRACT TASKS ====================\n\nenum ContractTaskStatus {\n OPEN\n COMPLETED\n}\n\nmodel ContractTask {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String\n description String? @db.Text\n status ContractTaskStatus @default(OPEN)\n visibleInPortal Boolean @default(false)\n createdBy String? // Name des Erstellers\n completedAt DateTime?\n subtasks ContractTaskSubtask[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ContractTaskSubtask {\n id Int @id @default(autoincrement())\n taskId Int\n task ContractTask @relation(fields: [taskId], references: [id], onDelete: Cascade)\n title String\n status ContractTaskStatus @default(OPEN)\n createdBy String?\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== ENERGY CONTRACT DETAILS ====================\n\nenum InvoiceType {\n INTERIM // Zwischenrechnung\n FINAL // Schlussrechnung\n NOT_AVAILABLE // Rechnung nicht mehr zu bekommen\n}\n\nmodel EnergyContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n meterId Int?\n meter Meter? @relation(fields: [meterId], references: [id])\n maloId String? // Marktlokations-ID\n annualConsumption Float? // kWh für Strom, m³ für Gas\n annualConsumptionKwh Float? // kWh für Gas (zusätzlich zu m³)\n basePrice Float? // €/Monat\n unitPrice Float? // €/kWh (Arbeitspreis) - bei HT/NT: HT-Preis\n unitPriceNt Float? // €/kWh NT-Preis (nur bei Zweitarifzähler)\n bonus Float?\n previousProviderName String?\n previousCustomerNumber String?\n invoices Invoice[] // Rechnungen\n contractMeters ContractMeter[] // Zähler-Zuordnungen (inkl. Folgezähler)\n}\n\nmodel ContractMeter {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int\n energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n meterId Int\n meter Meter @relation(\"ContractMeters\", fields: [meterId], references: [id])\n position Int @default(0) // 0 = Original, 1 = erster Folgezähler, etc.\n installedAt DateTime? // Ab wann wird dieser Zähler am Vertrag genutzt?\n removedAt DateTime? // Wann wurde der Zähler gewechselt? (null = aktuell)\n finalReading Float? // Letzter Stand vor dem Wechsel\n createdAt DateTime @default(now())\n\n @@unique([energyContractDetailsId, meterId])\n @@index([energyContractDetailsId])\n}\n\nmodel Invoice {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int\n energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n invoiceDate DateTime\n invoiceType InvoiceType\n documentPath String? // Pflicht, außer bei NOT_AVAILABLE\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([energyContractDetailsId])\n}\n\n// ==================== INTERNET CONTRACT DETAILS ====================\n\nmodel InternetContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n downloadSpeed Int?\n uploadSpeed Int?\n routerModel String?\n routerSerialNumber String?\n installationDate DateTime?\n // Internet-Zugangsdaten\n internetUsername String?\n internetPasswordEncrypted String? // Verschlüsselt gespeichert\n // Glasfaser-spezifisch\n homeId String?\n // Vodafone DSL/Kabel spezifisch\n activationCode String?\n phoneNumbers PhoneNumber[]\n}\n\nmodel PhoneNumber {\n id Int @id @default(autoincrement())\n internetContractDetailsId Int\n internetDetails InternetContractDetails @relation(fields: [internetContractDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String\n isMain Boolean @default(false)\n // SIP-Zugangsdaten\n sipUsername String?\n sipPasswordEncrypted String? // Verschlüsselt gespeichert\n sipServer String?\n}\n\n// ==================== MOBILE CONTRACT DETAILS ====================\n\nmodel MobileContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n requiresMultisim Boolean @default(false) // Multisim erforderlich?\n dataVolume Float?\n includedMinutes Int?\n includedSMS Int?\n deviceModel String?\n deviceImei String?\n simCards SimCard[]\n // Legacy-Felder (für Abwärtskompatibilität, werden durch simCards ersetzt)\n phoneNumber String?\n simCardNumber String?\n}\n\nmodel SimCard {\n id Int @id @default(autoincrement())\n mobileDetailsId Int\n mobileDetails MobileContractDetails @relation(fields: [mobileDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String? // Rufnummer\n simCardNumber String? // SIM-Kartennummer\n pin String? // PIN (verschlüsselt gespeichert)\n puk String? // PUK (verschlüsselt gespeichert)\n isMultisim Boolean @default(false) // Ist dies eine Multisim-Karte?\n isMain Boolean @default(false) // Ist dies die Hauptkarte?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TV CONTRACT DETAILS ====================\n\nmodel TvContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n receiverModel String?\n smartcardNumber String?\n package String?\n}\n\n// ==================== CAR INSURANCE DETAILS ====================\n\nenum InsuranceType {\n LIABILITY\n PARTIAL\n FULL\n}\n\nmodel CarInsuranceDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n licensePlate String?\n hsn String?\n tsn String?\n vin String?\n vehicleType String?\n firstRegistration DateTime?\n noClaimsClass String?\n insuranceType InsuranceType @default(LIABILITY)\n deductiblePartial Float?\n deductibleFull Float?\n policyNumber String?\n previousInsurer String?\n}\n\n// ==================== AUDIT LOGGING (DSGVO) ====================\n\nenum AuditAction {\n CREATE\n READ\n UPDATE\n DELETE\n EXPORT // DSGVO-Datenexport\n ANONYMIZE // Recht auf Vergessenwerden\n LOGIN\n LOGOUT\n LOGIN_FAILED\n}\n\nenum AuditSensitivity {\n LOW // Einstellungen, Plattformen\n MEDIUM // Verträge, Tarife\n HIGH // Kundendaten, Bankdaten\n CRITICAL // Authentifizierung, Ausweisdokumente\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n\n // Wer\n userId Int? // Staff User (null bei Kundenportal/System)\n userEmail String\n userRole String? @db.Text // Rolle zum Zeitpunkt der Aktion\n customerId Int? // Bei Kundenportal-Zugriff\n isCustomerPortal Boolean @default(false)\n\n // Was\n action AuditAction\n sensitivity AuditSensitivity @default(MEDIUM)\n\n // Welche Ressource\n resourceType String // Prisma Model Name\n resourceId String? // ID des Datensatzes\n resourceLabel String? // Lesbare Bezeichnung\n\n // Kontext\n endpoint String // API-Pfad\n httpMethod String // GET, POST, PUT, DELETE\n ipAddress String\n userAgent String? @db.Text\n\n // Änderungen (JSON, bei sensiblen Daten verschlüsselt)\n changesBefore String? @db.LongText\n changesAfter String? @db.LongText\n changesEncrypted Boolean @default(false)\n\n // DSGVO\n dataSubjectId Int? // Betroffene Person (für Reports)\n legalBasis String? // Rechtsgrundlage\n\n // Status\n success Boolean @default(true)\n errorMessage String? @db.Text\n durationMs Int?\n\n // Unveränderlichkeit (Hash-Kette)\n createdAt DateTime @default(now())\n hash String? // SHA-256 Hash des Eintrags\n previousHash String? // Hash des vorherigen Eintrags\n\n @@index([userId])\n @@index([customerId])\n @@index([resourceType, resourceId])\n @@index([dataSubjectId])\n @@index([action])\n @@index([createdAt])\n @@index([sensitivity])\n}\n\n// ==================== CONSENT MANAGEMENT (DSGVO) ====================\n\nenum ConsentType {\n DATA_PROCESSING // Grundlegende Datenverarbeitung\n MARKETING_EMAIL // E-Mail-Marketing\n MARKETING_PHONE // Telefon-Marketing\n DATA_SHARING_PARTNER // Weitergabe an Partner\n}\n\nenum ConsentStatus {\n GRANTED\n WITHDRAWN\n PENDING\n}\n\nmodel CustomerConsent {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n consentType ConsentType\n status ConsentStatus @default(PENDING)\n\n grantedAt DateTime?\n withdrawnAt DateTime?\n source String? // \"portal\", \"telefon\", \"papier\", \"email\"\n documentPath String? // Unterschriebenes Dokument\n version String? // Version der Datenschutzerklärung\n ipAddress String?\n\n createdBy String // User der die Einwilligung erfasst hat\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, consentType])\n @@index([customerId])\n @@index([consentType])\n @@index([status])\n}\n\n// ==================== DATA DELETION REQUESTS (DSGVO) ====================\n\nenum DeletionRequestStatus {\n PENDING // Anfrage eingegangen\n IN_PROGRESS // Wird bearbeitet\n COMPLETED // Abgeschlossen\n PARTIALLY_COMPLETED // Teildaten behalten (rechtliche Gründe)\n REJECTED // Abgelehnt\n}\n\nmodel DataDeletionRequest {\n id Int @id @default(autoincrement())\n customerId Int\n\n status DeletionRequestStatus @default(PENDING)\n requestedAt DateTime @default(now())\n requestSource String // \"email\", \"portal\", \"brief\"\n requestedBy String // Wer hat angefragt\n\n processedAt DateTime?\n processedBy String? // Mitarbeiter der bearbeitet hat\n\n deletedData String? @db.LongText // JSON: Was wurde gelöscht\n retainedData String? @db.LongText // JSON: Was wurde behalten + Grund\n retentionReason String? @db.Text // Begründung für Aufbewahrung\n\n proofDocument String? // Pfad zum Löschnachweis-PDF\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([customerId])\n @@index([status])\n @@index([requestedAt])\n}\n\n// ==================== AUDIT RETENTION POLICIES ====================\n\nmodel AuditRetentionPolicy {\n id Int @id @default(autoincrement())\n resourceType String // \"*\" für Standard, oder spezifischer Model-Name\n sensitivity AuditSensitivity?\n retentionDays Int // Aufbewahrungsfrist in Tagen (z.B. 3650 = 10 Jahre)\n description String?\n legalBasis String? // Gesetzliche Grundlage (z.B. \"AO §147\", \"HGB §257\")\n isActive Boolean @default(true)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([resourceType, sensitivity])\n}\n", - "inlineSchemaHash": "6b4e3ce0743cbe5c178692336a505c27ecf1129b2c1f9415db74ee29f250553d", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"mysql\"\n url = env(\"DATABASE_URL\")\n}\n\n// ==================== EMAIL LOG ====================\n\nmodel EmailLog {\n id Int @id @default(autoincrement())\n // Absender & Empfänger\n fromAddress String // Absender-E-Mail\n toAddress String // Empfänger-E-Mail\n subject String // Betreff\n // Versand-Kontext\n context String // z.B. \"consent-link\", \"authorization-request\", \"customer-email\"\n customerId Int? // Zugehöriger Kunde (falls vorhanden)\n triggeredBy String? // Wer hat den Versand ausgelöst (User-Email)\n // SMTP-Details\n smtpServer String // SMTP-Server\n smtpPort Int // SMTP-Port\n smtpEncryption String // SSL, STARTTLS, NONE\n smtpUser String // SMTP-Benutzername\n // Ergebnis\n success Boolean // Erfolgreich?\n messageId String? // Message-ID aus SMTP-Antwort\n errorMessage String? @db.Text // Fehlermeldung bei Fehler\n smtpResponse String? @db.Text // SMTP-Server-Antwort\n // Zeitstempel\n sentAt DateTime @default(now())\n\n @@index([sentAt])\n @@index([customerId])\n @@index([success])\n}\n\n// ==================== APP SETTINGS ====================\n\nmodel AppSetting {\n id Int @id @default(autoincrement())\n key String @unique\n value String @db.Text\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== USERS & AUTH ====================\n\nmodel User {\n id Int @id @default(autoincrement())\n email String @unique\n password String\n firstName String\n lastName String\n isActive Boolean @default(true)\n tokenInvalidatedAt DateTime? // Zeitpunkt ab dem alle Tokens ungültig sind (für Zwangslogout bei Rechteänderung)\n\n // Messaging-Kanäle (für Datenschutz-Link-Versand)\n whatsappNumber String?\n telegramUsername String?\n signalNumber String?\n\n customerId Int? @unique\n customer Customer? @relation(fields: [customerId], references: [id])\n roles UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Role {\n id Int @id @default(autoincrement())\n name String @unique\n description String?\n permissions RolePermission[]\n users UserRole[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Permission {\n id Int @id @default(autoincrement())\n resource String\n action String\n roles RolePermission[]\n\n @@unique([resource, action])\n}\n\nmodel RolePermission {\n roleId Int\n permissionId Int\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n permission Permission @relation(fields: [permissionId], references: [id], onDelete: Cascade)\n\n @@id([roleId, permissionId])\n}\n\nmodel UserRole {\n userId Int\n roleId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role Role @relation(fields: [roleId], references: [id], onDelete: Cascade)\n\n @@id([userId, roleId])\n}\n\n// ==================== CUSTOMERS ====================\n\nenum CustomerType {\n PRIVATE\n BUSINESS\n}\n\nmodel Customer {\n id Int @id @default(autoincrement())\n customerNumber String @unique\n type CustomerType @default(PRIVATE)\n salutation String?\n firstName String\n lastName String\n companyName String?\n foundingDate DateTime? // Gründungsdatum (für Firmen)\n birthDate DateTime?\n birthPlace String?\n email String?\n phone String?\n mobile String?\n taxNumber String?\n businessRegistrationPath String? // PDF-Pfad zur Gewerbeanmeldung\n commercialRegisterPath String? // PDF-Pfad zum Handelsregisterauszug\n commercialRegisterNumber String? // Handelsregisternummer (Text)\n privacyPolicyPath String? // PDF-Pfad zur Datenschutzerklärung (für alle Kunden)\n consentHash String? @unique // Permanenter Hash für öffentlichen Einwilligungslink /datenschutz/\n notes String? @db.Text\n\n // ===== Portal-Zugangsdaten =====\n portalEnabled Boolean @default(false) // Portal aktiviert?\n portalEmail String? @unique // Portal-Login E-Mail\n portalPasswordHash String? // Gehashtes Passwort (für Login)\n portalPasswordEncrypted String? // Verschlüsseltes Passwort (für Anzeige)\n portalLastLogin DateTime? // Letzte Anmeldung\n\n user User?\n addresses Address[]\n bankCards BankCard[]\n identityDocuments IdentityDocument[]\n meters Meter[]\n stressfreiEmails StressfreiEmail[]\n contracts Contract[]\n\n // Vertreter-Beziehungen (Kunde kann für andere Kunden handeln)\n representingFor CustomerRepresentative[] @relation(\"RepresentativeCustomer\")\n representedBy CustomerRepresentative[] @relation(\"RepresentedCustomer\")\n\n // Vollmachten\n authorizationsGiven RepresentativeAuthorization[] @relation(\"AuthorizationCustomer\")\n authorizationsReceived RepresentativeAuthorization[] @relation(\"AuthorizationRepresentative\")\n\n // DSGVO: Einwilligungen\n consents CustomerConsent[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CUSTOMER REPRESENTATIVES ====================\n// Vertretungsbeziehung: Ein Kunde kann die Verträge eines anderen Kunden einsehen\n// z.B. Sohn (representativeId) kann Verträge der Mutter (customerId) sehen\n\nmodel CustomerRepresentative {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, dessen Verträge eingesehen werden (z.B. Mutter)\n customer Customer @relation(\"RepresentedCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Kunde, der einsehen darf (z.B. Sohn)\n representative Customer @relation(\"RepresentativeCustomer\", fields: [representativeId], references: [id], onDelete: Cascade)\n notes String? // Notizen zur Vertretung\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Keine doppelten Einträge\n}\n\n// ==================== VOLLMACHTEN ====================\n// Vollmacht: Kunde B erteilt Kunde A die Vollmacht, seine Daten einzusehen\n// Ohne Vollmacht kann der Vertreter die Verträge des Kunden NICHT sehen\n\nmodel RepresentativeAuthorization {\n id Int @id @default(autoincrement())\n customerId Int // Der Kunde, der die Vollmacht erteilt (z.B. Mutter)\n customer Customer @relation(\"AuthorizationCustomer\", fields: [customerId], references: [id], onDelete: Cascade)\n representativeId Int // Der Vertreter, der Zugriff bekommt (z.B. Sohn)\n representative Customer @relation(\"AuthorizationRepresentative\", fields: [representativeId], references: [id], onDelete: Cascade)\n isGranted Boolean @default(false) // Vollmacht erteilt?\n grantedAt DateTime? // Wann erteilt\n withdrawnAt DateTime? // Wann widerrufen\n source String? // Quelle: 'portal', 'papier', 'crm-backend'\n documentPath String? // PDF-Upload der unterschriebenen Vollmacht\n notes String? @db.Text // Notizen\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, representativeId]) // Eine Vollmacht pro Paar\n}\n\n// ==================== ADDRESSES ====================\n\nenum AddressType {\n DELIVERY_RESIDENCE\n BILLING\n}\n\nmodel Address {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type AddressType @default(DELIVERY_RESIDENCE)\n street String\n houseNumber String\n postalCode String\n city String\n country String @default(\"Deutschland\")\n isDefault Boolean @default(false)\n contractsAsDelivery Contract[] @relation(\"DeliveryAddress\")\n contractsAsBilling Contract[] @relation(\"BillingAddress\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== BANK CARDS ====================\n\nmodel BankCard {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n accountHolder String\n iban String\n bic String?\n bankName String?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== IDENTITY DOCUMENTS ====================\n\nenum DocumentType {\n ID_CARD\n PASSPORT\n DRIVERS_LICENSE\n OTHER\n}\n\nmodel IdentityDocument {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type DocumentType @default(ID_CARD)\n documentNumber String\n issuingAuthority String?\n issueDate DateTime?\n expiryDate DateTime?\n documentPath String? // Pfad zur hochgeladenen PDF\n isActive Boolean @default(true)\n // Führerschein-spezifische Felder\n licenseClasses String? // z.B. \"B, BE, AM, L\" - kommasepariert\n licenseIssueDate DateTime? // Datum des Führerscheinerwerbs (Klasse B)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== EMAIL PROVIDER CONFIG (Plesk, cPanel etc.) ====================\n\nenum EmailProviderType {\n PLESK\n CPANEL\n DIRECTADMIN\n}\n\n// Verschlüsselungstyp für E-Mail-Verbindungen\nenum MailEncryption {\n SSL // Implicit SSL/TLS (Ports 465/993) - Verschlüsselung von Anfang an\n STARTTLS // STARTTLS (Ports 587/143) - Startet unverschlüsselt, dann Upgrade\n NONE // Keine Verschlüsselung (Ports 25/143)\n}\n\nmodel EmailProviderConfig {\n id Int @id @default(autoincrement())\n name String @unique // z.B. \"Plesk Hauptserver\"\n type EmailProviderType\n apiUrl String // API-URL (z.B. https://server.de:8443)\n apiKey String? // API-Key (verschlüsselt)\n username String? // Benutzername für API\n passwordEncrypted String? // Passwort (verschlüsselt)\n domain String // Domain für E-Mails (z.B. stressfrei-wechseln.de)\n defaultForwardEmail String? // Standard-Weiterleitungsadresse (unsere eigene)\n\n // IMAP/SMTP-Server für E-Mail-Client (optional, default: mail.{domain})\n imapServer String? // z.B. \"mail.stressfrei-wechseln.de\"\n imapPort Int? @default(993)\n smtpServer String?\n smtpPort Int? @default(465)\n\n // Verschlüsselungs-Einstellungen\n imapEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n smtpEncryption MailEncryption @default(SSL) // SSL, STARTTLS oder NONE\n allowSelfSignedCerts Boolean @default(false) // Selbstsignierte Zertifikate erlauben\n\n // System-E-Mail für automatisierte Nachrichten (z.B. DSGVO Consent-Links)\n systemEmailAddress String? // z.B. \"info@stressfrei-wechseln.de\"\n systemEmailPasswordEncrypted String? // Passwort (verschlüsselt)\n\n isActive Boolean @default(true)\n isDefault Boolean @default(false) // Standard-Provider\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== STRESSFREI-WECHSELN EMAIL ADDRESSES ====================\n\nmodel StressfreiEmail {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n email String // Die Weiterleitungs-E-Mail-Adresse\n platform String? // Für welche Plattform (z.B. \"Freenet\", \"Klarmobil\")\n notes String? @db.Text // Optionale Notizen\n isActive Boolean @default(true)\n isProvisioned Boolean @default(false) // Wurde bei Provider angelegt?\n provisionedAt DateTime? // Wann wurde provisioniert?\n provisionError String? @db.Text // Fehlermeldung falls Provisionierung fehlschlug\n\n // Mailbox-Zugangsdaten (für IMAP/SMTP-Zugang)\n hasMailbox Boolean @default(false) // Hat echte Mailbox (nicht nur Weiterleitung)?\n emailPasswordEncrypted String? // Verschlüsseltes Mailbox-Passwort (AES-256-GCM)\n\n contracts Contract[] // Verträge die diese E-Mail als Benutzername verwenden\n cachedEmails CachedEmail[] // Gecachte E-Mails aus dieser Mailbox\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CACHED EMAILS (E-Mail-Client) ====================\n\nenum EmailFolder {\n INBOX\n SENT\n}\n\nmodel CachedEmail {\n id Int @id @default(autoincrement())\n stressfreiEmailId Int\n stressfreiEmail StressfreiEmail @relation(fields: [stressfreiEmailId], references: [id], onDelete: Cascade)\n\n // Ordner (Posteingang oder Gesendet)\n folder EmailFolder @default(INBOX)\n\n // IMAP-Identifikation\n messageId String // RFC 5322 Message-ID\n uid Int // IMAP UID (für Synchronisierung, bei SENT = 0)\n\n // E-Mail-Metadaten\n subject String?\n fromAddress String\n fromName String?\n toAddresses String @db.Text // JSON Array\n ccAddresses String? @db.Text // JSON Array\n receivedAt DateTime\n\n // Inhalt\n textBody String? @db.LongText\n htmlBody String? @db.LongText\n hasAttachments Boolean @default(false)\n attachmentNames String? @db.Text // JSON Array\n\n // Vertragszuordnung\n contractId Int?\n contract Contract? @relation(fields: [contractId], references: [id], onDelete: SetNull)\n assignedAt DateTime?\n assignedBy Int? // User ID der die Zuordnung gemacht hat\n isAutoAssigned Boolean @default(false) // true = automatisch beim Senden aus Vertrag\n\n // Flags\n isRead Boolean @default(false)\n isStarred Boolean @default(false)\n\n // Papierkorb\n isDeleted Boolean @default(false) // Im Papierkorb?\n deletedAt DateTime? // Wann gelöscht?\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([stressfreiEmailId, messageId, folder]) // Folder hinzugefügt: gleiche MessageID kann in INBOX und SENT existieren\n @@index([contractId])\n @@index([stressfreiEmailId, folder, receivedAt])\n @@index([stressfreiEmailId, isDeleted]) // Für Papierkorb-Abfragen\n}\n\n// ==================== METERS (Energy) ====================\n\nenum MeterType {\n ELECTRICITY\n GAS\n}\n\nenum MeterTariffModel {\n SINGLE // Eintarifzähler (Standard)\n DUAL // Zweitarifzähler (HT/NT)\n}\n\nmodel Meter {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n meterNumber String\n type MeterType\n tariffModel MeterTariffModel @default(SINGLE) // Eintarif oder Zweitarif (HT/NT)\n location String?\n isActive Boolean @default(true)\n readings MeterReading[]\n energyDetails EnergyContractDetails[]\n contractMeters ContractMeter[] @relation(\"ContractMeters\")\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel MeterReading {\n id Int @id @default(autoincrement())\n meterId Int\n meter Meter @relation(fields: [meterId], references: [id], onDelete: Cascade)\n readingDate DateTime\n value Float // Bei Eintarif: Gesamtwert. Bei Zweitarif: HT-Wert\n valueNt Float? // Nur bei Zweitarif: NT-Wert (Niedertarif)\n unit String @default(\"kWh\")\n notes String?\n // Meldung & Übertragung\n reportedBy String? // Wer hat gemeldet? (E-Mail des Portal-Kunden oder Mitarbeiter)\n status MeterReadingStatus @default(RECORDED)\n transferredAt DateTime? // Wann wurde der Stand an den Anbieter übertragen?\n transferredBy String? // Wer hat übertragen?\n createdAt DateTime @default(now())\n}\n\nenum MeterReadingStatus {\n RECORDED // Erfasst (vom Mitarbeiter)\n REPORTED // Vom Kunden gemeldet (Portal)\n TRANSFERRED // An Anbieter übertragen\n}\n\n// ==================== SALES PLATFORMS ====================\n\nmodel SalesPlatform {\n id Int @id @default(autoincrement())\n name String @unique\n contactInfo String? @db.Text\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CANCELLATION PERIODS ====================\n\nmodel CancellationPeriod {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"14T\", \"1M\", \"3M\", \"12M\", \"1J\"\n description String // z.B. \"14 Tage\", \"1 Monat\", \"3 Monate\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT DURATIONS ====================\n\nmodel ContractDuration {\n id Int @id @default(autoincrement())\n code String @unique // z.B. \"12M\", \"24M\", \"1J\", \"2J\"\n description String // z.B. \"12 Monate\", \"24 Monate\", \"1 Jahr\"\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== PROVIDERS (Anbieter) ====================\n\nmodel Provider {\n id Int @id @default(autoincrement())\n name String @unique // Anbietername\n portalUrl String? // Kundenkontourl (Login-Seite)\n usernameFieldName String? // Benutzernamefeld (z.B. \"email\", \"username\")\n passwordFieldName String? // Kennwortfeld (z.B. \"password\", \"pwd\")\n isActive Boolean @default(true)\n tariffs Tariff[]\n contracts Contract[]\n previousContracts Contract[] @relation(\"PreviousProvider\") // Verträge wo dieser Provider Altanbieter ist\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TARIFFS (Tarife) ====================\n\nmodel Tariff {\n id Int @id @default(autoincrement())\n providerId Int\n provider Provider @relation(fields: [providerId], references: [id], onDelete: Cascade)\n name String // Tarifname\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, name]) // Eindeutiger Tarif pro Anbieter\n}\n\n// ==================== CONTRACT CATEGORIES ====================\n\nmodel ContractCategory {\n id Int @id @default(autoincrement())\n code String @unique // Technischer Code (z.B. ELECTRICITY, GAS)\n name String // Anzeigename (z.B. Strom, Gas)\n icon String? // Icon-Name für UI (z.B. \"Zap\", \"Flame\")\n color String? // Farbe für UI (z.B. \"#FFC107\")\n sortOrder Int @default(0)\n isActive Boolean @default(true)\n contracts Contract[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACTS ====================\n\n// Legacy Enum - wird durch ContractCategory ersetzt\nenum ContractType {\n ELECTRICITY\n GAS\n DSL\n CABLE\n FIBER\n MOBILE\n TV\n CAR_INSURANCE\n}\n\nenum ContractStatus {\n DRAFT\n PENDING\n ACTIVE\n CANCELLED\n EXPIRED\n DEACTIVATED\n}\n\nmodel Contract {\n id Int @id @default(autoincrement())\n contractNumber String @unique\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n type ContractType\n status ContractStatus @default(DRAFT)\n\n // Neue konfigurierbare Kategorie (ersetzt langfristig das type-Enum)\n contractCategoryId Int?\n contractCategory ContractCategory? @relation(fields: [contractCategoryId], references: [id])\n\n // Lieferadresse\n addressId Int?\n address Address? @relation(\"DeliveryAddress\", fields: [addressId], references: [id])\n\n // Rechnungsadresse (falls leer, wird Lieferadresse verwendet)\n billingAddressId Int?\n billingAddress Address? @relation(\"BillingAddress\", fields: [billingAddressId], references: [id])\n\n bankCardId Int?\n bankCard BankCard? @relation(fields: [bankCardId], references: [id])\n\n identityDocumentId Int?\n identityDocument IdentityDocument? @relation(fields: [identityDocumentId], references: [id])\n\n salesPlatformId Int?\n salesPlatform SalesPlatform? @relation(fields: [salesPlatformId], references: [id])\n\n cancellationPeriodId Int?\n cancellationPeriod CancellationPeriod? @relation(fields: [cancellationPeriodId], references: [id])\n\n contractDurationId Int?\n contractDuration ContractDuration? @relation(fields: [contractDurationId], references: [id])\n\n previousContractId Int? @unique\n previousContract Contract? @relation(\"ContractHistory\", fields: [previousContractId], references: [id])\n followUpContract Contract? @relation(\"ContractHistory\")\n\n // Altanbieter-Daten (nur wenn kein Vorgängervertrag existiert)\n previousProviderId Int?\n previousProvider Provider? @relation(\"PreviousProvider\", fields: [previousProviderId], references: [id])\n previousCustomerNumber String? // Kundennummer beim Altanbieter\n previousContractNumber String? // Vertragsnummer beim Altanbieter\n\n // Anbieter & Tarif (neue Verknüpfung)\n providerId Int?\n provider Provider? @relation(fields: [providerId], references: [id])\n tariffId Int?\n tariff Tariff? @relation(fields: [tariffId], references: [id])\n\n // Legacy-Felder (für Abwärtskompatibilität)\n providerName String?\n tariffName String?\n customerNumberAtProvider String?\n contractNumberAtProvider String? // Vertragsnummer beim Anbieter\n priceFirst12Months String? // Preis erste 12 Monate\n priceFrom13Months String? // Preis ab 13. Monat\n priceAfter24Months String? // Preis nach 24 Monaten\n\n startDate DateTime?\n endDate DateTime? // Wird aus startDate + contractDuration berechnet\n commission Float?\n\n // Kündigungsdokumente\n cancellationLetterPath String? // Kündigungsschreiben PDF\n cancellationConfirmationPath String? // Kündigungsbestätigung PDF\n cancellationLetterOptionsPath String? // Kündigungsschreiben Optionen PDF\n cancellationConfirmationOptionsPath String? // Kündigungsbestätigung Optionen PDF\n\n // Kündigungsdaten\n cancellationConfirmationDate DateTime? // Kündigungsbestätigungsdatum\n cancellationConfirmationOptionsDate DateTime? // Kündigungsbestätigungsoptionendatum\n wasSpecialCancellation Boolean @default(false) // Wurde sondergekündigt?\n\n portalUsername String?\n portalPasswordEncrypted String?\n\n // Stressfrei-Wechseln E-Mail als Benutzername (Alternative zu portalUsername)\n stressfreiEmailId Int?\n stressfreiEmail StressfreiEmail? @relation(fields: [stressfreiEmailId], references: [id])\n\n // Snooze: Vertrag zurückstellen bis Datum (für Cockpit)\n nextReviewDate DateTime? // Erneute Prüfung am\n\n notes String? @db.Text\n\n energyDetails EnergyContractDetails?\n internetDetails InternetContractDetails?\n mobileDetails MobileContractDetails?\n tvDetails TvContractDetails?\n carInsuranceDetails CarInsuranceDetails?\n\n tasks ContractTask[]\n assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client\n historyEntries ContractHistoryEntry[]\n documents ContractDocument[]\n invoices Invoice[]\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== CONTRACT DOCUMENTS ====================\n\nmodel ContractDocument {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n documentType String // Auftragsformular, Lieferbestätigung, etc.\n documentPath String // Dateipfad\n originalName String // Originaler Dateiname\n notes String? @db.Text\n uploadedBy String? // Wer hat hochgeladen\n createdAt DateTime @default(now())\n\n @@index([contractId])\n}\n\n// ==================== CONTRACT HISTORY ====================\n\nmodel ContractHistoryEntry {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String // Kurzbeschreibung (z.B. \"Folgevertrag erstellt\", \"kWh auf 18000 erhöht\")\n description String? @db.Text // Längere Beschreibung (optional)\n isAutomatic Boolean @default(false) // true = automatisch erstellt, false = manuell\n createdBy String // E-Mail des Erstellers\n createdAt DateTime @default(now())\n}\n\n// ==================== CONTRACT TASKS ====================\n\nenum ContractTaskStatus {\n OPEN\n COMPLETED\n}\n\nmodel ContractTask {\n id Int @id @default(autoincrement())\n contractId Int\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n title String\n description String? @db.Text\n status ContractTaskStatus @default(OPEN)\n visibleInPortal Boolean @default(false)\n createdBy String? // Name des Erstellers\n completedAt DateTime?\n subtasks ContractTaskSubtask[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ContractTaskSubtask {\n id Int @id @default(autoincrement())\n taskId Int\n task ContractTask @relation(fields: [taskId], references: [id], onDelete: Cascade)\n title String\n status ContractTaskStatus @default(OPEN)\n createdBy String?\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== ENERGY CONTRACT DETAILS ====================\n\nenum InvoiceType {\n INTERIM // Zwischenrechnung\n FINAL // Schlussrechnung\n NOT_AVAILABLE // Rechnung nicht mehr zu bekommen\n}\n\nmodel EnergyContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n meterId Int?\n meter Meter? @relation(fields: [meterId], references: [id])\n maloId String? // Marktlokations-ID\n annualConsumption Float? // kWh für Strom, m³ für Gas\n annualConsumptionKwh Float? // kWh für Gas (zusätzlich zu m³)\n basePrice Float? // €/Monat\n unitPrice Float? // €/kWh (Arbeitspreis) - bei HT/NT: HT-Preis\n unitPriceNt Float? // €/kWh NT-Preis (nur bei Zweitarifzähler)\n bonus Float?\n previousProviderName String?\n previousCustomerNumber String?\n invoices Invoice[] // Rechnungen\n contractMeters ContractMeter[] // Zähler-Zuordnungen (inkl. Folgezähler)\n}\n\nmodel ContractMeter {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int\n energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n meterId Int\n meter Meter @relation(\"ContractMeters\", fields: [meterId], references: [id])\n position Int @default(0) // 0 = Original, 1 = erster Folgezähler, etc.\n installedAt DateTime? // Ab wann wird dieser Zähler am Vertrag genutzt?\n removedAt DateTime? // Wann wurde der Zähler gewechselt? (null = aktuell)\n finalReading Float? // Letzter Stand vor dem Wechsel\n createdAt DateTime @default(now())\n\n @@unique([energyContractDetailsId, meterId])\n @@index([energyContractDetailsId])\n}\n\nmodel Invoice {\n id Int @id @default(autoincrement())\n energyContractDetailsId Int?\n energyContractDetails EnergyContractDetails? @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade)\n contractId Int?\n contract Contract? @relation(fields: [contractId], references: [id], onDelete: Cascade)\n invoiceDate DateTime\n invoiceType InvoiceType\n documentPath String? // Pflicht, außer bei NOT_AVAILABLE\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([energyContractDetailsId])\n @@index([contractId])\n}\n\n// ==================== INTERNET CONTRACT DETAILS ====================\n\nmodel InternetContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n downloadSpeed Int?\n uploadSpeed Int?\n routerModel String?\n routerSerialNumber String?\n installationDate DateTime?\n // Internet-Zugangsdaten\n internetUsername String?\n internetPasswordEncrypted String? // Verschlüsselt gespeichert\n // Objekt & Lage\n propertyType String? // Objekttyp (Mehrparteienhaus, Freistehendes Haus, etc.)\n propertyLocation String? // Lage (Erdgeschoss, OG1, etc.)\n connectionLocation String? // Lage des Anschlusses (Flur, HWR, etc.)\n // Glasfaser-spezifisch\n homeId String?\n // Vodafone DSL/Kabel spezifisch\n activationCode String?\n phoneNumbers PhoneNumber[]\n}\n\nmodel PhoneNumber {\n id Int @id @default(autoincrement())\n internetContractDetailsId Int\n internetDetails InternetContractDetails @relation(fields: [internetContractDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String\n isMain Boolean @default(false)\n // SIP-Zugangsdaten\n sipUsername String?\n sipPasswordEncrypted String? // Verschlüsselt gespeichert\n sipServer String?\n}\n\n// ==================== MOBILE CONTRACT DETAILS ====================\n\nmodel MobileContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n requiresMultisim Boolean @default(false) // Multisim erforderlich?\n dataVolume Float?\n includedMinutes Int?\n includedSMS Int?\n deviceModel String?\n deviceImei String?\n simCards SimCard[]\n // Legacy-Felder (für Abwärtskompatibilität, werden durch simCards ersetzt)\n phoneNumber String?\n simCardNumber String?\n}\n\nmodel SimCard {\n id Int @id @default(autoincrement())\n mobileDetailsId Int\n mobileDetails MobileContractDetails @relation(fields: [mobileDetailsId], references: [id], onDelete: Cascade)\n phoneNumber String? // Rufnummer\n simCardNumber String? // SIM-Kartennummer\n pin String? // PIN (verschlüsselt gespeichert)\n puk String? // PUK (verschlüsselt gespeichert)\n isMultisim Boolean @default(false) // Ist dies eine Multisim-Karte?\n isMain Boolean @default(false) // Ist dies die Hauptkarte?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// ==================== TV CONTRACT DETAILS ====================\n\nmodel TvContractDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n receiverModel String?\n smartcardNumber String?\n package String?\n}\n\n// ==================== CAR INSURANCE DETAILS ====================\n\nenum InsuranceType {\n LIABILITY\n PARTIAL\n FULL\n}\n\nmodel CarInsuranceDetails {\n id Int @id @default(autoincrement())\n contractId Int @unique\n contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade)\n licensePlate String?\n hsn String?\n tsn String?\n vin String?\n vehicleType String?\n firstRegistration DateTime?\n noClaimsClass String?\n insuranceType InsuranceType @default(LIABILITY)\n deductiblePartial Float?\n deductibleFull Float?\n policyNumber String?\n previousInsurer String?\n}\n\n// ==================== AUDIT LOGGING (DSGVO) ====================\n\nenum AuditAction {\n CREATE\n READ\n UPDATE\n DELETE\n EXPORT // DSGVO-Datenexport\n ANONYMIZE // Recht auf Vergessenwerden\n LOGIN\n LOGOUT\n LOGIN_FAILED\n}\n\nenum AuditSensitivity {\n LOW // Einstellungen, Plattformen\n MEDIUM // Verträge, Tarife\n HIGH // Kundendaten, Bankdaten\n CRITICAL // Authentifizierung, Ausweisdokumente\n}\n\nmodel AuditLog {\n id Int @id @default(autoincrement())\n\n // Wer\n userId Int? // Staff User (null bei Kundenportal/System)\n userEmail String\n userRole String? @db.Text // Rolle zum Zeitpunkt der Aktion\n customerId Int? // Bei Kundenportal-Zugriff\n isCustomerPortal Boolean @default(false)\n\n // Was\n action AuditAction\n sensitivity AuditSensitivity @default(MEDIUM)\n\n // Welche Ressource\n resourceType String // Prisma Model Name\n resourceId String? // ID des Datensatzes\n resourceLabel String? // Lesbare Bezeichnung\n\n // Kontext\n endpoint String // API-Pfad\n httpMethod String // GET, POST, PUT, DELETE\n ipAddress String\n userAgent String? @db.Text\n\n // Änderungen (JSON, bei sensiblen Daten verschlüsselt)\n changesBefore String? @db.LongText\n changesAfter String? @db.LongText\n changesEncrypted Boolean @default(false)\n\n // DSGVO\n dataSubjectId Int? // Betroffene Person (für Reports)\n legalBasis String? // Rechtsgrundlage\n\n // Status\n success Boolean @default(true)\n errorMessage String? @db.Text\n durationMs Int?\n\n // Unveränderlichkeit (Hash-Kette)\n createdAt DateTime @default(now())\n hash String? // SHA-256 Hash des Eintrags\n previousHash String? // Hash des vorherigen Eintrags\n\n @@index([userId])\n @@index([customerId])\n @@index([resourceType, resourceId])\n @@index([dataSubjectId])\n @@index([action])\n @@index([createdAt])\n @@index([sensitivity])\n}\n\n// ==================== CONSENT MANAGEMENT (DSGVO) ====================\n\nenum ConsentType {\n DATA_PROCESSING // Grundlegende Datenverarbeitung\n MARKETING_EMAIL // E-Mail-Marketing\n MARKETING_PHONE // Telefon-Marketing\n DATA_SHARING_PARTNER // Weitergabe an Partner\n}\n\nenum ConsentStatus {\n GRANTED\n WITHDRAWN\n PENDING\n}\n\nmodel CustomerConsent {\n id Int @id @default(autoincrement())\n customerId Int\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n consentType ConsentType\n status ConsentStatus @default(PENDING)\n\n grantedAt DateTime?\n withdrawnAt DateTime?\n source String? // \"portal\", \"telefon\", \"papier\", \"email\"\n documentPath String? // Unterschriebenes Dokument\n version String? // Version der Datenschutzerklärung\n ipAddress String?\n\n createdBy String // User der die Einwilligung erfasst hat\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([customerId, consentType])\n @@index([customerId])\n @@index([consentType])\n @@index([status])\n}\n\n// ==================== DATA DELETION REQUESTS (DSGVO) ====================\n\nenum DeletionRequestStatus {\n PENDING // Anfrage eingegangen\n IN_PROGRESS // Wird bearbeitet\n COMPLETED // Abgeschlossen\n PARTIALLY_COMPLETED // Teildaten behalten (rechtliche Gründe)\n REJECTED // Abgelehnt\n}\n\nmodel DataDeletionRequest {\n id Int @id @default(autoincrement())\n customerId Int\n\n status DeletionRequestStatus @default(PENDING)\n requestedAt DateTime @default(now())\n requestSource String // \"email\", \"portal\", \"brief\"\n requestedBy String // Wer hat angefragt\n\n processedAt DateTime?\n processedBy String? // Mitarbeiter der bearbeitet hat\n\n deletedData String? @db.LongText // JSON: Was wurde gelöscht\n retainedData String? @db.LongText // JSON: Was wurde behalten + Grund\n retentionReason String? @db.Text // Begründung für Aufbewahrung\n\n proofDocument String? // Pfad zum Löschnachweis-PDF\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([customerId])\n @@index([status])\n @@index([requestedAt])\n}\n\n// ==================== AUDIT RETENTION POLICIES ====================\n\nmodel AuditRetentionPolicy {\n id Int @id @default(autoincrement())\n resourceType String // \"*\" für Standard, oder spezifischer Model-Name\n sensitivity AuditSensitivity?\n retentionDays Int // Aufbewahrungsfrist in Tagen (z.B. 3650 = 10 Jahre)\n description String?\n legalBasis String? // Gesetzliche Grundlage (z.B. \"AO §147\", \"HGB §257\")\n isActive Boolean @default(true)\n\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([resourceType, sensitivity])\n}\n", + "inlineSchemaHash": "a5343cc33c8e79d5345d9fa49cf39e127515138cef726b4c49dcf00bde234fb9", "copyEngine": true } @@ -925,7 +941,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"EmailLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"context\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggeredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpUser\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpResponse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sentAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AppSetting\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenInvalidatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"whatsappNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telegramUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signalNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Role\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"users\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Permission\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"resource\",\"action\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resource\",\"action\"]}],\"isGenerated\":false},\"RolePermission\":{\"dbName\":null,\"fields\":[{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permission\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Permission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[\"permissionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"roleId\",\"permissionId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserRole\":{\"dbName\":null,\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"userId\",\"roleId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Customer\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"CustomerType\",\"default\":\"PRIVATE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salutation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"foundingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthPlace\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taxNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"businessRegistrationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"privacyPolicyPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEnabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalLastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocuments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representingFor\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representedBy\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsGiven\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsReceived\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consents\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerConsent\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerRepresentative\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"RepresentativeAuthorization\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isGranted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"Address\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AddressType\",\"default\":\"DELIVERY_RESIDENCE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"street\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"houseNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"postalCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"Deutschland\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsDelivery\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsBilling\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BankCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accountHolder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iban\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"IdentityDocument\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DocumentType\",\"default\":\"ID_CARD\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuingAuthority\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseClasses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseIssueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EmailProviderConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EmailProviderType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"domain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultForwardEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":993,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":465,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"allowSelfSignedCerts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"StressfreiEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isProvisioned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasMailbox\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cachedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"folder\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"EmailFolder\",\"default\":\"INBOX\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ccAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"textBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"htmlBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasAttachments\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attachmentNames\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"SetNull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutoAssigned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isRead\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isStarred\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDeleted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stressfreiEmailId\",\"messageId\",\"folder\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stressfreiEmailId\",\"messageId\",\"folder\"]}],\"isGenerated\":false},\"Meter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffModel\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterTariffModel\",\"default\":\"SINGLE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterReading\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MeterReading\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"kWh\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reportedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterReadingStatus\",\"default\":\"RECORDED\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SalesPlatform\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contactInfo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CancellationPeriod\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractDuration\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Provider\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usernameFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffs\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tariff\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"providerId\",\"name\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"providerId\",\"name\"]}],\"isGenerated\":false},\"ContractCategory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"color\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Contract\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractStatus\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategoryId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategory\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractCategory\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[\"contractCategoryId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[\"addressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddress\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[\"billingAddressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCardId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCard\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[\"bankCardId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocumentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocument\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[\"identityDocumentId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatformId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatform\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SalesPlatform\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[\"salesPlatformId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriodId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriod\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CancellationPeriod\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[\"cancellationPeriodId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDurationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDuration\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractDuration\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[\"contractDurationId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[\"previousContractId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"followUpContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[\"previousProviderId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariff\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[\"tariffId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFirst12Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFrom13Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceAfter24Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wasSpecialCancellation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextReviewDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TvContractDetails\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"carInsuranceDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CarInsuranceDetails\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"historyEntries\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractHistoryEntry\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractHistoryEntry\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutomatic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"visibleInPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subtasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTaskSubtask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTaskSubtask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"task\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[\"taskId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EnergyContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maloId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumptionKwh\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basePrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPriceNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bonus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Invoice\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractMeter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"removedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"finalReading\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"energyContractDetailsId\",\"meterId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"energyContractDetailsId\",\"meterId\"]}],\"isGenerated\":false},\"Invoice\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InvoiceType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"InternetContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"downloadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uploadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerSerialNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activationCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumbers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PhoneNumber\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PhoneNumber\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[\"internetContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MobileContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiresMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataVolume\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedMinutes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedSMS\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceImei\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SimCard\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SimCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[\"mobileDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"puk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiverModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smartcardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"package\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CarInsuranceDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licensePlate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vehicleType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstRegistration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noClaimsClass\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"insuranceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"InsuranceType\",\"default\":\"LIABILITY\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductiblePartial\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductibleFull\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"policyNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousInsurer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userRole\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isCustomerPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditAction\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AuditSensitivity\",\"default\":\"MEDIUM\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceLabel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"httpMethod\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesBefore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesAfter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataSubjectId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerConsent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ConsentType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ConsentStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"consentType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"consentType\"]}],\"isGenerated\":false},\"DataDeletionRequest\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DeletionRequestStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retainedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proofDocument\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditRetentionPolicy\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditSensitivity\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionDays\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"resourceType\",\"sensitivity\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resourceType\",\"sensitivity\"]}],\"isGenerated\":false}},\"enums\":{\"CustomerType\":{\"values\":[{\"name\":\"PRIVATE\",\"dbName\":null},{\"name\":\"BUSINESS\",\"dbName\":null}],\"dbName\":null},\"AddressType\":{\"values\":[{\"name\":\"DELIVERY_RESIDENCE\",\"dbName\":null},{\"name\":\"BILLING\",\"dbName\":null}],\"dbName\":null},\"DocumentType\":{\"values\":[{\"name\":\"ID_CARD\",\"dbName\":null},{\"name\":\"PASSPORT\",\"dbName\":null},{\"name\":\"DRIVERS_LICENSE\",\"dbName\":null},{\"name\":\"OTHER\",\"dbName\":null}],\"dbName\":null},\"EmailProviderType\":{\"values\":[{\"name\":\"PLESK\",\"dbName\":null},{\"name\":\"CPANEL\",\"dbName\":null},{\"name\":\"DIRECTADMIN\",\"dbName\":null}],\"dbName\":null},\"MailEncryption\":{\"values\":[{\"name\":\"SSL\",\"dbName\":null},{\"name\":\"STARTTLS\",\"dbName\":null},{\"name\":\"NONE\",\"dbName\":null}],\"dbName\":null},\"EmailFolder\":{\"values\":[{\"name\":\"INBOX\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null}],\"dbName\":null},\"MeterType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null}],\"dbName\":null},\"MeterTariffModel\":{\"values\":[{\"name\":\"SINGLE\",\"dbName\":null},{\"name\":\"DUAL\",\"dbName\":null}],\"dbName\":null},\"MeterReadingStatus\":{\"values\":[{\"name\":\"RECORDED\",\"dbName\":null},{\"name\":\"REPORTED\",\"dbName\":null},{\"name\":\"TRANSFERRED\",\"dbName\":null}],\"dbName\":null},\"ContractType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null},{\"name\":\"DSL\",\"dbName\":null},{\"name\":\"CABLE\",\"dbName\":null},{\"name\":\"FIBER\",\"dbName\":null},{\"name\":\"MOBILE\",\"dbName\":null},{\"name\":\"TV\",\"dbName\":null},{\"name\":\"CAR_INSURANCE\",\"dbName\":null}],\"dbName\":null},\"ContractStatus\":{\"values\":[{\"name\":\"DRAFT\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"EXPIRED\",\"dbName\":null},{\"name\":\"DEACTIVATED\",\"dbName\":null}],\"dbName\":null},\"ContractTaskStatus\":{\"values\":[{\"name\":\"OPEN\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"InvoiceType\":{\"values\":[{\"name\":\"INTERIM\",\"dbName\":null},{\"name\":\"FINAL\",\"dbName\":null},{\"name\":\"NOT_AVAILABLE\",\"dbName\":null}],\"dbName\":null},\"InsuranceType\":{\"values\":[{\"name\":\"LIABILITY\",\"dbName\":null},{\"name\":\"PARTIAL\",\"dbName\":null},{\"name\":\"FULL\",\"dbName\":null}],\"dbName\":null},\"AuditAction\":{\"values\":[{\"name\":\"CREATE\",\"dbName\":null},{\"name\":\"READ\",\"dbName\":null},{\"name\":\"UPDATE\",\"dbName\":null},{\"name\":\"DELETE\",\"dbName\":null},{\"name\":\"EXPORT\",\"dbName\":null},{\"name\":\"ANONYMIZE\",\"dbName\":null},{\"name\":\"LOGIN\",\"dbName\":null},{\"name\":\"LOGOUT\",\"dbName\":null},{\"name\":\"LOGIN_FAILED\",\"dbName\":null}],\"dbName\":null},\"AuditSensitivity\":{\"values\":[{\"name\":\"LOW\",\"dbName\":null},{\"name\":\"MEDIUM\",\"dbName\":null},{\"name\":\"HIGH\",\"dbName\":null},{\"name\":\"CRITICAL\",\"dbName\":null}],\"dbName\":null},\"ConsentType\":{\"values\":[{\"name\":\"DATA_PROCESSING\",\"dbName\":null},{\"name\":\"MARKETING_EMAIL\",\"dbName\":null},{\"name\":\"MARKETING_PHONE\",\"dbName\":null},{\"name\":\"DATA_SHARING_PARTNER\",\"dbName\":null}],\"dbName\":null},\"ConsentStatus\":{\"values\":[{\"name\":\"GRANTED\",\"dbName\":null},{\"name\":\"WITHDRAWN\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null}],\"dbName\":null},\"DeletionRequestStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"IN_PROGRESS\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"PARTIALLY_COMPLETED\",\"dbName\":null},{\"name\":\"REJECTED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"EmailLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"context\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"triggeredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpUser\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpResponse\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sentAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AppSetting\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"key\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"User\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tokenInvalidatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"whatsappNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telegramUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"signalNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Role\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"users\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"UserRole\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Permission\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RolePermission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"resource\",\"action\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resource\",\"action\"]}],\"isGenerated\":false},\"RolePermission\":{\"dbName\":null,\"fields\":[{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permissionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToRolePermission\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"permission\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Permission\",\"relationName\":\"PermissionToRolePermission\",\"relationFromFields\":[\"permissionId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"roleId\",\"permissionId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"UserRole\":{\"dbName\":null,\"fields\":[{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roleId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"UserToUserRole\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Role\",\"relationName\":\"RoleToUserRole\",\"relationFromFields\":[\"roleId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"userId\",\"roleId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Customer\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"CustomerType\",\"default\":\"PRIVATE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salutation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lastName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"companyName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"foundingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"birthPlace\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobile\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taxNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"businessRegistrationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commercialRegisterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"privacyPolicyPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEnabled\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalLastLogin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"relationName\":\"CustomerToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocuments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representingFor\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representedBy\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerRepresentative\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsGiven\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authorizationsReceived\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"RepresentativeAuthorization\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consents\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerConsent\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerRepresentative\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentedCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"RepresentativeCustomer\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"RepresentativeAuthorization\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representativeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"representative\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AuthorizationRepresentative\",\"relationFromFields\":[\"representativeId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isGranted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"representativeId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"representativeId\"]}],\"isGenerated\":false},\"Address\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"AddressToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AddressType\",\"default\":\"DELIVERY_RESIDENCE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"street\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"houseNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"postalCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"Deutschland\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsDelivery\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractsAsBilling\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"BankCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"BankCardToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"accountHolder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"iban\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"IdentityDocument\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToIdentityDocument\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DocumentType\",\"default\":\"ID_CARD\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issuingAuthority\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"issueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiryDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseClasses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licenseIssueDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EmailProviderConfig\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EmailProviderType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"username\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"domain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultForwardEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":993,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpPort\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":465,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"imapEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smtpEncryption\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MailEncryption\",\"default\":\"SSL\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"allowSelfSignedCerts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"systemEmailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDefault\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"StressfreiEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToStressfreiEmail\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"platform\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isProvisioned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provisionError\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasMailbox\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"emailPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cachedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CachedEmail\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"CachedEmailToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"folder\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"EmailFolder\",\"default\":\"INBOX\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"messageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uid\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subject\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fromName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"toAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ccAddresses\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receivedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"textBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"htmlBody\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hasAttachments\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attachmentNames\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"SetNull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutoAssigned\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isRead\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isStarred\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isDeleted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"stressfreiEmailId\",\"messageId\",\"folder\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"stressfreiEmailId\",\"messageId\",\"folder\"]}],\"isGenerated\":false},\"Meter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToMeter\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffModel\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterTariffModel\",\"default\":\"SINGLE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"location\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MeterReading\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MeterReading\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"MeterToMeterReading\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"readingDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"value\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"valueNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unit\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"kWh\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"reportedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MeterReadingStatus\",\"default\":\"RECORDED\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"transferredBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SalesPlatform\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contactInfo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CancellationPeriod\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractDuration\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Provider\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"usernameFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"passwordFieldName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffs\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Tariff\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ProviderToTariff\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"providerId\",\"name\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"providerId\",\"name\"]}],\"isGenerated\":false},\"ContractCategory\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"color\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contracts\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Contract\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"ContractToCustomer\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractStatus\",\"default\":\"DRAFT\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategoryId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractCategory\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractCategory\",\"relationName\":\"ContractToContractCategory\",\"relationFromFields\":[\"contractCategoryId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"address\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"DeliveryAddress\",\"relationFromFields\":[\"addressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddressId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"billingAddress\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Address\",\"relationName\":\"BillingAddress\",\"relationFromFields\":[\"billingAddressId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCardId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bankCard\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"BankCard\",\"relationName\":\"BankCardToContract\",\"relationFromFields\":[\"bankCardId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocumentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"identityDocument\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"IdentityDocument\",\"relationName\":\"ContractToIdentityDocument\",\"relationFromFields\":[\"identityDocumentId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatformId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesPlatform\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SalesPlatform\",\"relationName\":\"ContractToSalesPlatform\",\"relationFromFields\":[\"salesPlatformId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriodId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationPeriod\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CancellationPeriod\",\"relationName\":\"CancellationPeriodToContract\",\"relationFromFields\":[\"cancellationPeriodId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDurationId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractDuration\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractDuration\",\"relationName\":\"ContractToContractDuration\",\"relationFromFields\":[\"contractDurationId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[\"previousContractId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"followUpContract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractHistory\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProvider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"PreviousProvider\",\"relationFromFields\":[\"previousProviderId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousContractNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"provider\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Provider\",\"relationName\":\"ContractToProvider\",\"relationFromFields\":[\"providerId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariff\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Tariff\",\"relationName\":\"ContractToTariff\",\"relationFromFields\":[\"tariffId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"providerName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tariffName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractNumberAtProvider\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFirst12Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceFrom13Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"priceAfter24Months\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"startDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"commission\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationLetterOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cancellationConfirmationOptionsDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"wasSpecialCancellation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"portalPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmailId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stressfreiEmail\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"StressfreiEmail\",\"relationName\":\"ContractToStressfreiEmail\",\"relationFromFields\":[\"stressfreiEmailId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"nextReviewDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tvDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TvContractDetails\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"carInsuranceDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CarInsuranceDetails\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assignedEmails\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CachedEmail\",\"relationName\":\"CachedEmailToContract\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"historyEntries\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractHistoryEntry\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documents\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractDocument\",\"relationName\":\"ContractToContractDocument\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Invoice\",\"relationName\":\"ContractToInvoice\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractDocument\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractDocument\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"originalName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uploadedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractHistoryEntry\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractHistoryEntry\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isAutomatic\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToContractTask\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"visibleInPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"subtasks\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTaskSubtask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractTaskSubtask\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"taskId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"task\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractTask\",\"relationName\":\"ContractTaskToContractTaskSubtask\",\"relationFromFields\":[\"taskId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ContractTaskStatus\",\"default\":\"OPEN\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"EnergyContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToEnergyContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"EnergyContractDetailsToMeter\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"maloId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumption\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"annualConsumptionKwh\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"basePrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPrice\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"unitPriceNt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bonus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousProviderName\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousCustomerNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoices\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Invoice\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractMeters\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ContractMeter\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"ContractMeter\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"ContractMeterToEnergyContractDetails\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meterId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"meter\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Meter\",\"relationName\":\"ContractMeters\",\"relationFromFields\":[\"meterId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"removedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"finalReading\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"energyContractDetailsId\",\"meterId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"energyContractDetailsId\",\"meterId\"]}],\"isGenerated\":false},\"Invoice\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"energyContractDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EnergyContractDetails\",\"relationName\":\"EnergyContractDetailsToInvoice\",\"relationFromFields\":[\"energyContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToInvoice\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"invoiceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InvoiceType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"notes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"InternetContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToInternetContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"downloadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"uploadSpeed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"routerSerialNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"installationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"propertyType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"propertyLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"connectionLocation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"activationCode\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumbers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PhoneNumber\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PhoneNumber\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetContractDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"internetDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"InternetContractDetails\",\"relationName\":\"InternetContractDetailsToPhoneNumber\",\"relationFromFields\":[\"internetContractDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipUsername\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipPasswordEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sipServer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MobileContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToMobileContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requiresMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataVolume\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedMinutes\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"includedSMS\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deviceImei\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SimCard\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"SimCard\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetailsId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"mobileDetails\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MobileContractDetails\",\"relationName\":\"MobileContractDetailsToSimCard\",\"relationFromFields\":[\"mobileDetailsId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"simCardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"pin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"puk\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMultisim\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TvContractDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"ContractToTvContractDetails\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"receiverModel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"smartcardNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"package\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CarInsuranceDetails\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contractId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contract\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Contract\",\"relationName\":\"CarInsuranceDetailsToContract\",\"relationFromFields\":[\"contractId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"licensePlate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"tsn\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vin\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"vehicleType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"firstRegistration\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"noClaimsClass\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"insuranceType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"InsuranceType\",\"default\":\"LIABILITY\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductiblePartial\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deductibleFull\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"policyNumber\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousInsurer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditLog\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userEmail\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userRole\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isCustomerPortal\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"action\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditAction\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"AuditSensitivity\",\"default\":\"MEDIUM\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceLabel\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"endpoint\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"httpMethod\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesBefore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesAfter\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"changesEncrypted\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"dataSubjectId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"success\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"hash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"previousHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"CustomerConsent\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CustomerToCustomerConsent\",\"relationFromFields\":[\"customerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consentType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"ConsentType\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"ConsentStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"grantedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"withdrawnAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"source\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"documentPath\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"customerId\",\"consentType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"customerId\",\"consentType\"]}],\"isGenerated\":false},\"DataDeletionRequest\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DeletionRequestStatus\",\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestSource\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"requestedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"processedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deletedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retainedData\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionReason\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"proofDocument\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"AuditRetentionPolicy\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"resourceType\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sensitivity\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"AuditSensitivity\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"retentionDays\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"legalBasis\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[[\"resourceType\",\"sensitivity\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"resourceType\",\"sensitivity\"]}],\"isGenerated\":false}},\"enums\":{\"CustomerType\":{\"values\":[{\"name\":\"PRIVATE\",\"dbName\":null},{\"name\":\"BUSINESS\",\"dbName\":null}],\"dbName\":null},\"AddressType\":{\"values\":[{\"name\":\"DELIVERY_RESIDENCE\",\"dbName\":null},{\"name\":\"BILLING\",\"dbName\":null}],\"dbName\":null},\"DocumentType\":{\"values\":[{\"name\":\"ID_CARD\",\"dbName\":null},{\"name\":\"PASSPORT\",\"dbName\":null},{\"name\":\"DRIVERS_LICENSE\",\"dbName\":null},{\"name\":\"OTHER\",\"dbName\":null}],\"dbName\":null},\"EmailProviderType\":{\"values\":[{\"name\":\"PLESK\",\"dbName\":null},{\"name\":\"CPANEL\",\"dbName\":null},{\"name\":\"DIRECTADMIN\",\"dbName\":null}],\"dbName\":null},\"MailEncryption\":{\"values\":[{\"name\":\"SSL\",\"dbName\":null},{\"name\":\"STARTTLS\",\"dbName\":null},{\"name\":\"NONE\",\"dbName\":null}],\"dbName\":null},\"EmailFolder\":{\"values\":[{\"name\":\"INBOX\",\"dbName\":null},{\"name\":\"SENT\",\"dbName\":null}],\"dbName\":null},\"MeterType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null}],\"dbName\":null},\"MeterTariffModel\":{\"values\":[{\"name\":\"SINGLE\",\"dbName\":null},{\"name\":\"DUAL\",\"dbName\":null}],\"dbName\":null},\"MeterReadingStatus\":{\"values\":[{\"name\":\"RECORDED\",\"dbName\":null},{\"name\":\"REPORTED\",\"dbName\":null},{\"name\":\"TRANSFERRED\",\"dbName\":null}],\"dbName\":null},\"ContractType\":{\"values\":[{\"name\":\"ELECTRICITY\",\"dbName\":null},{\"name\":\"GAS\",\"dbName\":null},{\"name\":\"DSL\",\"dbName\":null},{\"name\":\"CABLE\",\"dbName\":null},{\"name\":\"FIBER\",\"dbName\":null},{\"name\":\"MOBILE\",\"dbName\":null},{\"name\":\"TV\",\"dbName\":null},{\"name\":\"CAR_INSURANCE\",\"dbName\":null}],\"dbName\":null},\"ContractStatus\":{\"values\":[{\"name\":\"DRAFT\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"CANCELLED\",\"dbName\":null},{\"name\":\"EXPIRED\",\"dbName\":null},{\"name\":\"DEACTIVATED\",\"dbName\":null}],\"dbName\":null},\"ContractTaskStatus\":{\"values\":[{\"name\":\"OPEN\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null}],\"dbName\":null},\"InvoiceType\":{\"values\":[{\"name\":\"INTERIM\",\"dbName\":null},{\"name\":\"FINAL\",\"dbName\":null},{\"name\":\"NOT_AVAILABLE\",\"dbName\":null}],\"dbName\":null},\"InsuranceType\":{\"values\":[{\"name\":\"LIABILITY\",\"dbName\":null},{\"name\":\"PARTIAL\",\"dbName\":null},{\"name\":\"FULL\",\"dbName\":null}],\"dbName\":null},\"AuditAction\":{\"values\":[{\"name\":\"CREATE\",\"dbName\":null},{\"name\":\"READ\",\"dbName\":null},{\"name\":\"UPDATE\",\"dbName\":null},{\"name\":\"DELETE\",\"dbName\":null},{\"name\":\"EXPORT\",\"dbName\":null},{\"name\":\"ANONYMIZE\",\"dbName\":null},{\"name\":\"LOGIN\",\"dbName\":null},{\"name\":\"LOGOUT\",\"dbName\":null},{\"name\":\"LOGIN_FAILED\",\"dbName\":null}],\"dbName\":null},\"AuditSensitivity\":{\"values\":[{\"name\":\"LOW\",\"dbName\":null},{\"name\":\"MEDIUM\",\"dbName\":null},{\"name\":\"HIGH\",\"dbName\":null},{\"name\":\"CRITICAL\",\"dbName\":null}],\"dbName\":null},\"ConsentType\":{\"values\":[{\"name\":\"DATA_PROCESSING\",\"dbName\":null},{\"name\":\"MARKETING_EMAIL\",\"dbName\":null},{\"name\":\"MARKETING_PHONE\",\"dbName\":null},{\"name\":\"DATA_SHARING_PARTNER\",\"dbName\":null}],\"dbName\":null},\"ConsentStatus\":{\"values\":[{\"name\":\"GRANTED\",\"dbName\":null},{\"name\":\"WITHDRAWN\",\"dbName\":null},{\"name\":\"PENDING\",\"dbName\":null}],\"dbName\":null},\"DeletionRequestStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"IN_PROGRESS\",\"dbName\":null},{\"name\":\"COMPLETED\",\"dbName\":null},{\"name\":\"PARTIALLY_COMPLETED\",\"dbName\":null},{\"name\":\"REJECTED\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined diff --git a/backend/node_modules/.prisma/client/package.json b/backend/node_modules/.prisma/client/package.json index 8b0393ea..95345f83 100644 --- a/backend/node_modules/.prisma/client/package.json +++ b/backend/node_modules/.prisma/client/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-45a91d7556f300a75a0048d27fac6a72915779fc4e5c2234b54fe3547ddb1605", + "name": "prisma-client-f8de59fafbd0672a88c2a8e39308517de72556670ae690a7d472709948465d02", "main": "index.js", "types": "index.d.ts", "browser": "index-browser.js", diff --git a/backend/node_modules/.prisma/client/schema.prisma b/backend/node_modules/.prisma/client/schema.prisma index 57fcd208..d75fb094 100644 --- a/backend/node_modules/.prisma/client/schema.prisma +++ b/backend/node_modules/.prisma/client/schema.prisma @@ -656,11 +656,29 @@ model Contract { tasks ContractTask[] assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client historyEntries ContractHistoryEntry[] + documents ContractDocument[] + invoices Invoice[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } +// ==================== CONTRACT DOCUMENTS ==================== + +model ContractDocument { + id Int @id @default(autoincrement()) + contractId Int + contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade) + documentType String // Auftragsformular, Lieferbestätigung, etc. + documentPath String // Dateipfad + originalName String // Originaler Dateiname + notes String? @db.Text + uploadedBy String? // Wer hat hochgeladen + createdAt DateTime @default(now()) + + @@index([contractId]) +} + // ==================== CONTRACT HISTORY ==================== model ContractHistoryEntry { @@ -752,17 +770,20 @@ model ContractMeter { } model Invoice { - id Int @id @default(autoincrement()) - energyContractDetailsId Int - energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade) + id Int @id @default(autoincrement()) + energyContractDetailsId Int? + energyContractDetails EnergyContractDetails? @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade) + contractId Int? + contract Contract? @relation(fields: [contractId], references: [id], onDelete: Cascade) invoiceDate DateTime invoiceType InvoiceType documentPath String? // Pflicht, außer bei NOT_AVAILABLE notes String? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt @@index([energyContractDetailsId]) + @@index([contractId]) } // ==================== INTERNET CONTRACT DETAILS ==================== @@ -779,6 +800,10 @@ model InternetContractDetails { // Internet-Zugangsdaten internetUsername String? internetPasswordEncrypted String? // Verschlüsselt gespeichert + // Objekt & Lage + propertyType String? // Objekttyp (Mehrparteienhaus, Freistehendes Haus, etc.) + propertyLocation String? // Lage (Erdgeschoss, OG1, etc.) + connectionLocation String? // Lage des Anschlusses (Flur, HWR, etc.) // Glasfaser-spezifisch homeId String? // Vodafone DSL/Kabel spezifisch diff --git a/backend/node_modules/.prisma/client/wasm.js b/backend/node_modules/.prisma/client/wasm.js index 2b03ffa2..b4786a48 100644 --- a/backend/node_modules/.prisma/client/wasm.js +++ b/backend/node_modules/.prisma/client/wasm.js @@ -488,6 +488,17 @@ exports.Prisma.ContractScalarFieldEnum = { updatedAt: 'updatedAt' }; +exports.Prisma.ContractDocumentScalarFieldEnum = { + id: 'id', + contractId: 'contractId', + documentType: 'documentType', + documentPath: 'documentPath', + originalName: 'originalName', + notes: 'notes', + uploadedBy: 'uploadedBy', + createdAt: 'createdAt' +}; + exports.Prisma.ContractHistoryEntryScalarFieldEnum = { id: 'id', contractId: 'contractId', @@ -551,6 +562,7 @@ exports.Prisma.ContractMeterScalarFieldEnum = { exports.Prisma.InvoiceScalarFieldEnum = { id: 'id', energyContractDetailsId: 'energyContractDetailsId', + contractId: 'contractId', invoiceDate: 'invoiceDate', invoiceType: 'invoiceType', documentPath: 'documentPath', @@ -569,6 +581,9 @@ exports.Prisma.InternetContractDetailsScalarFieldEnum = { installationDate: 'installationDate', internetUsername: 'internetUsername', internetPasswordEncrypted: 'internetPasswordEncrypted', + propertyType: 'propertyType', + propertyLocation: 'propertyLocation', + connectionLocation: 'connectionLocation', homeId: 'homeId', activationCode: 'activationCode' }; @@ -870,6 +885,7 @@ exports.Prisma.ModelName = { Tariff: 'Tariff', ContractCategory: 'ContractCategory', Contract: 'Contract', + ContractDocument: 'ContractDocument', ContractHistoryEntry: 'ContractHistoryEntry', ContractTask: 'ContractTask', ContractTaskSubtask: 'ContractTaskSubtask', diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index 84efbe78..9c1915b7 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -656,11 +656,29 @@ model Contract { tasks ContractTask[] assignedEmails CachedEmail[] // Zugeordnete E-Mails aus dem E-Mail-Client historyEntries ContractHistoryEntry[] + documents ContractDocument[] + invoices Invoice[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } +// ==================== CONTRACT DOCUMENTS ==================== + +model ContractDocument { + id Int @id @default(autoincrement()) + contractId Int + contract Contract @relation(fields: [contractId], references: [id], onDelete: Cascade) + documentType String // Auftragsformular, Lieferbestätigung, etc. + documentPath String // Dateipfad + originalName String // Originaler Dateiname + notes String? @db.Text + uploadedBy String? // Wer hat hochgeladen + createdAt DateTime @default(now()) + + @@index([contractId]) +} + // ==================== CONTRACT HISTORY ==================== model ContractHistoryEntry { @@ -753,8 +771,10 @@ model ContractMeter { model Invoice { id Int @id @default(autoincrement()) - energyContractDetailsId Int - energyContractDetails EnergyContractDetails @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade) + energyContractDetailsId Int? + energyContractDetails EnergyContractDetails? @relation(fields: [energyContractDetailsId], references: [id], onDelete: Cascade) + contractId Int? + contract Contract? @relation(fields: [contractId], references: [id], onDelete: Cascade) invoiceDate DateTime invoiceType InvoiceType documentPath String? // Pflicht, außer bei NOT_AVAILABLE @@ -763,6 +783,7 @@ model Invoice { updatedAt DateTime @updatedAt @@index([energyContractDetailsId]) + @@index([contractId]) } // ==================== INTERNET CONTRACT DETAILS ==================== @@ -779,6 +800,10 @@ model InternetContractDetails { // Internet-Zugangsdaten internetUsername String? internetPasswordEncrypted String? // Verschlüsselt gespeichert + // Objekt & Lage + propertyType String? // Objekttyp (Mehrparteienhaus, Freistehendes Haus, etc.) + propertyLocation String? // Lage (Erdgeschoss, OG1, etc.) + connectionLocation String? // Lage des Anschlusses (Flur, HWR, etc.) // Glasfaser-spezifisch homeId String? // Vodafone DSL/Kabel spezifisch diff --git a/backend/src/controllers/contract.controller.ts b/backend/src/controllers/contract.controller.ts index 0605f452..ca0cb298 100644 --- a/backend/src/controllers/contract.controller.ts +++ b/backend/src/controllers/contract.controller.ts @@ -410,6 +410,105 @@ export async function removeContractMeter(req: AuthRequest, res: Response): Prom } } +// ==================== VERTRAGSDOKUMENTE ==================== + +export async function getContractDocuments(req: AuthRequest, res: Response): Promise { + try { + const contractId = parseInt(req.params.id); + const documents = await prisma.contractDocument.findMany({ + where: { contractId }, + orderBy: { createdAt: 'desc' }, + }); + res.json({ success: true, data: documents } as ApiResponse); + } catch (error) { + res.status(500).json({ success: false, error: 'Fehler beim Laden der Dokumente' } as ApiResponse); + } +} + +export async function uploadContractDocument(req: AuthRequest, res: Response): Promise { + try { + const contractId = parseInt(req.params.id); + const { documentType, notes } = req.body; + + if (!req.file) { + res.status(400).json({ success: false, error: 'Keine Datei hochgeladen' } as ApiResponse); + return; + } + + if (!documentType) { + res.status(400).json({ success: false, error: 'Dokumenttyp erforderlich' } as ApiResponse); + return; + } + + const documentPath = `/uploads/contract-documents/${req.file.filename}`; + const doc = await prisma.contractDocument.create({ + data: { + contractId, + documentType, + documentPath, + originalName: req.file.originalname, + notes: notes || null, + uploadedBy: req.user?.email, + }, + }); + + const contract = await prisma.contract.findUnique({ where: { id: contractId }, select: { contractNumber: true, customerId: true } }); + await logChange({ + req, action: 'CREATE', resourceType: 'ContractDocument', + resourceId: doc.id.toString(), + label: `Dokument "${documentType}" hochgeladen für Vertrag ${contract?.contractNumber}`, + details: { typ: documentType, datei: req.file.originalname }, + customerId: contract?.customerId, + }); + + res.status(201).json({ success: true, data: doc } as ApiResponse); + } catch (error) { + res.status(400).json({ + success: false, + error: error instanceof Error ? error.message : 'Fehler beim Hochladen', + } as ApiResponse); + } +} + +export async function deleteContractDocument(req: AuthRequest, res: Response): Promise { + try { + const documentId = parseInt(req.params.documentId); + const contractId = parseInt(req.params.id); + + const doc = await prisma.contractDocument.findUnique({ where: { id: documentId } }); + if (!doc || doc.contractId !== contractId) { + res.status(404).json({ success: false, error: 'Dokument nicht gefunden' } as ApiResponse); + return; + } + + // Datei löschen + const fs = await import('fs'); + const path = await import('path'); + const filePath = path.join(process.cwd(), doc.documentPath); + if (fs.existsSync(filePath)) { + fs.unlinkSync(filePath); + } + + await prisma.contractDocument.delete({ where: { id: documentId } }); + + const contract = await prisma.contract.findUnique({ where: { id: contractId }, select: { contractNumber: true, customerId: true } }); + await logChange({ + req, action: 'DELETE', resourceType: 'ContractDocument', + resourceId: documentId.toString(), + label: `Dokument "${doc.documentType}" gelöscht von Vertrag ${contract?.contractNumber}`, + details: { typ: doc.documentType, datei: doc.originalName }, + customerId: contract?.customerId, + }); + + res.json({ success: true, message: 'Dokument gelöscht' } as ApiResponse); + } catch (error) { + res.status(400).json({ + success: false, + error: error instanceof Error ? error.message : 'Fehler beim Löschen', + } as ApiResponse); + } +} + // ==================== SNOOZE (VERTRAG ZURÜCKSTELLEN) ==================== export async function snoozeContract(req: Request, res: Response): Promise { diff --git a/backend/src/controllers/invoice.controller.ts b/backend/src/controllers/invoice.controller.ts index 3dd9a0b9..919e7d2e 100644 --- a/backend/src/controllers/invoice.controller.ts +++ b/backend/src/controllers/invoice.controller.ts @@ -143,3 +143,38 @@ export async function deleteInvoice(req: Request, res: Response): Promise } as ApiResponse); } } + +// ==================== CONTRACT-BASIERTE RECHNUNGEN (für alle Vertragstypen) ==================== + +export async function getInvoicesByContract(req: Request, res: Response): Promise { + try { + const contractId = parseInt(req.params.id); + const invoices = await invoiceService.getInvoicesByContract(contractId); + res.json({ success: true, data: invoices } as ApiResponse); + } catch (error) { + res.status(500).json({ success: false, error: 'Fehler beim Laden der Rechnungen' } as ApiResponse); + } +} + +export async function addInvoiceByContract(req: Request, res: Response): Promise { + try { + const contractId = parseInt(req.params.id); + const { invoiceDate, invoiceType, notes } = req.body; + const invoice = await invoiceService.addInvoiceByContract(contractId, { + invoiceDate: new Date(invoiceDate), + invoiceType, + 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) { + res.status(400).json({ + success: false, + error: error instanceof Error ? error.message : 'Fehler beim Hinzufügen', + } as ApiResponse); + } +} diff --git a/backend/src/routes/contract.routes.ts b/backend/src/routes/contract.routes.ts index 4eb76202..2bab4ecc 100644 --- a/backend/src/routes/contract.routes.ts +++ b/backend/src/routes/contract.routes.ts @@ -1,9 +1,34 @@ import { Router } from 'express'; +import multer from 'multer'; +import path from 'path'; +import fs from 'fs'; import * as contractController from '../controllers/contract.controller.js'; +import * as invoiceController from '../controllers/invoice.controller.js'; import { authenticate, requirePermission } from '../middleware/auth.js'; const router = Router(); +// Multer für Vertragsdokumente +const docUploadsDir = path.join(process.cwd(), 'uploads', 'contract-documents'); +if (!fs.existsSync(docUploadsDir)) { + fs.mkdirSync(docUploadsDir, { recursive: true }); +} +const docUpload = multer({ + storage: multer.diskStorage({ + destination: (_req, _file, cb) => cb(null, docUploadsDir), + filename: (_req, file, cb) => { + const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1e9); + cb(null, `doc-${uniqueSuffix}${path.extname(file.originalname)}`); + }, + }), + fileFilter: (_req, file, cb) => { + const allowed = ['application/pdf', 'image/jpeg', 'image/png', 'image/jpg']; + if (allowed.includes(file.mimetype)) cb(null, true); + else cb(new Error('Nur PDF, JPG und PNG Dateien sind erlaubt')); + }, + limits: { fileSize: 10 * 1024 * 1024 }, +}); + router.get('/', authenticate, requirePermission('contracts:read'), contractController.getContracts); router.post('/', authenticate, requirePermission('contracts:create'), contractController.createContract); @@ -20,6 +45,15 @@ router.post('/:id/follow-up', authenticate, requirePermission('contracts:create' // Snooze (Vertrag zurückstellen) router.patch('/:id/snooze', authenticate, requirePermission('contracts:update'), contractController.snoozeContract); +// Rechnungen (für alle Vertragstypen) +router.get('/:id/invoices', authenticate, requirePermission('contracts:read'), invoiceController.getInvoicesByContract); +router.post('/:id/invoices', authenticate, requirePermission('contracts:update'), invoiceController.addInvoiceByContract); + +// Vertragsdokumente +router.get('/:id/documents', authenticate, requirePermission('contracts:read'), contractController.getContractDocuments); +router.post('/:id/documents', authenticate, requirePermission('contracts:update'), docUpload.single('file'), contractController.uploadContractDocument); +router.delete('/:id/documents/:documentId', authenticate, requirePermission('contracts:update'), contractController.deleteContractDocument); + // Folgezähler router.post('/:id/successor-meter', authenticate, requirePermission('contracts:update'), contractController.addSuccessorMeter); router.delete('/:id/contract-meter/:contractMeterId', authenticate, requirePermission('contracts:update'), contractController.removeContractMeter); diff --git a/backend/src/services/contract.service.ts b/backend/src/services/contract.service.ts index f71e3201..2ba1354b 100644 --- a/backend/src/services/contract.service.ts +++ b/backend/src/services/contract.service.ts @@ -137,6 +137,8 @@ export async function getContractById(id: number, decryptPassword = false) { tvDetails: true, carInsuranceDetails: true, stressfreiEmail: true, + invoices: { orderBy: { invoiceDate: 'desc' as const } }, + documents: { orderBy: { createdAt: 'desc' as const } }, followUpContract: { select: { id: true, contractNumber: true, status: true }, }, @@ -210,6 +212,10 @@ interface ContractCreateData { // Internet-Zugangsdaten internetUsername?: string; internetPassword?: string; + // Objekt & Lage + propertyType?: string; + propertyLocation?: string; + connectionLocation?: string; // Glasfaser-spezifisch homeId?: string; // Vodafone DSL/Kabel spezifisch @@ -302,6 +308,9 @@ export async function createContract(data: ContractCreateData) { internetPasswordEncrypted: internetDetails.internetPassword ? encrypt(internetDetails.internetPassword) : undefined, + propertyType: internetDetails.propertyType, + propertyLocation: internetDetails.propertyLocation, + connectionLocation: internetDetails.connectionLocation, homeId: internetDetails.homeId, activationCode: internetDetails.activationCode, phoneNumbers: internetDetails.phoneNumbers && internetDetails.phoneNumbers.length > 0 @@ -462,6 +471,9 @@ export async function updateContract( ...(internetPassword ? { internetPasswordEncrypted: encrypt(internetPassword) } : {}), + propertyType: internetData.propertyType, + propertyLocation: internetData.propertyLocation, + connectionLocation: internetData.connectionLocation, homeId: internetData.homeId, activationCode: internetData.activationCode, }; diff --git a/backend/src/services/invoice.service.ts b/backend/src/services/invoice.service.ts index 9c40be2c..3099f013 100644 --- a/backend/src/services/invoice.service.ts +++ b/backend/src/services/invoice.service.ts @@ -59,6 +59,7 @@ export async function addInvoice(energyContractDetailsId: number, data: CreateIn return prisma.invoice.create({ data: { energyContractDetailsId, + contractId: energyDetails.contractId, invoiceDate: data.invoiceDate, invoiceType: data.invoiceType, documentPath: data.documentPath, @@ -67,6 +68,28 @@ export async function addInvoice(energyContractDetailsId: number, data: CreateIn }); } +/** + * Rechnung direkt über contractId hinzufügen (für alle Vertragstypen) + */ +export async function addInvoiceByContract(contractId: number, data: CreateInvoiceData) { + return prisma.invoice.create({ + data: { + contractId, + invoiceDate: data.invoiceDate, + invoiceType: data.invoiceType, + documentPath: data.documentPath, + notes: data.notes, + }, + }); +} + +export async function getInvoicesByContract(contractId: number) { + return prisma.invoice.findMany({ + where: { contractId }, + orderBy: { invoiceDate: 'desc' }, + }); +} + /** * Rechnung aktualisieren */ diff --git a/backend/todo.md b/backend/todo.md index 4f97b9c7..588adf77 100644 --- a/backend/todo.md +++ b/backend/todo.md @@ -2,6 +2,7 @@ Vertragliste bei Energie mit Anschlussadresse/Lieferadresse noch in der Liste Bei Mobilfunk die Mobilfunknummer und wenn vorhanden Karteninhaber Bei Festnetz, die Anschlussadresse/Lieferadresse Bei KFZ das Kennzeichen +# #erledigt Datenschutzerklärung wenn PDF hinterlegt wurde, alle Haken auf Grün setzten. @@ -11,6 +12,7 @@ Aktuell zählt das PDF als Alternative zu den Online-Haken. Du willst es so: PDF hochgeladen → alle 4 Online-Consents automatisch auf GRANTED setzen Kunde entfernt einen Haken im Portal → PDF löschen + Tabs sperren Entsperrung nur durch: alle Haken wieder setzen ODER neues PDF hochladen +# #erledigt Zweitarif (Gibt es auch 3 Tarifuzähler?) Zähler HT/NT bei Strom Zähler hinzufügen. @@ -21,24 +23,36 @@ Alle Datumsfelder mit 0 davor wenn es ne einstellige Zahl ist Jetzt : 1.1.2026 Und gewollt 01.01.2026 +# + #erledigt Die Auditmeldungen aussagekräftig - +# Email Log und system testen Sprich senden und Empfnagen +# Security System testen +# - +#erledigt 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 +# +Email datenschutzerklärung erst wenn alle hebel drin sind, auf einen bestätigungsbutton klicken, um sicherzustellen, das alle heben drin sind. +Danch bestätigen, nochmals eine Bestätigiguns emails enden +# + +Haben wir bei den Vertragen (also alle) kein Dokumentfeld zum Upload von, Auftragsformular, Lieferbestätigung, Vertragsunterlagen. +hier sind wieder png,pdf erlaubt +# \ No newline at end of file diff --git a/frontend/src/components/contracts/InvoicesSection.tsx b/frontend/src/components/contracts/InvoicesSection.tsx index e5466308..302abdb6 100644 --- a/frontend/src/components/contracts/InvoicesSection.tsx +++ b/frontend/src/components/contracts/InvoicesSection.tsx @@ -17,15 +17,17 @@ const invoiceTypeLabels: Record = { }; interface InvoicesSectionProps { - ecdId: number; // energyContractDetailsId + ecdId?: number; // energyContractDetailsId (optional - für Energie-Verträge) invoices: Invoice[]; contractId: number; canEdit: boolean; + showInvoiceWarnings?: boolean; // Warnungen für fehlende Schluss-/Zwischenrechnung (nur Energie) } export default function InvoicesSection({ ecdId, invoices, + showInvoiceWarnings = false, contractId, canEdit, }: InvoicesSectionProps) { @@ -35,9 +37,9 @@ export default function InvoicesSection({ const queryClient = useQueryClient(); const deleteInvoiceMutation = useMutation({ - mutationFn: (invoiceId: number) => invoiceApi.deleteInvoice(ecdId, invoiceId), + mutationFn: (invoiceId: number) => ecdId ? invoiceApi.deleteInvoice(ecdId, invoiceId) : invoiceApi.deleteInvoice(0, invoiceId), onSuccess: () => { - queryClient.invalidateQueries({ queryKey: ['contract', contractId.toString()] }); + queryClient.invalidateQueries({ queryKey: ['contract'] }); }, }); @@ -56,18 +58,18 @@ export default function InvoicesSection({

Rechnungen

{invoices.length} - {/* Status-Indicator */} - {hasFinalInvoice ? ( + {/* Status-Indicator (nur bei Energie-Verträgen) */} + {showInvoiceWarnings && hasFinalInvoice ? ( Schlussrechnung - ) : hasNotAvailable ? ( + ) : showInvoiceWarnings && hasNotAvailable ? ( Nicht verfügbar - ) : invoices.length > 0 ? ( + ) : showInvoiceWarnings && invoices.length > 0 ? ( Schlussrechnung fehlt @@ -198,7 +200,7 @@ function InvoiceModal({ }: { isOpen: boolean; onClose: () => void; - ecdId: number; + ecdId?: number; contractId: number; invoice?: Invoice | null; }) { @@ -216,10 +218,16 @@ function InvoiceModal({ const [selectedFile, setSelectedFile] = useState(null); const [error, setError] = useState(null); + const addInvoiceFn = async (data: { invoiceDate: string; invoiceType: string; notes?: string }) => { + if (ecdId) { + return invoiceApi.addInvoice(ecdId, data as any); + } + return invoiceApi.addInvoiceByContract(contractId, data as any); + }; + const createMutation = useMutation({ mutationFn: async (file: File) => { - // 1. Invoice erstellen - const result = await invoiceApi.addInvoice(ecdId, { + const result = await addInvoiceFn({ invoiceDate: formData.invoiceDate, invoiceType: formData.invoiceType, notes: formData.notes || undefined, @@ -233,7 +241,7 @@ function InvoiceModal({ return result; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: ['contract', contractId.toString()] }); + queryClient.invalidateQueries({ queryKey: ['contract'] }); onClose(); }, onError: (err: Error) => { @@ -243,15 +251,14 @@ function InvoiceModal({ const createWithoutFileMutation = useMutation({ mutationFn: async () => { - // Für NOT_AVAILABLE Typ - kein Dokument erforderlich - return await invoiceApi.addInvoice(ecdId, { + return addInvoiceFn({ invoiceDate: formData.invoiceDate, invoiceType: formData.invoiceType, notes: formData.notes || undefined, }); }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: ['contract', contractId.toString()] }); + queryClient.invalidateQueries({ queryKey: ['contract'] }); onClose(); }, onError: (err: Error) => { @@ -262,7 +269,7 @@ function InvoiceModal({ const updateMutation = useMutation({ mutationFn: async (file: File | null) => { // 1. Invoice aktualisieren - const result = await invoiceApi.updateInvoice(ecdId, invoice!.id, { + const result = await invoiceApi.updateInvoice(ecdId || 0, invoice!.id, { invoiceDate: formData.invoiceDate, invoiceType: formData.invoiceType, notes: formData.notes || undefined, @@ -276,7 +283,7 @@ function InvoiceModal({ return result; }, onSuccess: () => { - queryClient.invalidateQueries({ queryKey: ['contract', contractId.toString()] }); + queryClient.invalidateQueries({ queryKey: ['contract'] }); onClose(); }, onError: (err: Error) => { diff --git a/frontend/src/pages/contracts/ContractDetail.tsx b/frontend/src/pages/contracts/ContractDetail.tsx index 530ac628..8eb6f917 100644 --- a/frontend/src/pages/contracts/ContractDetail.tsx +++ b/frontend/src/pages/contracts/ContractDetail.tsx @@ -13,11 +13,11 @@ import Badge from '../../components/ui/Badge'; import Input from '../../components/ui/Input'; import Modal from '../../components/ui/Modal'; 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 { Edit, Trash2, Copy, Eye, EyeOff, ArrowLeft, ArrowRight, Download, ExternalLink, Plus, ChevronDown, ChevronUp, Gauge, CheckCircle, Circle, ClipboardList, MessageSquare, Calculator, Info, X, BellOff, Lock, Shield, FileText } 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'; +import type { ContractType, ContractStatus, SimCard, MeterReading, ContractTask, ContractTaskSubtask, ContractMeter, ContractDocument } from '../../types'; const typeLabels: Record = { ELECTRICITY: 'Strom', @@ -2576,6 +2576,7 @@ export default function ContractDetail() { invoices={c.energyDetails.invoices || []} contractId={contractId} canEdit={hasPermission('contracts:update') && !isCustomer} + showInvoiceWarnings={true} /> )} @@ -2614,6 +2615,24 @@ export default function ContractDetail() { )} + {c.internetDetails.propertyType && ( +
+
Objekttyp
+
{c.internetDetails.propertyType}
+
+ )} + {c.internetDetails.propertyLocation && ( +
+
Lage
+
{c.internetDetails.propertyLocation}
+
+ )} + {c.internetDetails.connectionLocation && ( +
+
Anschluss-Lage
+
{c.internetDetails.connectionLocation}
+
+ )} {c.internetDetails.installationDate && (
Installation
@@ -2960,6 +2979,25 @@ export default function ContractDetail() { isCustomerPortal={isCustomerPortal} /> + {/* Rechnungen (bei allen Vertragstypen, außer Energie - die haben ihre eigene Section) */} + {!['ELECTRICITY', 'GAS'].includes(c.type) && !isCustomerPortal && ( + + + + )} + + {/* Vertragsdokumente */} + {!isCustomerPortal && ( + + )} + {/* Zugeordnete E-Mails */} {!isCustomerPortal && hasPermission('contracts:read') && c.customerId && ( ); } + +// ==================== VERTRAGSDOKUMENTE ==================== + +const DOCUMENT_TYPES = [ + 'Auftragsformular', + 'Auftragsbestätigung', + 'Lieferbestätigung', + 'Vertragsunterlagen', + 'Vollmacht', + 'Widerrufsbelehrung', + 'Preisblatt', + 'Sonstiges', +]; + +function ContractDocumentsSection({ + contractId, + canEdit, +}: { + contractId: number; + canEdit: boolean; +}) { + const queryClient = useQueryClient(); + const [showUpload, setShowUpload] = useState(false); + const [uploadType, setUploadType] = useState(DOCUMENT_TYPES[0]); + const [uploadNotes, setUploadNotes] = useState(''); + + const { data: docsData } = useQuery({ + queryKey: ['contract-documents', contractId], + queryFn: () => contractApi.getDocuments(contractId), + }); + + const uploadMutation = useMutation({ + mutationFn: ({ file, documentType, notes }: { file: File; documentType: string; notes?: string }) => + contractApi.uploadDocument(contractId, file, documentType, notes), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['contract-documents', contractId] }); + setShowUpload(false); + setUploadNotes(''); + }, + }); + + const deleteMutation = useMutation({ + mutationFn: (documentId: number) => contractApi.deleteDocument(contractId, documentId), + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['contract-documents', contractId] }); + }, + }); + + const documents: ContractDocument[] = docsData?.data || []; + + const handleFileSelect = (e: React.ChangeEvent) => { + const file = e.target.files?.[0]; + if (file) { + uploadMutation.mutate({ file, documentType: uploadType, notes: uploadNotes || undefined }); + } + }; + + return ( + +
+ + Vertragsdokumente + ({documents.length}) +
+ {canEdit && ( + + )} +
+ }> + {/* Upload-Bereich */} + {showUpload && ( +
+
+
+ + +
+
+ + setUploadNotes(e.target.value)} + placeholder="z.B. Unterschrieben am 15.03.2026" + className="block w-full px-3 py-2 border border-gray-300 rounded-lg text-sm" + /> +
+
+
+ + + {uploadMutation.isPending && Hochladen...} +
+ {uploadMutation.isError && ( +

Fehler beim Hochladen

+ )} +
+ )} + + {/* Dokumentliste */} + {documents.length === 0 ? ( +

Keine Dokumente vorhanden.

+ ) : ( +
+ {documents.map((doc) => ( +
+
+ +
+
+ + {doc.documentType} + + + {doc.originalName} + +
+
+ {formatDate(doc.createdAt)} + {doc.uploadedBy && von {doc.uploadedBy}} + {doc.notes && – {doc.notes}} +
+
+
+
+ + + + {canEdit && ( + + )} +
+
+ ))} +
+ )} + + ); +} diff --git a/frontend/src/pages/contracts/ContractForm.tsx b/frontend/src/pages/contracts/ContractForm.tsx index ee1a1976..f565b3ac 100644 --- a/frontend/src/pages/contracts/ContractForm.tsx +++ b/frontend/src/pages/contracts/ContractForm.tsx @@ -288,6 +288,9 @@ export default function ContractForm() { routerSerialNumber: c.internetDetails?.routerSerialNumber || '', installationDate: c.internetDetails?.installationDate ? c.internetDetails.installationDate.split('T')[0] : '', internetUsername: c.internetDetails?.internetUsername || '', + propertyType: c.internetDetails?.propertyType || '', + propertyLocation: c.internetDetails?.propertyLocation || '', + connectionLocation: c.internetDetails?.connectionLocation || '', homeId: c.internetDetails?.homeId || '', activationCode: c.internetDetails?.activationCode || '', // Mobile details @@ -531,6 +534,10 @@ export default function ContractForm() { // Internet-Zugangsdaten internetUsername: emptyToNull(data.internetUsername), internetPassword: data.internetPassword || undefined, // Passwort: undefined = nicht ändern + // Objekt & Lage + propertyType: emptyToNull(data.propertyType), + propertyLocation: emptyToNull(data.propertyLocation), + connectionLocation: emptyToNull(data.connectionLocation), // Glasfaser-spezifisch homeId: emptyToNull(data.homeId), // Vodafone DSL/Kabel spezifisch @@ -1027,6 +1034,65 @@ export default function ContractForm() { value={watch('installationDate') || ''} onClear={() => setValue('installationDate', '')} /> + + + {/* Objekt & Lage */} +

Objekt & Lage

+
+ ({ value: `${i + 1}. OG`, label: `${i + 1}. Obergeschoss` })), + { value: 'Dachgeschoss', label: 'Dachgeschoss' }, + ]} + /> + diff --git a/frontend/src/services/api.ts b/frontend/src/services/api.ts index 874cc0c4..4910d9cf 100644 --- a/frontend/src/services/api.ts +++ b/frontend/src/services/api.ts @@ -232,6 +232,10 @@ export const invoiceApi = { const res = await api.post>(`/energy-details/${ecdId}/invoices`, data); return res.data; }, + addInvoiceByContract: async (contractId: number, data: Partial) => { + const res = await api.post>(`/contracts/${contractId}/invoices`, data); + return res.data; + }, updateInvoice: async (ecdId: number, invoiceId: number, data: Partial) => { const res = await api.put>(`/energy-details/${ecdId}/invoices/${invoiceId}`, data); return res.data; @@ -655,6 +659,25 @@ export const contractApi = { const res = await api.get>('/contracts/cockpit'); return res.data; }, + // Vertragsdokumente + getDocuments: async (contractId: number) => { + const res = await api.get>(`/contracts/${contractId}/documents`); + return res.data; + }, + uploadDocument: async (contractId: number, file: File, documentType: string, notes?: string) => { + const formData = new FormData(); + formData.append('file', file); + formData.append('documentType', documentType); + if (notes) formData.append('notes', notes); + const res = await api.post>(`/contracts/${contractId}/documents`, formData, { + headers: { 'Content-Type': 'multipart/form-data' }, + }); + return res.data; + }, + deleteDocument: async (contractId: number, documentId: number) => { + const res = await api.delete>(`/contracts/${contractId}/documents/${documentId}`); + return res.data; + }, // Folgezähler addSuccessorMeter: async (contractId: number, data: { meterId: number; installedAt?: string; finalReadingPrevious?: number }) => { const res = await api.post>(`/contracts/${contractId}/successor-meter`, data); diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index c3c4a8cf..f91a437d 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -152,6 +152,17 @@ export interface IdentityDocument { licenseIssueDate?: string; } +export interface ContractDocument { + id: number; + contractId: number; + documentType: string; + documentPath: string; + originalName: string; + notes?: string; + uploadedBy?: string; + createdAt: string; +} + export type MeterTariffModel = 'SINGLE' | 'DUAL'; export interface Meter { @@ -391,6 +402,8 @@ export interface Contract { mobileDetails?: MobileContractDetails; tvDetails?: TvContractDetails; carInsuranceDetails?: CarInsuranceDetails; + invoices?: Invoice[]; + documents?: ContractDocument[]; // Snooze: Vertrag zurückstellen nextReviewDate?: string; followUpContract?: { @@ -431,6 +444,10 @@ export interface InternetContractDetails { // Internet-Zugangsdaten internetUsername?: string; internetPasswordEncrypted?: string; + // Objekt & Lage + propertyType?: string; + propertyLocation?: string; + connectionLocation?: string; // Glasfaser-spezifisch homeId?: string; // Vodafone DSL/Kabel spezifisch