From fc729c6b7700f1c8e6163adbe29b49fef7b1be4c Mon Sep 17 00:00:00 2001 From: Mouad Lahlal Date: Tue, 11 Nov 2025 17:56:56 +0100 Subject: [PATCH] fix: fixed dialogs and db structure --- package-lock.json | 313 +++++++++- .../20251111124743_002/migration.sql | 21 + .../20251111124854_003/migration.sql | 8 + .../20251111125913_004/migration.sql | 5 + .../20251111130324_005/migration.sql | 2 + .../20251111140337_006/migration.sql | 2 + .../20251111161412_007/migration.sql | 10 + .../20251111164927_008/migration.sql | 10 + prisma/schema.prisma | 15 +- src/app/api/registratori/route.ts | 24 + src/app/client/page.tsx | 2 +- src/app/map/page.tsx | 17 +- src/components/add-intervento.tsx | 24 +- src/components/add-registratore.tsx | 35 +- src/components/device-card.tsx | 16 +- src/components/map.tsx | 120 ++-- src/generated/prisma/edge.js | 19 +- src/generated/prisma/index-browser.js | 13 +- src/generated/prisma/index.d.ts | 541 +++++++++++------- src/generated/prisma/index.js | 19 +- src/generated/prisma/package.json | 2 +- .../query_engine-windows.dll.node.tmp12336 | Bin 0 -> 21046272 bytes .../query_engine-windows.dll.node.tmp22464 | Bin 0 -> 21046272 bytes .../query_engine-windows.dll.node.tmp3292 | Bin 0 -> 21046272 bytes src/generated/prisma/schema.prisma | 13 +- src/generated/prisma/wasm.js | 19 +- 26 files changed, 921 insertions(+), 329 deletions(-) create mode 100644 prisma/migrations/20251111124743_002/migration.sql create mode 100644 prisma/migrations/20251111124854_003/migration.sql create mode 100644 prisma/migrations/20251111125913_004/migration.sql create mode 100644 prisma/migrations/20251111130324_005/migration.sql create mode 100644 prisma/migrations/20251111140337_006/migration.sql create mode 100644 prisma/migrations/20251111161412_007/migration.sql create mode 100644 prisma/migrations/20251111164927_008/migration.sql create mode 100644 src/app/api/registratori/route.ts create mode 100644 src/generated/prisma/query_engine-windows.dll.node.tmp12336 create mode 100644 src/generated/prisma/query_engine-windows.dll.node.tmp22464 create mode 100644 src/generated/prisma/query_engine-windows.dll.node.tmp3292 diff --git a/package-lock.json b/package-lock.json index e9ab9c8..03ee893 100644 --- a/package-lock.json +++ b/package-lock.json @@ -202,6 +202,111 @@ "integrity": "sha512-2Zhvss36s/yL+YSxD5ZL5dz5pI6ki1OLxYlh6O77VJ68sBnlUrl5YqhBgCy7FkdMsp9RBeGFwpuDCdpJOqdKeQ==", "license": "MIT" }, + "node_modules/@next/swc-darwin-arm64": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.5.tgz", + "integrity": "sha512-lYExGHuFIHeOxf40mRLWoA84iY2sLELB23BV5FIDHhdJkN1LpRTPc1MDOawgTo5ifbM5dvAwnGuHyNm60G1+jw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.5.tgz", + "integrity": "sha512-cacs/WQqa96IhqUm+7CY+z/0j9sW6X80KE07v3IAJuv+z0UNvJtKSlT/T1w1SpaQRa9l0wCYYZlRZUhUOvEVmg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.5.tgz", + "integrity": "sha512-tLd90SvkRFik6LSfuYjcJEmwqcNEnVYVOyKTacSazya/SLlSwy/VYKsDE4GIzOBd+h3gW+FXqShc2XBavccHCg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.5.tgz", + "integrity": "sha512-ekV76G2R/l3nkvylkfy9jBSYHeB4QcJ7LdDseT6INnn1p51bmDS1eGoSoq+RxfQ7B1wt+Qa0pIl5aqcx0GLpbw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.5.tgz", + "integrity": "sha512-tI+sBu+3FmWtqlqD4xKJcj3KJtqbniLombKTE7/UWyyoHmOyAo3aZ7QcEHIOgInXOG1nt0rwh0KGmNbvSB0Djg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.5.tgz", + "integrity": "sha512-kDRh+epN/ulroNJLr+toDjN+/JClY5L+OAWjOrrKCI0qcKvTw9GBx7CU/rdA2bgi4WpZN3l0rf/3+b8rduEwrQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.5.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.5.tgz", + "integrity": "sha512-GDgdNPFFqiKjTrmfw01sMMRWhVN5wOCmFzPloxa7ksDfX6TZt62tAK986f0ZYqWpvDFqeBCLAzmgTURvtQBdgw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@next/swc-win32-x64-msvc": { "version": "15.5.5", "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.5.tgz", @@ -1341,6 +1446,206 @@ "@tailwindcss/oxide-win32-x64-msvc": "4.1.14" } }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.14.tgz", + "integrity": "sha512-a94ifZrGwMvbdeAxWoSuGcIl6/DOP5cdxagid7xJv6bwFp3oebp7y2ImYsnZBMTwjn5Ev5xESvS3FFYUGgPODQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.14.tgz", + "integrity": "sha512-HkFP/CqfSh09xCnrPJA7jud7hij5ahKyWomrC3oiO2U9i0UjP17o9pJbxUN0IJ471GTQQmzwhp0DEcpbp4MZTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.14.tgz", + "integrity": "sha512-eVNaWmCgdLf5iv6Qd3s7JI5SEFBFRtfm6W0mphJYXgvnDEAZ5sZzqmI06bK6xo0IErDHdTA5/t7d4eTfWbWOFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.14.tgz", + "integrity": "sha512-QWLoRXNikEuqtNb0dhQN6wsSVVjX6dmUFzuuiL09ZeXju25dsei2uIPl71y2Ic6QbNBsB4scwBoFnlBfabHkEw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.14.tgz", + "integrity": "sha512-VB4gjQni9+F0VCASU+L8zSIyjrLLsy03sjcR3bM0V2g4SNamo0FakZFKyUQ96ZVwGK4CaJsc9zd/obQy74o0Fw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.14.tgz", + "integrity": "sha512-qaEy0dIZ6d9vyLnmeg24yzA8XuEAD9WjpM5nIM1sUgQ/Zv7cVkharPDQcmm/t/TvXoKo/0knI3me3AGfdx6w1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.14.tgz", + "integrity": "sha512-ISZjT44s59O8xKsPEIesiIydMG/sCXoMBCqsphDm/WcbnuWLxxb+GcvSIIA5NjUw6F8Tex7s5/LM2yDy8RqYBQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.14.tgz", + "integrity": "sha512-02c6JhLPJj10L2caH4U0zF8Hji4dOeahmuMl23stk0MU1wfd1OraE7rOloidSF8W5JTHkFdVo/O7uRUJJnUAJg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.14.tgz", + "integrity": "sha512-TNGeLiN1XS66kQhxHG/7wMeQDOoL0S33x9BgmydbrWAb9Qw0KYdd8o1ifx4HOGDWhVmJ+Ul+JQ7lyknQFilO3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.14.tgz", + "integrity": "sha512-uZYAsaW/jS/IYkd6EWPJKW/NlPNSkWkBlaeVBi/WsFQNP05/bzkebUL8FH1pdsqx4f2fH/bWFcUABOM9nfiJkQ==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.5", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.14", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.14.tgz", + "integrity": "sha512-Az0RnnkcvRqsuoLH2Z4n3JfAef0wElgzHD5Aky/e+0tBUxUhIeIqFBTMNQvmMRSP15fWwmvjBxZ3Q8RhsDnxAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@tailwindcss/oxide-win32-x64-msvc": { "version": "4.1.14", "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.14.tgz", @@ -2377,11 +2682,11 @@ } }, "node_modules/tar": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", - "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.2.tgz", + "integrity": "sha512-7NyxrTE4Anh8km8iEy7o0QYPs+0JKBTj5ZaqHg6B39erLg0qYXN3BijtShwbsNSvQ+LN75+KV+C4QR/f6Gwnpg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", diff --git a/prisma/migrations/20251111124743_002/migration.sql b/prisma/migrations/20251111124743_002/migration.sql new file mode 100644 index 0000000..72397aa --- /dev/null +++ b/prisma/migrations/20251111124743_002/migration.sql @@ -0,0 +1,21 @@ +/* + Warnings: + + - The primary key for the `Registratore` table will be changed. If it partially fails, the table could be left without primary key constraint. + +*/ +-- DropForeignKey +ALTER TABLE "public"."Intervento" DROP CONSTRAINT "Intervento_id_registratore_fkey"; + +-- AlterTable +ALTER TABLE "Intervento" ALTER COLUMN "id_registratore" SET DATA TYPE TEXT; + +-- AlterTable +ALTER TABLE "Registratore" DROP CONSTRAINT "Registratore_pkey", +ALTER COLUMN "id" DROP DEFAULT, +ALTER COLUMN "id" SET DATA TYPE TEXT, +ADD CONSTRAINT "Registratore_pkey" PRIMARY KEY ("id"); +DROP SEQUENCE "Registratore_id_seq"; + +-- AddForeignKey +ALTER TABLE "Intervento" ADD CONSTRAINT "Intervento_id_registratore_fkey" FOREIGN KEY ("id_registratore") REFERENCES "Registratore"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20251111124854_003/migration.sql b/prisma/migrations/20251111124854_003/migration.sql new file mode 100644 index 0000000..98c623b --- /dev/null +++ b/prisma/migrations/20251111124854_003/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - You are about to drop the column `seriale` on the `Registratore` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Registratore" DROP COLUMN "seriale"; diff --git a/prisma/migrations/20251111125913_004/migration.sql b/prisma/migrations/20251111125913_004/migration.sql new file mode 100644 index 0000000..be235ee --- /dev/null +++ b/prisma/migrations/20251111125913_004/migration.sql @@ -0,0 +1,5 @@ +-- CreateEnum +CREATE TYPE "Modello" AS ENUM ('FORM100', 'FORM200', 'FORM500'); + +-- AlterTable +ALTER TABLE "Registratore" ADD COLUMN "modello" "Modello"; diff --git a/prisma/migrations/20251111130324_005/migration.sql b/prisma/migrations/20251111130324_005/migration.sql new file mode 100644 index 0000000..5082af6 --- /dev/null +++ b/prisma/migrations/20251111130324_005/migration.sql @@ -0,0 +1,2 @@ +-- AlterEnum +ALTER TYPE "Modello" ADD VALUE 'FORM200PLUS'; diff --git a/prisma/migrations/20251111140337_006/migration.sql b/prisma/migrations/20251111140337_006/migration.sql new file mode 100644 index 0000000..3a496fe --- /dev/null +++ b/prisma/migrations/20251111140337_006/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Cliente" ADD COLUMN "coordinate" DOUBLE PRECISION[]; diff --git a/prisma/migrations/20251111161412_007/migration.sql b/prisma/migrations/20251111161412_007/migration.sql new file mode 100644 index 0000000..bdec736 --- /dev/null +++ b/prisma/migrations/20251111161412_007/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - You are about to drop the column `coordinate` on the `Cliente` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Cliente" DROP COLUMN "coordinate", +ADD COLUMN "lat" DOUBLE PRECISION, +ADD COLUMN "lon" DOUBLE PRECISION; diff --git a/prisma/migrations/20251111164927_008/migration.sql b/prisma/migrations/20251111164927_008/migration.sql new file mode 100644 index 0000000..7a4e906 --- /dev/null +++ b/prisma/migrations/20251111164927_008/migration.sql @@ -0,0 +1,10 @@ +/* + Warnings: + + - Made the column `lat` on table `Cliente` required. This step will fail if there are existing NULL values in that column. + - Made the column `lon` on table `Cliente` required. This step will fail if there are existing NULL values in that column. + +*/ +-- AlterTable +ALTER TABLE "Cliente" ALTER COLUMN "lat" SET NOT NULL, +ALTER COLUMN "lon" SET NOT NULL; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 8bdd8dd..eee2ca3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -8,9 +8,16 @@ datasource db { url = env("DATABASE_URL") } +enum Modello { + FORM100 + FORM200 + FORM200PLUS + FORM500 +} + model Intervento { id Int @id @default(autoincrement()) - id_registratore Int + id_registratore String data DateTime @db.Date lavoro String @db.Text fattura Boolean @db.Boolean @@ -18,9 +25,9 @@ model Intervento { } model Registratore { - id Int @id @default(autoincrement()) + id String @id id_cliente Int - seriale String? @db.VarChar(255) + modello Modello? data_acquisto DateTime? @db.Date ultima_verifica DateTime? @db.Date prossima_verifica DateTime? @db.Date @@ -37,5 +44,7 @@ model Cliente { sede String @db.VarChar(255) sede_url String @db.VarChar(255) contratto String @db.VarChar(255) + lat Float + lon Float registratori Registratore[] } diff --git a/src/app/api/registratori/route.ts b/src/app/api/registratori/route.ts new file mode 100644 index 0000000..6c6bbd8 --- /dev/null +++ b/src/app/api/registratori/route.ts @@ -0,0 +1,24 @@ +import { Modello, PrismaClient } from "@/generated/prisma"; + +export async function POST(request: Request) { + const prisma = new PrismaClient(); + const data = await request.json(); + + await prisma.registratore.create({ + data: { + id: data.seriale, + id_cliente: data.id, + data_acquisto: new Date(data.data), + modello: + data.modello === "FORM100" + ? Modello.FORM100 + : data.modello === "FORM200" + ? Modello.FORM200 + : data.modello === "FORM200PLUS" + ? Modello.FORM200PLUS + : Modello.FORM500, + }, + }); + + return Response.json({ message: "fatto bastardo" }); +} diff --git a/src/app/client/page.tsx b/src/app/client/page.tsx index 76d4f1e..1740f44 100644 --- a/src/app/client/page.tsx +++ b/src/app/client/page.tsx @@ -108,7 +108,7 @@ export default function Page() { {cliente ? : <>} {registratori ? ( registratori.map((registratore) => ( - + )) ) : ( <> diff --git a/src/app/map/page.tsx b/src/app/map/page.tsx index c26b800..ca89347 100644 --- a/src/app/map/page.tsx +++ b/src/app/map/page.tsx @@ -2,18 +2,31 @@ import dynamic from "next/dynamic"; import { useSearchParams } from "next/navigation"; +import { useEffect, useState } from "react"; +import { Cliente } from "@/generated/prisma"; export default function Page() { const MapWithNoSSR = dynamic(() => import("../../components/map"), { ssr: false, }); - + const [clienti, setClienti] = useState>(); const searchParams = useSearchParams(); const client = searchParams.get("client"); + useEffect(() => { + async function getClienti() { + const req = await fetch(`/api/clienti`); + const data = await req.json(); + console.log(data.clients); + setClienti(data.clients); + } + + getClienti(); + }, []); + return (
- +
); } diff --git a/src/components/add-intervento.tsx b/src/components/add-intervento.tsx index 8efdb00..eeb9782 100644 --- a/src/components/add-intervento.tsx +++ b/src/components/add-intervento.tsx @@ -18,16 +18,16 @@ import { Plus } from "lucide-react"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Button } from "@/components/ui/button"; -import { useState } from "react"; +import { useEffect, useState } from "react"; import DatePicker from "./date-picker"; import { Checkbox } from "@/components/ui/checkbox"; -const AddInterventoDialog = ({ id }: { id: Number }) => { +const AddInterventoDialog = ({ id }: { id: string }) => { //const [nome, setNome] = useState(""); const [open, setOpen] = useState(false); - const [data, setData] = useState(); + const [data, setData] = useState(new Date()); const [lavoro, setLavoro] = useState(""); - const [fattura, setFattura] = useState(); + const [fattura, setFattura] = useState(false); return (
@@ -75,15 +75,13 @@ const AddInterventoDialog = ({ id }: { id: Number }) => {
- setFattura( - checked === "indeterminate" - ? false - : checked - ? true - : true, - ) - } + onCheckedChange={(checked) => { + checked === "indeterminate" + ? setFattura(false) + : checked + ? setFattura(true) + : setFattura(false); + }} />
diff --git a/src/components/add-registratore.tsx b/src/components/add-registratore.tsx index 0d3a330..72f0da9 100644 --- a/src/components/add-registratore.tsx +++ b/src/components/add-registratore.tsx @@ -28,25 +28,25 @@ const AddRegistratoreDialog = ({ id }: { id: Number }) => { const [openData, setOpenData] = useState(false); const [openModello, setOpenModello] = useState(false); const [data, setData] = useState(); + const [seriale, setSeriale] = useState(""); const [modello, setModello] = useState(); - const [lavoro, setLavoro] = useState(""); const [fattura, setFattura] = useState(); const modelli = [ { - value: "Form 100", + value: "FORM100", label: "Form 100", }, { - value: "Form 200", + value: "FORM200", label: "Form 200", }, { - value: "Form 200 Plus", + value: "FORM200PLUS", label: "Form 200 Plus", }, { - value: "Form 500", + value: "FORM500", label: "Form 500", }, ]; @@ -73,12 +73,12 @@ const AddRegistratoreDialog = ({ id }: { id: Number }) => {
- + setLavoro(e.target.value)} + onChange={(e) => setSeriale(e.target.value)} />
@@ -100,21 +100,6 @@ const AddRegistratoreDialog = ({ id }: { id: Number }) => { modelli={modelli} />
-
- - setFattura( - checked === "indeterminate" - ? false - : checked - ? true - : true, - ) - } - /> - -
@@ -122,13 +107,13 @@ const AddRegistratoreDialog = ({ id }: { id: Number }) => {
diff --git a/src/components/map.tsx b/src/components/map.tsx index cd0b791..b2aee1e 100644 --- a/src/components/map.tsx +++ b/src/components/map.tsx @@ -8,8 +8,15 @@ import { } from "@/components/ui/tooltip"; import { Button } from "@/components/ui/button"; import { Map as MapIcon } from "lucide-react"; +import { Cliente } from "@/generated/prisma"; -const Map = ({highlight}: {highlight?: string}) => { +const Map = ({ + highlight, + clienti, +}: { + highlight?: string; + clienti: Array; +}) => { const positions = [ { name: "Autogeneral", @@ -38,9 +45,6 @@ const Map = ({highlight}: {highlight?: string}) => { }, ]; - console.log(highlight); - console.log(positions.find((client) => client.name == highlight)); - const customMarker = new Icon({ iconUrl: "marker-icon-red.png", iconAnchor: [10, 20], @@ -49,7 +53,11 @@ const Map = ({highlight}: {highlight?: string}) => { return ( client.name == highlight)?.position : [45.54157745559809, 10.211896906975962]} + center={ + highlight + ? positions.find((client) => client.name == highlight)?.position + : [45.54157745559809, 10.211896906975962] + } zoom={13} scrollWheelZoom={true} className="m-0 p-0 h-[99%] w-[99%] mx-[0.5%] my-[0.5%] rounded-md z-0" @@ -58,9 +66,51 @@ const Map = ({highlight}: {highlight?: string}) => { attribution='© OpenStreetMap contributors' url={`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`} /> - { highlight == null ? positions.map((client) => ( + {highlight == null ? ( + clienti ? ( + clienti.map((client) => ( + + +
+
+ + {client.ragione_sociale} + +
+ P.IVA + {client.partita_iva} +
+
+ + + + + + + + +

Resetta ricerca

+
+
+
+
+
+ )) + ) : ( + <> + ) + ) : ( client.name == highlight)?.position + } draggable={false} animate={false} icon={customMarker} @@ -68,7 +118,9 @@ const Map = ({highlight}: {highlight?: string}) => {
- {client.name} + + {positions.find((client) => client.name == highlight)?.name} +
P.IVA 03417520172 @@ -77,52 +129,26 @@ const Map = ({highlight}: {highlight?: string}) => { - - - + client.name == highlight) + ?.sede_url + } + target="blank" + > + + -

Resetta ricerca

+

Resetta ricerca

- )) : - client.name == highlight)?.position} - draggable={false} - animate={false} - icon={customMarker} - > - -
-
- {positions.find((client) => client.name == highlight)?.name} -
- P.IVA - 03417520172 -
-
- - - - client.name == highlight)?.sede_url} target="blank"> - - - - -

Resetta ricerca

-
-
-
-
-
- } + )} ); }; diff --git a/src/generated/prisma/edge.js b/src/generated/prisma/edge.js index 2752266..452dd47 100644 --- a/src/generated/prisma/edge.js +++ b/src/generated/prisma/edge.js @@ -103,7 +103,7 @@ exports.Prisma.InterventoScalarFieldEnum = { exports.Prisma.RegistratoreScalarFieldEnum = { id: 'id', id_cliente: 'id_cliente', - seriale: 'seriale', + modello: 'modello', data_acquisto: 'data_acquisto', ultima_verifica: 'ultima_verifica', prossima_verifica: 'prossima_verifica' @@ -117,7 +117,9 @@ exports.Prisma.ClienteScalarFieldEnum = { telefono: 'telefono', sede: 'sede', sede_url: 'sede_url', - contratto: 'contratto' + contratto: 'contratto', + lat: 'lat', + lon: 'lon' }; exports.Prisma.SortOrder = { @@ -134,7 +136,12 @@ exports.Prisma.NullsOrder = { first: 'first', last: 'last' }; - +exports.Modello = exports.$Enums.Modello = { + FORM100: 'FORM100', + FORM200: 'FORM200', + FORM200PLUS: 'FORM200PLUS', + FORM500: 'FORM500' +}; exports.Prisma.ModelName = { Intervento: 'Intervento', @@ -188,13 +195,13 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Intervento {\n id Int @id @default(autoincrement())\n id_registratore Int\n data DateTime @db.Date\n lavoro String @db.Text\n fattura Boolean @db.Boolean\n registratore Registratore @relation(fields: [id_registratore], references: [id])\n}\n\nmodel Registratore {\n id Int @id @default(autoincrement())\n id_cliente Int\n seriale String? @db.VarChar(255)\n data_acquisto DateTime? @db.Date\n ultima_verifica DateTime? @db.Date\n prossima_verifica DateTime? @db.Date\n cliente Cliente @relation(fields: [id_cliente], references: [id])\n interventi Intervento[]\n}\n\nmodel Cliente {\n id Int @id @default(autoincrement())\n ragione_sociale String @unique @db.VarChar(255)\n email String @db.VarChar(255)\n partita_iva String @db.VarChar(255)\n telefono String @db.VarChar(255)\n sede String @db.VarChar(255)\n sede_url String @db.VarChar(255)\n contratto String @db.VarChar(255)\n registratori Registratore[]\n}\n", - "inlineSchemaHash": "70d19759fda92cfa8dfe96db3ee01c6cf89b508717f745431bdaf7866ae6512a", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nenum Modello {\n FORM100\n FORM200\n FORM200PLUS\n FORM500\n}\n\nmodel Intervento {\n id Int @id @default(autoincrement())\n id_registratore String\n data DateTime @db.Date\n lavoro String @db.Text\n fattura Boolean @db.Boolean\n registratore Registratore @relation(fields: [id_registratore], references: [id])\n}\n\nmodel Registratore {\n id String @id\n id_cliente Int\n modello Modello?\n data_acquisto DateTime? @db.Date\n ultima_verifica DateTime? @db.Date\n prossima_verifica DateTime? @db.Date\n cliente Cliente @relation(fields: [id_cliente], references: [id])\n interventi Intervento[]\n}\n\nmodel Cliente {\n id Int @id @default(autoincrement())\n ragione_sociale String @unique @db.VarChar(255)\n email String @db.VarChar(255)\n partita_iva String @db.VarChar(255)\n telefono String @db.VarChar(255)\n sede String @db.VarChar(255)\n sede_url String @db.VarChar(255)\n contratto String @db.VarChar(255)\n lat Float\n lon Float\n registratori Registratore[]\n}\n", + "inlineSchemaHash": "3424ce1a172605bbf2b32e4c6ada582172d780cc98a6e12f826a26c0cc5b9555", "copyEngine": true } config.dirname = '/' -config.runtimeDataModel = JSON.parse("{\"models\":{\"Intervento\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_registratore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lavoro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fattura\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":[\"Boolean\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratore\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[\"id_registratore\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Registratore\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_cliente\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"seriale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data_acquisto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ultima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"prossima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cliente\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Cliente\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[\"id_cliente\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interventi\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Intervento\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Cliente\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ragione_sociale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"partita_iva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telefono\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contratto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratori\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Intervento\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_registratore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lavoro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fattura\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":[\"Boolean\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratore\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[\"id_registratore\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Registratore\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_cliente\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"modello\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Modello\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data_acquisto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ultima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"prossima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cliente\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Cliente\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[\"id_cliente\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interventi\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Intervento\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Cliente\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ragione_sociale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"partita_iva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telefono\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contratto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lat\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratori\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"Modello\":{\"values\":[{\"name\":\"FORM100\",\"dbName\":null},{\"name\":\"FORM200\",\"dbName\":null},{\"name\":\"FORM200PLUS\",\"dbName\":null},{\"name\":\"FORM500\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/src/generated/prisma/index-browser.js b/src/generated/prisma/index-browser.js index 590fdaa..c4e3042 100644 --- a/src/generated/prisma/index-browser.js +++ b/src/generated/prisma/index-browser.js @@ -131,7 +131,7 @@ exports.Prisma.InterventoScalarFieldEnum = { exports.Prisma.RegistratoreScalarFieldEnum = { id: 'id', id_cliente: 'id_cliente', - seriale: 'seriale', + modello: 'modello', data_acquisto: 'data_acquisto', ultima_verifica: 'ultima_verifica', prossima_verifica: 'prossima_verifica' @@ -145,7 +145,9 @@ exports.Prisma.ClienteScalarFieldEnum = { telefono: 'telefono', sede: 'sede', sede_url: 'sede_url', - contratto: 'contratto' + contratto: 'contratto', + lat: 'lat', + lon: 'lon' }; exports.Prisma.SortOrder = { @@ -162,7 +164,12 @@ exports.Prisma.NullsOrder = { first: 'first', last: 'last' }; - +exports.Modello = exports.$Enums.Modello = { + FORM100: 'FORM100', + FORM200: 'FORM200', + FORM200PLUS: 'FORM200PLUS', + FORM500: 'FORM500' +}; exports.Prisma.ModelName = { Intervento: 'Intervento', diff --git a/src/generated/prisma/index.d.ts b/src/generated/prisma/index.d.ts index 128e649..77f9a59 100644 --- a/src/generated/prisma/index.d.ts +++ b/src/generated/prisma/index.d.ts @@ -29,6 +29,25 @@ export type Registratore = $Result.DefaultSelection */ export type Cliente = $Result.DefaultSelection +/** + * Enums + */ +export namespace $Enums { + export const Modello: { + FORM100: 'FORM100', + FORM200: 'FORM200', + FORM200PLUS: 'FORM200PLUS', + FORM500: 'FORM500' +}; + +export type Modello = (typeof Modello)[keyof typeof Modello] + +} + +export type Modello = $Enums.Modello + +export const Modello: typeof $Enums.Modello + /** * ## Prisma Client ʲˢ * @@ -1118,17 +1137,15 @@ export namespace Prisma { export type InterventoAvgAggregateOutputType = { id: number | null - id_registratore: number | null } export type InterventoSumAggregateOutputType = { id: number | null - id_registratore: number | null } export type InterventoMinAggregateOutputType = { id: number | null - id_registratore: number | null + id_registratore: string | null data: Date | null lavoro: string | null fattura: boolean | null @@ -1136,7 +1153,7 @@ export namespace Prisma { export type InterventoMaxAggregateOutputType = { id: number | null - id_registratore: number | null + id_registratore: string | null data: Date | null lavoro: string | null fattura: boolean | null @@ -1154,12 +1171,10 @@ export namespace Prisma { export type InterventoAvgAggregateInputType = { id?: true - id_registratore?: true } export type InterventoSumAggregateInputType = { id?: true - id_registratore?: true } export type InterventoMinAggregateInputType = { @@ -1275,7 +1290,7 @@ export namespace Prisma { export type InterventoGroupByOutputType = { id: number - id_registratore: number + id_registratore: string data: Date lavoro: string fattura: boolean @@ -1353,7 +1368,7 @@ export namespace Prisma { } scalars: $Extensions.GetPayloadResult<{ id: number - id_registratore: number + id_registratore: string data: Date lavoro: string fattura: boolean @@ -1782,7 +1797,7 @@ export namespace Prisma { */ interface InterventoFieldRefs { readonly id: FieldRef<"Intervento", 'Int'> - readonly id_registratore: FieldRef<"Intervento", 'Int'> + readonly id_registratore: FieldRef<"Intervento", 'String'> readonly data: FieldRef<"Intervento", 'DateTime'> readonly lavoro: FieldRef<"Intervento", 'String'> readonly fattura: FieldRef<"Intervento", 'Boolean'> @@ -2213,28 +2228,26 @@ export namespace Prisma { } export type RegistratoreAvgAggregateOutputType = { - id: number | null id_cliente: number | null } export type RegistratoreSumAggregateOutputType = { - id: number | null id_cliente: number | null } export type RegistratoreMinAggregateOutputType = { - id: number | null + id: string | null id_cliente: number | null - seriale: string | null + modello: $Enums.Modello | null data_acquisto: Date | null ultima_verifica: Date | null prossima_verifica: Date | null } export type RegistratoreMaxAggregateOutputType = { - id: number | null + id: string | null id_cliente: number | null - seriale: string | null + modello: $Enums.Modello | null data_acquisto: Date | null ultima_verifica: Date | null prossima_verifica: Date | null @@ -2243,7 +2256,7 @@ export namespace Prisma { export type RegistratoreCountAggregateOutputType = { id: number id_cliente: number - seriale: number + modello: number data_acquisto: number ultima_verifica: number prossima_verifica: number @@ -2252,19 +2265,17 @@ export namespace Prisma { export type RegistratoreAvgAggregateInputType = { - id?: true id_cliente?: true } export type RegistratoreSumAggregateInputType = { - id?: true id_cliente?: true } export type RegistratoreMinAggregateInputType = { id?: true id_cliente?: true - seriale?: true + modello?: true data_acquisto?: true ultima_verifica?: true prossima_verifica?: true @@ -2273,7 +2284,7 @@ export namespace Prisma { export type RegistratoreMaxAggregateInputType = { id?: true id_cliente?: true - seriale?: true + modello?: true data_acquisto?: true ultima_verifica?: true prossima_verifica?: true @@ -2282,7 +2293,7 @@ export namespace Prisma { export type RegistratoreCountAggregateInputType = { id?: true id_cliente?: true - seriale?: true + modello?: true data_acquisto?: true ultima_verifica?: true prossima_verifica?: true @@ -2376,9 +2387,9 @@ export namespace Prisma { } export type RegistratoreGroupByOutputType = { - id: number + id: string id_cliente: number - seriale: string | null + modello: $Enums.Modello | null data_acquisto: Date | null ultima_verifica: Date | null prossima_verifica: Date | null @@ -2406,7 +2417,7 @@ export namespace Prisma { export type RegistratoreSelect = $Extensions.GetSelect<{ id?: boolean id_cliente?: boolean - seriale?: boolean + modello?: boolean data_acquisto?: boolean ultima_verifica?: boolean prossima_verifica?: boolean @@ -2418,7 +2429,7 @@ export namespace Prisma { export type RegistratoreSelectCreateManyAndReturn = $Extensions.GetSelect<{ id?: boolean id_cliente?: boolean - seriale?: boolean + modello?: boolean data_acquisto?: boolean ultima_verifica?: boolean prossima_verifica?: boolean @@ -2428,7 +2439,7 @@ export namespace Prisma { export type RegistratoreSelectUpdateManyAndReturn = $Extensions.GetSelect<{ id?: boolean id_cliente?: boolean - seriale?: boolean + modello?: boolean data_acquisto?: boolean ultima_verifica?: boolean prossima_verifica?: boolean @@ -2438,13 +2449,13 @@ export namespace Prisma { export type RegistratoreSelectScalar = { id?: boolean id_cliente?: boolean - seriale?: boolean + modello?: boolean data_acquisto?: boolean ultima_verifica?: boolean prossima_verifica?: boolean } - export type RegistratoreOmit = $Extensions.GetOmit<"id" | "id_cliente" | "seriale" | "data_acquisto" | "ultima_verifica" | "prossima_verifica", ExtArgs["result"]["registratore"]> + export type RegistratoreOmit = $Extensions.GetOmit<"id" | "id_cliente" | "modello" | "data_acquisto" | "ultima_verifica" | "prossima_verifica", ExtArgs["result"]["registratore"]> export type RegistratoreInclude = { cliente?: boolean | ClienteDefaultArgs interventi?: boolean | Registratore$interventiArgs @@ -2464,9 +2475,9 @@ export namespace Prisma { interventi: Prisma.$InterventoPayload[] } scalars: $Extensions.GetPayloadResult<{ - id: number + id: string id_cliente: number - seriale: string | null + modello: $Enums.Modello | null data_acquisto: Date | null ultima_verifica: Date | null prossima_verifica: Date | null @@ -2895,9 +2906,9 @@ export namespace Prisma { * Fields of the Registratore model */ interface RegistratoreFieldRefs { - readonly id: FieldRef<"Registratore", 'Int'> + readonly id: FieldRef<"Registratore", 'String'> readonly id_cliente: FieldRef<"Registratore", 'Int'> - readonly seriale: FieldRef<"Registratore", 'String'> + readonly modello: FieldRef<"Registratore", 'Modello'> readonly data_acquisto: FieldRef<"Registratore", 'DateTime'> readonly ultima_verifica: FieldRef<"Registratore", 'DateTime'> readonly prossima_verifica: FieldRef<"Registratore", 'DateTime'> @@ -3353,10 +3364,14 @@ export namespace Prisma { export type ClienteAvgAggregateOutputType = { id: number | null + lat: number | null + lon: number | null } export type ClienteSumAggregateOutputType = { id: number | null + lat: number | null + lon: number | null } export type ClienteMinAggregateOutputType = { @@ -3368,6 +3383,8 @@ export namespace Prisma { sede: string | null sede_url: string | null contratto: string | null + lat: number | null + lon: number | null } export type ClienteMaxAggregateOutputType = { @@ -3379,6 +3396,8 @@ export namespace Prisma { sede: string | null sede_url: string | null contratto: string | null + lat: number | null + lon: number | null } export type ClienteCountAggregateOutputType = { @@ -3390,16 +3409,22 @@ export namespace Prisma { sede: number sede_url: number contratto: number + lat: number + lon: number _all: number } export type ClienteAvgAggregateInputType = { id?: true + lat?: true + lon?: true } export type ClienteSumAggregateInputType = { id?: true + lat?: true + lon?: true } export type ClienteMinAggregateInputType = { @@ -3411,6 +3436,8 @@ export namespace Prisma { sede?: true sede_url?: true contratto?: true + lat?: true + lon?: true } export type ClienteMaxAggregateInputType = { @@ -3422,6 +3449,8 @@ export namespace Prisma { sede?: true sede_url?: true contratto?: true + lat?: true + lon?: true } export type ClienteCountAggregateInputType = { @@ -3433,6 +3462,8 @@ export namespace Prisma { sede?: true sede_url?: true contratto?: true + lat?: true + lon?: true _all?: true } @@ -3531,6 +3562,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number _count: ClienteCountAggregateOutputType | null _avg: ClienteAvgAggregateOutputType | null _sum: ClienteSumAggregateOutputType | null @@ -3561,6 +3594,8 @@ export namespace Prisma { sede?: boolean sede_url?: boolean contratto?: boolean + lat?: boolean + lon?: boolean registratori?: boolean | Cliente$registratoriArgs _count?: boolean | ClienteCountOutputTypeDefaultArgs }, ExtArgs["result"]["cliente"]> @@ -3574,6 +3609,8 @@ export namespace Prisma { sede?: boolean sede_url?: boolean contratto?: boolean + lat?: boolean + lon?: boolean }, ExtArgs["result"]["cliente"]> export type ClienteSelectUpdateManyAndReturn = $Extensions.GetSelect<{ @@ -3585,6 +3622,8 @@ export namespace Prisma { sede?: boolean sede_url?: boolean contratto?: boolean + lat?: boolean + lon?: boolean }, ExtArgs["result"]["cliente"]> export type ClienteSelectScalar = { @@ -3596,9 +3635,11 @@ export namespace Prisma { sede?: boolean sede_url?: boolean contratto?: boolean + lat?: boolean + lon?: boolean } - export type ClienteOmit = $Extensions.GetOmit<"id" | "ragione_sociale" | "email" | "partita_iva" | "telefono" | "sede" | "sede_url" | "contratto", ExtArgs["result"]["cliente"]> + export type ClienteOmit = $Extensions.GetOmit<"id" | "ragione_sociale" | "email" | "partita_iva" | "telefono" | "sede" | "sede_url" | "contratto" | "lat" | "lon", ExtArgs["result"]["cliente"]> export type ClienteInclude = { registratori?: boolean | Cliente$registratoriArgs _count?: boolean | ClienteCountOutputTypeDefaultArgs @@ -3620,6 +3661,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number }, ExtArgs["result"]["cliente"]> composites: {} } @@ -4052,6 +4095,8 @@ export namespace Prisma { readonly sede: FieldRef<"Cliente", 'String'> readonly sede_url: FieldRef<"Cliente", 'String'> readonly contratto: FieldRef<"Cliente", 'String'> + readonly lat: FieldRef<"Cliente", 'Float'> + readonly lon: FieldRef<"Cliente", 'Float'> } @@ -4510,7 +4555,7 @@ export namespace Prisma { export const RegistratoreScalarFieldEnum: { id: 'id', id_cliente: 'id_cliente', - seriale: 'seriale', + modello: 'modello', data_acquisto: 'data_acquisto', ultima_verifica: 'ultima_verifica', prossima_verifica: 'prossima_verifica' @@ -4527,7 +4572,9 @@ export namespace Prisma { telefono: 'telefono', sede: 'sede', sede_url: 'sede_url', - contratto: 'contratto' + contratto: 'contratto', + lat: 'lat', + lon: 'lon' }; export type ClienteScalarFieldEnum = (typeof ClienteScalarFieldEnum)[keyof typeof ClienteScalarFieldEnum] @@ -4576,20 +4623,6 @@ export namespace Prisma { - /** - * Reference to a field of type 'DateTime' - */ - export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> - - - - /** - * Reference to a field of type 'DateTime[]' - */ - export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> - - - /** * Reference to a field of type 'String' */ @@ -4604,6 +4637,20 @@ export namespace Prisma { + /** + * Reference to a field of type 'DateTime' + */ + export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + + + /** + * Reference to a field of type 'DateTime[]' + */ + export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> + + + /** * Reference to a field of type 'Boolean' */ @@ -4611,6 +4658,20 @@ export namespace Prisma { + /** + * Reference to a field of type 'Modello' + */ + export type EnumModelloFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Modello'> + + + + /** + * Reference to a field of type 'Modello[]' + */ + export type ListEnumModelloFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Modello[]'> + + + /** * Reference to a field of type 'Float' */ @@ -4633,7 +4694,7 @@ export namespace Prisma { OR?: InterventoWhereInput[] NOT?: InterventoWhereInput | InterventoWhereInput[] id?: IntFilter<"Intervento"> | number - id_registratore?: IntFilter<"Intervento"> | number + id_registratore?: StringFilter<"Intervento"> | string data?: DateTimeFilter<"Intervento"> | Date | string lavoro?: StringFilter<"Intervento"> | string fattura?: BoolFilter<"Intervento"> | boolean @@ -4654,7 +4715,7 @@ export namespace Prisma { AND?: InterventoWhereInput | InterventoWhereInput[] OR?: InterventoWhereInput[] NOT?: InterventoWhereInput | InterventoWhereInput[] - id_registratore?: IntFilter<"Intervento"> | number + id_registratore?: StringFilter<"Intervento"> | string data?: DateTimeFilter<"Intervento"> | Date | string lavoro?: StringFilter<"Intervento"> | string fattura?: BoolFilter<"Intervento"> | boolean @@ -4679,7 +4740,7 @@ export namespace Prisma { OR?: InterventoScalarWhereWithAggregatesInput[] NOT?: InterventoScalarWhereWithAggregatesInput | InterventoScalarWhereWithAggregatesInput[] id?: IntWithAggregatesFilter<"Intervento"> | number - id_registratore?: IntWithAggregatesFilter<"Intervento"> | number + id_registratore?: StringWithAggregatesFilter<"Intervento"> | string data?: DateTimeWithAggregatesFilter<"Intervento"> | Date | string lavoro?: StringWithAggregatesFilter<"Intervento"> | string fattura?: BoolWithAggregatesFilter<"Intervento"> | boolean @@ -4689,9 +4750,9 @@ export namespace Prisma { AND?: RegistratoreWhereInput | RegistratoreWhereInput[] OR?: RegistratoreWhereInput[] NOT?: RegistratoreWhereInput | RegistratoreWhereInput[] - id?: IntFilter<"Registratore"> | number + id?: StringFilter<"Registratore"> | string id_cliente?: IntFilter<"Registratore"> | number - seriale?: StringNullableFilter<"Registratore"> | string | null + modello?: EnumModelloNullableFilter<"Registratore"> | $Enums.Modello | null data_acquisto?: DateTimeNullableFilter<"Registratore"> | Date | string | null ultima_verifica?: DateTimeNullableFilter<"Registratore"> | Date | string | null prossima_verifica?: DateTimeNullableFilter<"Registratore"> | Date | string | null @@ -4702,7 +4763,7 @@ export namespace Prisma { export type RegistratoreOrderByWithRelationInput = { id?: SortOrder id_cliente?: SortOrder - seriale?: SortOrderInput | SortOrder + modello?: SortOrderInput | SortOrder data_acquisto?: SortOrderInput | SortOrder ultima_verifica?: SortOrderInput | SortOrder prossima_verifica?: SortOrderInput | SortOrder @@ -4711,12 +4772,12 @@ export namespace Prisma { } export type RegistratoreWhereUniqueInput = Prisma.AtLeast<{ - id?: number + id?: string AND?: RegistratoreWhereInput | RegistratoreWhereInput[] OR?: RegistratoreWhereInput[] NOT?: RegistratoreWhereInput | RegistratoreWhereInput[] id_cliente?: IntFilter<"Registratore"> | number - seriale?: StringNullableFilter<"Registratore"> | string | null + modello?: EnumModelloNullableFilter<"Registratore"> | $Enums.Modello | null data_acquisto?: DateTimeNullableFilter<"Registratore"> | Date | string | null ultima_verifica?: DateTimeNullableFilter<"Registratore"> | Date | string | null prossima_verifica?: DateTimeNullableFilter<"Registratore"> | Date | string | null @@ -4727,7 +4788,7 @@ export namespace Prisma { export type RegistratoreOrderByWithAggregationInput = { id?: SortOrder id_cliente?: SortOrder - seriale?: SortOrderInput | SortOrder + modello?: SortOrderInput | SortOrder data_acquisto?: SortOrderInput | SortOrder ultima_verifica?: SortOrderInput | SortOrder prossima_verifica?: SortOrderInput | SortOrder @@ -4742,9 +4803,9 @@ export namespace Prisma { AND?: RegistratoreScalarWhereWithAggregatesInput | RegistratoreScalarWhereWithAggregatesInput[] OR?: RegistratoreScalarWhereWithAggregatesInput[] NOT?: RegistratoreScalarWhereWithAggregatesInput | RegistratoreScalarWhereWithAggregatesInput[] - id?: IntWithAggregatesFilter<"Registratore"> | number + id?: StringWithAggregatesFilter<"Registratore"> | string id_cliente?: IntWithAggregatesFilter<"Registratore"> | number - seriale?: StringNullableWithAggregatesFilter<"Registratore"> | string | null + modello?: EnumModelloNullableWithAggregatesFilter<"Registratore"> | $Enums.Modello | null data_acquisto?: DateTimeNullableWithAggregatesFilter<"Registratore"> | Date | string | null ultima_verifica?: DateTimeNullableWithAggregatesFilter<"Registratore"> | Date | string | null prossima_verifica?: DateTimeNullableWithAggregatesFilter<"Registratore"> | Date | string | null @@ -4762,6 +4823,8 @@ export namespace Prisma { sede?: StringFilter<"Cliente"> | string sede_url?: StringFilter<"Cliente"> | string contratto?: StringFilter<"Cliente"> | string + lat?: FloatFilter<"Cliente"> | number + lon?: FloatFilter<"Cliente"> | number registratori?: RegistratoreListRelationFilter } @@ -4774,6 +4837,8 @@ export namespace Prisma { sede?: SortOrder sede_url?: SortOrder contratto?: SortOrder + lat?: SortOrder + lon?: SortOrder registratori?: RegistratoreOrderByRelationAggregateInput } @@ -4789,6 +4854,8 @@ export namespace Prisma { sede?: StringFilter<"Cliente"> | string sede_url?: StringFilter<"Cliente"> | string contratto?: StringFilter<"Cliente"> | string + lat?: FloatFilter<"Cliente"> | number + lon?: FloatFilter<"Cliente"> | number registratori?: RegistratoreListRelationFilter }, "id" | "ragione_sociale"> @@ -4801,6 +4868,8 @@ export namespace Prisma { sede?: SortOrder sede_url?: SortOrder contratto?: SortOrder + lat?: SortOrder + lon?: SortOrder _count?: ClienteCountOrderByAggregateInput _avg?: ClienteAvgOrderByAggregateInput _max?: ClienteMaxOrderByAggregateInput @@ -4820,6 +4889,8 @@ export namespace Prisma { sede?: StringWithAggregatesFilter<"Cliente"> | string sede_url?: StringWithAggregatesFilter<"Cliente"> | string contratto?: StringWithAggregatesFilter<"Cliente"> | string + lat?: FloatWithAggregatesFilter<"Cliente"> | number + lon?: FloatWithAggregatesFilter<"Cliente"> | number } export type InterventoCreateInput = { @@ -4831,7 +4902,7 @@ export namespace Prisma { export type InterventoUncheckedCreateInput = { id?: number - id_registratore: number + id_registratore: string data: Date | string lavoro: string fattura: boolean @@ -4846,7 +4917,7 @@ export namespace Prisma { export type InterventoUncheckedUpdateInput = { id?: IntFieldUpdateOperationsInput | number - id_registratore?: IntFieldUpdateOperationsInput | number + id_registratore?: StringFieldUpdateOperationsInput | string data?: DateTimeFieldUpdateOperationsInput | Date | string lavoro?: StringFieldUpdateOperationsInput | string fattura?: BoolFieldUpdateOperationsInput | boolean @@ -4854,7 +4925,7 @@ export namespace Prisma { export type InterventoCreateManyInput = { id?: number - id_registratore: number + id_registratore: string data: Date | string lavoro: string fattura: boolean @@ -4868,14 +4939,15 @@ export namespace Prisma { export type InterventoUncheckedUpdateManyInput = { id?: IntFieldUpdateOperationsInput | number - id_registratore?: IntFieldUpdateOperationsInput | number + id_registratore?: StringFieldUpdateOperationsInput | string data?: DateTimeFieldUpdateOperationsInput | Date | string lavoro?: StringFieldUpdateOperationsInput | string fattura?: BoolFieldUpdateOperationsInput | boolean } export type RegistratoreCreateInput = { - seriale?: string | null + id: string + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null @@ -4884,9 +4956,9 @@ export namespace Prisma { } export type RegistratoreUncheckedCreateInput = { - id?: number + id: string id_cliente: number - seriale?: string | null + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null @@ -4894,7 +4966,8 @@ export namespace Prisma { } export type RegistratoreUpdateInput = { - seriale?: NullableStringFieldUpdateOperationsInput | string | null + id?: StringFieldUpdateOperationsInput | string + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -4903,9 +4976,9 @@ export namespace Prisma { } export type RegistratoreUncheckedUpdateInput = { - id?: IntFieldUpdateOperationsInput | number + id?: StringFieldUpdateOperationsInput | string id_cliente?: IntFieldUpdateOperationsInput | number - seriale?: NullableStringFieldUpdateOperationsInput | string | null + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -4913,25 +4986,26 @@ export namespace Prisma { } export type RegistratoreCreateManyInput = { - id?: number + id: string id_cliente: number - seriale?: string | null + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null } export type RegistratoreUpdateManyMutationInput = { - seriale?: NullableStringFieldUpdateOperationsInput | string | null + id?: StringFieldUpdateOperationsInput | string + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null } export type RegistratoreUncheckedUpdateManyInput = { - id?: IntFieldUpdateOperationsInput | number + id?: StringFieldUpdateOperationsInput | string id_cliente?: IntFieldUpdateOperationsInput | number - seriale?: NullableStringFieldUpdateOperationsInput | string | null + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -4945,6 +5019,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number registratori?: RegistratoreCreateNestedManyWithoutClienteInput } @@ -4957,6 +5033,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number registratori?: RegistratoreUncheckedCreateNestedManyWithoutClienteInput } @@ -4968,6 +5046,8 @@ export namespace Prisma { sede?: StringFieldUpdateOperationsInput | string sede_url?: StringFieldUpdateOperationsInput | string contratto?: StringFieldUpdateOperationsInput | string + lat?: FloatFieldUpdateOperationsInput | number + lon?: FloatFieldUpdateOperationsInput | number registratori?: RegistratoreUpdateManyWithoutClienteNestedInput } @@ -4980,6 +5060,8 @@ export namespace Prisma { sede?: StringFieldUpdateOperationsInput | string sede_url?: StringFieldUpdateOperationsInput | string contratto?: StringFieldUpdateOperationsInput | string + lat?: FloatFieldUpdateOperationsInput | number + lon?: FloatFieldUpdateOperationsInput | number registratori?: RegistratoreUncheckedUpdateManyWithoutClienteNestedInput } @@ -4992,6 +5074,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number } export type ClienteUpdateManyMutationInput = { @@ -5002,6 +5086,8 @@ export namespace Prisma { sede?: StringFieldUpdateOperationsInput | string sede_url?: StringFieldUpdateOperationsInput | string contratto?: StringFieldUpdateOperationsInput | string + lat?: FloatFieldUpdateOperationsInput | number + lon?: FloatFieldUpdateOperationsInput | number } export type ClienteUncheckedUpdateManyInput = { @@ -5013,6 +5099,8 @@ export namespace Prisma { sede?: StringFieldUpdateOperationsInput | string sede_url?: StringFieldUpdateOperationsInput | string contratto?: StringFieldUpdateOperationsInput | string + lat?: FloatFieldUpdateOperationsInput | number + lon?: FloatFieldUpdateOperationsInput | number } export type IntFilter<$PrismaModel = never> = { @@ -5026,17 +5114,6 @@ export namespace Prisma { not?: NestedIntFilter<$PrismaModel> | number } - export type DateTimeFilter<$PrismaModel = never> = { - equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - not?: NestedDateTimeFilter<$PrismaModel> | Date | string - } - export type StringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -5052,6 +5129,17 @@ export namespace Prisma { not?: NestedStringFilter<$PrismaModel> | string } + export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + export type BoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean @@ -5072,7 +5160,6 @@ export namespace Prisma { export type InterventoAvgOrderByAggregateInput = { id?: SortOrder - id_registratore?: SortOrder } export type InterventoMaxOrderByAggregateInput = { @@ -5093,7 +5180,6 @@ export namespace Prisma { export type InterventoSumOrderByAggregateInput = { id?: SortOrder - id_registratore?: SortOrder } export type IntWithAggregatesFilter<$PrismaModel = never> = { @@ -5112,20 +5198,6 @@ export namespace Prisma { _max?: NestedIntFilter<$PrismaModel> } - export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { - equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string - _count?: NestedIntFilter<$PrismaModel> - _min?: NestedDateTimeFilter<$PrismaModel> - _max?: NestedDateTimeFilter<$PrismaModel> - } - export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -5144,6 +5216,20 @@ export namespace Prisma { _max?: NestedStringFilter<$PrismaModel> } + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + export type BoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean @@ -5152,19 +5238,11 @@ export namespace Prisma { _max?: NestedBoolFilter<$PrismaModel> } - export type StringNullableFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> | null - in?: string[] | ListStringFieldRefInput<$PrismaModel> | null - notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - mode?: QueryMode - not?: NestedStringNullableFilter<$PrismaModel> | string | null + export type EnumModelloNullableFilter<$PrismaModel = never> = { + equals?: $Enums.Modello | EnumModelloFieldRefInput<$PrismaModel> | null + in?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + notIn?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + not?: NestedEnumModelloNullableFilter<$PrismaModel> | $Enums.Modello | null } export type DateTimeNullableFilter<$PrismaModel = never> = { @@ -5201,21 +5279,20 @@ export namespace Prisma { export type RegistratoreCountOrderByAggregateInput = { id?: SortOrder id_cliente?: SortOrder - seriale?: SortOrder + modello?: SortOrder data_acquisto?: SortOrder ultima_verifica?: SortOrder prossima_verifica?: SortOrder } export type RegistratoreAvgOrderByAggregateInput = { - id?: SortOrder id_cliente?: SortOrder } export type RegistratoreMaxOrderByAggregateInput = { id?: SortOrder id_cliente?: SortOrder - seriale?: SortOrder + modello?: SortOrder data_acquisto?: SortOrder ultima_verifica?: SortOrder prossima_verifica?: SortOrder @@ -5224,33 +5301,24 @@ export namespace Prisma { export type RegistratoreMinOrderByAggregateInput = { id?: SortOrder id_cliente?: SortOrder - seriale?: SortOrder + modello?: SortOrder data_acquisto?: SortOrder ultima_verifica?: SortOrder prossima_verifica?: SortOrder } export type RegistratoreSumOrderByAggregateInput = { - id?: SortOrder id_cliente?: SortOrder } - export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> | null - in?: string[] | ListStringFieldRefInput<$PrismaModel> | null - notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - mode?: QueryMode - not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + export type EnumModelloNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Modello | EnumModelloFieldRefInput<$PrismaModel> | null + in?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + notIn?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + not?: NestedEnumModelloNullableWithAggregatesFilter<$PrismaModel> | $Enums.Modello | null _count?: NestedIntNullableFilter<$PrismaModel> - _min?: NestedStringNullableFilter<$PrismaModel> - _max?: NestedStringNullableFilter<$PrismaModel> + _min?: NestedEnumModelloNullableFilter<$PrismaModel> + _max?: NestedEnumModelloNullableFilter<$PrismaModel> } export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { @@ -5267,6 +5335,17 @@ export namespace Prisma { _max?: NestedDateTimeNullableFilter<$PrismaModel> } + export type FloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + export type RegistratoreListRelationFilter = { every?: RegistratoreWhereInput some?: RegistratoreWhereInput @@ -5286,10 +5365,14 @@ export namespace Prisma { sede?: SortOrder sede_url?: SortOrder contratto?: SortOrder + lat?: SortOrder + lon?: SortOrder } export type ClienteAvgOrderByAggregateInput = { id?: SortOrder + lat?: SortOrder + lon?: SortOrder } export type ClienteMaxOrderByAggregateInput = { @@ -5301,6 +5384,8 @@ export namespace Prisma { sede?: SortOrder sede_url?: SortOrder contratto?: SortOrder + lat?: SortOrder + lon?: SortOrder } export type ClienteMinOrderByAggregateInput = { @@ -5312,10 +5397,30 @@ export namespace Prisma { sede?: SortOrder sede_url?: SortOrder contratto?: SortOrder + lat?: SortOrder + lon?: SortOrder } export type ClienteSumOrderByAggregateInput = { id?: SortOrder + lat?: SortOrder + lon?: SortOrder + } + + export type FloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> } export type RegistratoreCreateNestedOneWithoutInterventiInput = { @@ -5372,8 +5477,8 @@ export namespace Prisma { connect?: InterventoWhereUniqueInput | InterventoWhereUniqueInput[] } - export type NullableStringFieldUpdateOperationsInput = { - set?: string | null + export type NullableEnumModelloFieldUpdateOperationsInput = { + set?: $Enums.Modello | null } export type NullableDateTimeFieldUpdateOperationsInput = { @@ -5430,6 +5535,14 @@ export namespace Prisma { connect?: RegistratoreWhereUniqueInput | RegistratoreWhereUniqueInput[] } + export type FloatFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + export type RegistratoreUpdateManyWithoutClienteNestedInput = { create?: XOR | RegistratoreCreateWithoutClienteInput[] | RegistratoreUncheckedCreateWithoutClienteInput[] connectOrCreate?: RegistratoreCreateOrConnectWithoutClienteInput | RegistratoreCreateOrConnectWithoutClienteInput[] @@ -5469,17 +5582,6 @@ export namespace Prisma { not?: NestedIntFilter<$PrismaModel> | number } - export type NestedDateTimeFilter<$PrismaModel = never> = { - equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - not?: NestedDateTimeFilter<$PrismaModel> | Date | string - } - export type NestedStringFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -5494,6 +5596,17 @@ export namespace Prisma { not?: NestedStringFilter<$PrismaModel> | string } + export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + export type NestedBoolFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolFilter<$PrismaModel> | boolean @@ -5526,20 +5639,6 @@ export namespace Prisma { not?: NestedFloatFilter<$PrismaModel> | number } - export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { - equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> - lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> - gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> - not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string - _count?: NestedIntFilter<$PrismaModel> - _min?: NestedDateTimeFilter<$PrismaModel> - _max?: NestedDateTimeFilter<$PrismaModel> - } - export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | StringFieldRefInput<$PrismaModel> in?: string[] | ListStringFieldRefInput<$PrismaModel> @@ -5557,6 +5656,20 @@ export namespace Prisma { _max?: NestedStringFilter<$PrismaModel> } + export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { equals?: boolean | BooleanFieldRefInput<$PrismaModel> not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean @@ -5565,18 +5678,11 @@ export namespace Prisma { _max?: NestedBoolFilter<$PrismaModel> } - export type NestedStringNullableFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> | null - in?: string[] | ListStringFieldRefInput<$PrismaModel> | null - notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - not?: NestedStringNullableFilter<$PrismaModel> | string | null + export type NestedEnumModelloNullableFilter<$PrismaModel = never> = { + equals?: $Enums.Modello | EnumModelloFieldRefInput<$PrismaModel> | null + in?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + notIn?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + not?: NestedEnumModelloNullableFilter<$PrismaModel> | $Enums.Modello | null } export type NestedDateTimeNullableFilter<$PrismaModel = never> = { @@ -5590,21 +5696,14 @@ export namespace Prisma { not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null } - export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { - equals?: string | StringFieldRefInput<$PrismaModel> | null - in?: string[] | ListStringFieldRefInput<$PrismaModel> | null - notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null - lt?: string | StringFieldRefInput<$PrismaModel> - lte?: string | StringFieldRefInput<$PrismaModel> - gt?: string | StringFieldRefInput<$PrismaModel> - gte?: string | StringFieldRefInput<$PrismaModel> - contains?: string | StringFieldRefInput<$PrismaModel> - startsWith?: string | StringFieldRefInput<$PrismaModel> - endsWith?: string | StringFieldRefInput<$PrismaModel> - not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + export type NestedEnumModelloNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Modello | EnumModelloFieldRefInput<$PrismaModel> | null + in?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + notIn?: $Enums.Modello[] | ListEnumModelloFieldRefInput<$PrismaModel> | null + not?: NestedEnumModelloNullableWithAggregatesFilter<$PrismaModel> | $Enums.Modello | null _count?: NestedIntNullableFilter<$PrismaModel> - _min?: NestedStringNullableFilter<$PrismaModel> - _max?: NestedStringNullableFilter<$PrismaModel> + _min?: NestedEnumModelloNullableFilter<$PrismaModel> + _max?: NestedEnumModelloNullableFilter<$PrismaModel> } export type NestedIntNullableFilter<$PrismaModel = never> = { @@ -5632,8 +5731,25 @@ export namespace Prisma { _max?: NestedDateTimeNullableFilter<$PrismaModel> } + export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + export type RegistratoreCreateWithoutInterventiInput = { - seriale?: string | null + id: string + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null @@ -5641,9 +5757,9 @@ export namespace Prisma { } export type RegistratoreUncheckedCreateWithoutInterventiInput = { - id?: number + id: string id_cliente: number - seriale?: string | null + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null @@ -5666,7 +5782,8 @@ export namespace Prisma { } export type RegistratoreUpdateWithoutInterventiInput = { - seriale?: NullableStringFieldUpdateOperationsInput | string | null + id?: StringFieldUpdateOperationsInput | string + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -5674,9 +5791,9 @@ export namespace Prisma { } export type RegistratoreUncheckedUpdateWithoutInterventiInput = { - id?: IntFieldUpdateOperationsInput | number + id?: StringFieldUpdateOperationsInput | string id_cliente?: IntFieldUpdateOperationsInput | number - seriale?: NullableStringFieldUpdateOperationsInput | string | null + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -5690,6 +5807,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number } export type ClienteUncheckedCreateWithoutRegistratoriInput = { @@ -5701,6 +5820,8 @@ export namespace Prisma { sede: string sede_url: string contratto: string + lat: number + lon: number } export type ClienteCreateOrConnectWithoutRegistratoriInput = { @@ -5750,6 +5871,8 @@ export namespace Prisma { sede?: StringFieldUpdateOperationsInput | string sede_url?: StringFieldUpdateOperationsInput | string contratto?: StringFieldUpdateOperationsInput | string + lat?: FloatFieldUpdateOperationsInput | number + lon?: FloatFieldUpdateOperationsInput | number } export type ClienteUncheckedUpdateWithoutRegistratoriInput = { @@ -5761,6 +5884,8 @@ export namespace Prisma { sede?: StringFieldUpdateOperationsInput | string sede_url?: StringFieldUpdateOperationsInput | string contratto?: StringFieldUpdateOperationsInput | string + lat?: FloatFieldUpdateOperationsInput | number + lon?: FloatFieldUpdateOperationsInput | number } export type InterventoUpsertWithWhereUniqueWithoutRegistratoreInput = { @@ -5784,14 +5909,15 @@ export namespace Prisma { OR?: InterventoScalarWhereInput[] NOT?: InterventoScalarWhereInput | InterventoScalarWhereInput[] id?: IntFilter<"Intervento"> | number - id_registratore?: IntFilter<"Intervento"> | number + id_registratore?: StringFilter<"Intervento"> | string data?: DateTimeFilter<"Intervento"> | Date | string lavoro?: StringFilter<"Intervento"> | string fattura?: BoolFilter<"Intervento"> | boolean } export type RegistratoreCreateWithoutClienteInput = { - seriale?: string | null + id: string + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null @@ -5799,8 +5925,8 @@ export namespace Prisma { } export type RegistratoreUncheckedCreateWithoutClienteInput = { - id?: number - seriale?: string | null + id: string + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null @@ -5837,9 +5963,9 @@ export namespace Prisma { AND?: RegistratoreScalarWhereInput | RegistratoreScalarWhereInput[] OR?: RegistratoreScalarWhereInput[] NOT?: RegistratoreScalarWhereInput | RegistratoreScalarWhereInput[] - id?: IntFilter<"Registratore"> | number + id?: StringFilter<"Registratore"> | string id_cliente?: IntFilter<"Registratore"> | number - seriale?: StringNullableFilter<"Registratore"> | string | null + modello?: EnumModelloNullableFilter<"Registratore"> | $Enums.Modello | null data_acquisto?: DateTimeNullableFilter<"Registratore"> | Date | string | null ultima_verifica?: DateTimeNullableFilter<"Registratore"> | Date | string | null prossima_verifica?: DateTimeNullableFilter<"Registratore"> | Date | string | null @@ -5873,15 +5999,16 @@ export namespace Prisma { } export type RegistratoreCreateManyClienteInput = { - id?: number - seriale?: string | null + id: string + modello?: $Enums.Modello | null data_acquisto?: Date | string | null ultima_verifica?: Date | string | null prossima_verifica?: Date | string | null } export type RegistratoreUpdateWithoutClienteInput = { - seriale?: NullableStringFieldUpdateOperationsInput | string | null + id?: StringFieldUpdateOperationsInput | string + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -5889,8 +6016,8 @@ export namespace Prisma { } export type RegistratoreUncheckedUpdateWithoutClienteInput = { - id?: IntFieldUpdateOperationsInput | number - seriale?: NullableStringFieldUpdateOperationsInput | string | null + id?: StringFieldUpdateOperationsInput | string + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null @@ -5898,8 +6025,8 @@ export namespace Prisma { } export type RegistratoreUncheckedUpdateManyWithoutClienteInput = { - id?: IntFieldUpdateOperationsInput | number - seriale?: NullableStringFieldUpdateOperationsInput | string | null + id?: StringFieldUpdateOperationsInput | string + modello?: NullableEnumModelloFieldUpdateOperationsInput | $Enums.Modello | null data_acquisto?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null ultima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null prossima_verifica?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null diff --git a/src/generated/prisma/index.js b/src/generated/prisma/index.js index 3f6dc8b..62b07c3 100644 --- a/src/generated/prisma/index.js +++ b/src/generated/prisma/index.js @@ -104,7 +104,7 @@ exports.Prisma.InterventoScalarFieldEnum = { exports.Prisma.RegistratoreScalarFieldEnum = { id: 'id', id_cliente: 'id_cliente', - seriale: 'seriale', + modello: 'modello', data_acquisto: 'data_acquisto', ultima_verifica: 'ultima_verifica', prossima_verifica: 'prossima_verifica' @@ -118,7 +118,9 @@ exports.Prisma.ClienteScalarFieldEnum = { telefono: 'telefono', sede: 'sede', sede_url: 'sede_url', - contratto: 'contratto' + contratto: 'contratto', + lat: 'lat', + lon: 'lon' }; exports.Prisma.SortOrder = { @@ -135,7 +137,12 @@ exports.Prisma.NullsOrder = { first: 'first', last: 'last' }; - +exports.Modello = exports.$Enums.Modello = { + FORM100: 'FORM100', + FORM200: 'FORM200', + FORM200PLUS: 'FORM200PLUS', + FORM500: 'FORM500' +}; exports.Prisma.ModelName = { Intervento: 'Intervento', @@ -189,8 +196,8 @@ const config = { } } }, - "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Intervento {\n id Int @id @default(autoincrement())\n id_registratore Int\n data DateTime @db.Date\n lavoro String @db.Text\n fattura Boolean @db.Boolean\n registratore Registratore @relation(fields: [id_registratore], references: [id])\n}\n\nmodel Registratore {\n id Int @id @default(autoincrement())\n id_cliente Int\n seriale String? @db.VarChar(255)\n data_acquisto DateTime? @db.Date\n ultima_verifica DateTime? @db.Date\n prossima_verifica DateTime? @db.Date\n cliente Cliente @relation(fields: [id_cliente], references: [id])\n interventi Intervento[]\n}\n\nmodel Cliente {\n id Int @id @default(autoincrement())\n ragione_sociale String @unique @db.VarChar(255)\n email String @db.VarChar(255)\n partita_iva String @db.VarChar(255)\n telefono String @db.VarChar(255)\n sede String @db.VarChar(255)\n sede_url String @db.VarChar(255)\n contratto String @db.VarChar(255)\n registratori Registratore[]\n}\n", - "inlineSchemaHash": "70d19759fda92cfa8dfe96db3ee01c6cf89b508717f745431bdaf7866ae6512a", + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nenum Modello {\n FORM100\n FORM200\n FORM200PLUS\n FORM500\n}\n\nmodel Intervento {\n id Int @id @default(autoincrement())\n id_registratore String\n data DateTime @db.Date\n lavoro String @db.Text\n fattura Boolean @db.Boolean\n registratore Registratore @relation(fields: [id_registratore], references: [id])\n}\n\nmodel Registratore {\n id String @id\n id_cliente Int\n modello Modello?\n data_acquisto DateTime? @db.Date\n ultima_verifica DateTime? @db.Date\n prossima_verifica DateTime? @db.Date\n cliente Cliente @relation(fields: [id_cliente], references: [id])\n interventi Intervento[]\n}\n\nmodel Cliente {\n id Int @id @default(autoincrement())\n ragione_sociale String @unique @db.VarChar(255)\n email String @db.VarChar(255)\n partita_iva String @db.VarChar(255)\n telefono String @db.VarChar(255)\n sede String @db.VarChar(255)\n sede_url String @db.VarChar(255)\n contratto String @db.VarChar(255)\n lat Float\n lon Float\n registratori Registratore[]\n}\n", + "inlineSchemaHash": "3424ce1a172605bbf2b32e4c6ada582172d780cc98a6e12f826a26c0cc5b9555", "copyEngine": true } @@ -211,7 +218,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { config.isBundled = true } -config.runtimeDataModel = JSON.parse("{\"models\":{\"Intervento\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_registratore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lavoro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fattura\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":[\"Boolean\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratore\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[\"id_registratore\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Registratore\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_cliente\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"seriale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data_acquisto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ultima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"prossima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cliente\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Cliente\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[\"id_cliente\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interventi\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Intervento\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Cliente\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ragione_sociale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"partita_iva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telefono\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contratto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratori\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"Intervento\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_registratore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lavoro\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fattura\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Boolean\",\"nativeType\":[\"Boolean\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratore\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[\"id_registratore\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Registratore\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"id_cliente\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"modello\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Modello\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"data_acquisto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ultima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"prossima_verifica\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cliente\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Cliente\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[\"id_cliente\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"interventi\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Intervento\",\"nativeType\":null,\"relationName\":\"InterventoToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Cliente\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":{\"name\":\"autoincrement\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ragione_sociale\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"partita_iva\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"telefono\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sede_url\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"contratto\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"VarChar\",[\"255\"]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lat\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"registratori\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Registratore\",\"nativeType\":null,\"relationName\":\"ClienteToRegistratore\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"Modello\":{\"values\":[{\"name\":\"FORM100\",\"dbName\":null},{\"name\":\"FORM200\",\"dbName\":null},{\"name\":\"FORM200PLUS\",\"dbName\":null},{\"name\":\"FORM500\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") defineDmmfProperty(exports.Prisma, config.runtimeDataModel) config.engineWasm = undefined config.compilerWasm = undefined diff --git a/src/generated/prisma/package.json b/src/generated/prisma/package.json index 80f3dbd..16b3171 100644 --- a/src/generated/prisma/package.json +++ b/src/generated/prisma/package.json @@ -1,5 +1,5 @@ { - "name": "prisma-client-a0a80ba0555f8568703a32f3b3a8d9358801f7fa1dcdf09b6f9e9540596b839b", + "name": "prisma-client-58455549b989c60e3bedecbaad5fb747da20ec4980d09c51c40211ff854da52b", "main": "index.js", "types": "index.d.ts", "browser": "default.js", diff --git a/src/generated/prisma/query_engine-windows.dll.node.tmp12336 b/src/generated/prisma/query_engine-windows.dll.node.tmp12336 new file mode 100644 index 0000000000000000000000000000000000000000..84355f0aa9ca133930be618bc1d4d2302099d968 GIT binary patch literal 21046272 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