From 4f2f5b5694efcad507697c97fb015c0a7b356d3d Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 25 Feb 2026 22:57:03 +0700 Subject: [PATCH] add schema for box and item add mobile version for datatable --- messages/en.json | 4 +- messages/vi.json | 3 +- package.json | 5 +- pnpm-lock.yaml | 105 +- .../20260225031506_box_and_item/migration.sql | 69 + prisma/schema.prisma | 253 ++- src/components/DataTable.tsx | 43 +- src/components/audit/audit-columns.tsx | 6 +- src/components/house/house-column.tsx | 3 + src/components/sidebar/nav-main.tsx | 6 + src/components/user/user-column.tsx | 7 +- src/generated/prisma/browser.ts | 10 + src/generated/prisma/client.ts | 10 + src/generated/prisma/commonInputTypes.ts | 54 + src/generated/prisma/internal/class.ts | 38 +- .../prisma/internal/prismaNamespace.ts | 215 +- .../prisma/internal/prismaNamespaceBrowser.ts | 41 +- src/generated/prisma/models.ts | 2 + src/generated/prisma/models/Box.ts | 1948 +++++++++++++++++ src/generated/prisma/models/House.ts | 137 ++ src/generated/prisma/models/Item.ts | 1862 ++++++++++++++++ src/generated/prisma/models/User.ts | 364 +++ src/routeTree.gen.ts | 21 + src/routes/(app)/(auth)/kanri/boxes.tsx | 48 + src/service/disk-storage.ts | 5 +- src/types/table.d.ts | 1 + 26 files changed, 5092 insertions(+), 168 deletions(-) create mode 100644 prisma/migrations/20260225031506_box_and_item/migration.sql create mode 100644 src/generated/prisma/models/Box.ts create mode 100644 src/generated/prisma/models/Item.ts create mode 100644 src/routes/(app)/(auth)/kanri/boxes.tsx diff --git a/messages/en.json b/messages/en.json index 9867e22..c58022f 100644 --- a/messages/en.json +++ b/messages/en.json @@ -79,9 +79,9 @@ "nav_logs": "Logs", "nav_users": "Users", "nav_houses": "Houses", - "nav_box": "Box", "nav_account": "Account", "nav_profile": "Profile", + "nav_boxes": "Hộp chứa", "login_page_form_email": "Email", "login_page_form_password": "Password", "login_page_ui_welcome_back": "Welcome back", @@ -222,6 +222,8 @@ } ], "notification_page_message_invitation_success": "You have been invited to join house!", + "notification_page_message_invitation_rejected": "You have been rejected to join house!", + "boxes_pages_ui_title": "Boxes", "backend_message": [ { "match": { diff --git a/messages/vi.json b/messages/vi.json index 72a726b..d10ab07 100644 --- a/messages/vi.json +++ b/messages/vi.json @@ -82,9 +82,9 @@ "nav_logs": "Lịch sử", "nav_users": "Người dùng", "nav_houses": "Nhà", - "nav_box": "Hộp chứa", "nav_account": "Tài khoản", "nav_profile": "Hồ sơ", + "nav_boxes": "Hộp chứa", "login_page_form_email": "Email", "login_page_form_password": "Mật khẩu", "login_page_ui_welcome_back": "Chào mừng trở lại", @@ -227,6 +227,7 @@ ], "notification_page_message_invitation_success": "Bạn đã đồng ý tham gia nhà!", "notification_page_message_invitation_rejected": "Bạn đã từ chối tham gia nhà!", + "boxes_pages_ui_title": "Hộp chứa", "backend_message": [ { "match": { diff --git a/package.json b/package.json index 0096267..ade21f8 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "@fontsource-variable/inter": "^5.2.8", "@phosphor-icons/react": "^2.1.10", "@prisma/adapter-pg": "^7.1.0", - "@prisma/client": "^7.1.0", + "@prisma/client": "^7.4.1", "@tailwindcss/vite": "^4.0.6", "@tanstack/react-devtools": "^0.9.4", "@tanstack/react-form": "^1.27.7", @@ -40,7 +40,7 @@ "clsx": "^2.1.1", "html-react-parser": "^5.2.16", "next-themes": "^0.4.6", - "prisma": "^7.1.0", + "pnpm": "^10.30.2", "radix-ui": "^1.4.3", "react": "^19.2.4", "react-dom": "^19.2.4", @@ -66,6 +66,7 @@ "dotenv-cli": "^11.0.0", "jsdom": "^28.0.0", "prettier": "^3.8.1", + "prisma": "^7.4.1", "tsx": "^4.20.6", "typescript": "^5.7.2", "vite": "^7.1.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7b2a32..e846e94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,8 +21,8 @@ importers: specifier: ^7.1.0 version: 7.3.0 '@prisma/client': - specifier: ^7.1.0 - version: 7.3.0(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) + specifier: ^7.4.1 + version: 7.4.1(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) '@tailwindcss/vite': specifier: ^4.0.6 version: 4.1.18(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)) @@ -58,7 +58,7 @@ importers: version: 1.158.0(@tanstack/react-router@1.158.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4))(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)) better-auth: specifier: ^1.4.10 - version: 1.4.18(@prisma/client@7.3.0(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.158.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)))(mysql2@3.15.3)(pg@8.18.0)(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.11)(vitest@4.0.18(@types/node@25.2.0)(jiti@2.6.1)(jsdom@28.0.0(@noble/hashes@2.0.1))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.2.0)(typescript@5.9.3))(tsx@4.21.0)) + version: 1.4.18(@prisma/client@7.4.1(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.158.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)))(mysql2@3.15.3)(pg@8.18.0)(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.11)(vitest@4.0.18(@types/node@25.2.0)(jiti@2.6.1)(jsdom@28.0.0(@noble/hashes@2.0.1))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.2.0)(typescript@5.9.3))(tsx@4.21.0)) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -71,9 +71,9 @@ importers: next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.2.4(react@19.2.4))(react@19.2.4) - prisma: - specifier: ^7.1.0 - version: 7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + pnpm: + specifier: ^10.30.2 + version: 10.30.2 radix-ui: specifier: ^1.4.3 version: 1.4.3(@types/react-dom@19.2.3(@types/react@19.2.10))(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -144,6 +144,9 @@ importers: prettier: specifier: ^3.8.1 version: 3.8.1 + prisma: + specifier: ^7.4.1 + version: 7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) tsx: specifier: ^4.20.6 version: 4.21.0 @@ -853,11 +856,11 @@ packages: '@prisma/adapter-pg@7.3.0': resolution: {integrity: sha512-iuYQMbIPO6i9O45Fv8TB7vWu00BXhCaNAShenqF7gLExGDbnGp5BfFB4yz1K59zQ59jF6tQ9YHrg0P6/J3OoLg==} - '@prisma/client-runtime-utils@7.3.0': - resolution: {integrity: sha512-dG/ceD9c+tnXATPk8G+USxxYM9E6UdMTnQeQ+1SZUDxTz7SgQcfxEqafqIQHcjdlcNK/pvmmLfSwAs3s2gYwUw==} + '@prisma/client-runtime-utils@7.4.1': + resolution: {integrity: sha512-8fy74OMYC7mt9cJ2MncIDk1awPRgmtXVvwTN2FlW4JVhbck8Dgt0wTkhPG85myfj4ZeP2stjF9Sdg12n5HrpQg==} - '@prisma/client@7.3.0': - resolution: {integrity: sha512-FXBIxirqQfdC6b6HnNgxGmU7ydCPEPk7maHMOduJJfnTP+MuOGa15X4omjR/zpPUUpm8ef/mEFQjJudOGkXFcQ==} + '@prisma/client@7.4.1': + resolution: {integrity: sha512-pgIll2W1NVdof37xLeyySW+yfQ4rI+ERGCRwnO3BjVOx42GpYq6jhTyuALK8VKirvJJIvImgfGDA2qwhYVvMuA==} engines: {node: ^20.19 || ^22.12 || >=24.0} peerDependencies: prisma: '*' @@ -868,8 +871,8 @@ packages: typescript: optional: true - '@prisma/config@7.3.0': - resolution: {integrity: sha512-QyMV67+eXF7uMtKxTEeQqNu/Be7iH+3iDZOQZW5ttfbSwBamCSdwPszA0dum+Wx27I7anYTPLmRmMORKViSW1A==} + '@prisma/config@7.4.1': + resolution: {integrity: sha512-vteSXm8N46bo3FW9MhPGVHAj+KRgrR6TWtlSk6GqToCKjTnOexXdPZyiDyEsfVW38YhqEmVl6w/6iHN8uYVJcw==} '@prisma/debug@7.2.0': resolution: {integrity: sha512-YSGTiSlBAVJPzX4ONZmMotL+ozJwQjRmZweQNIq/ER0tQJKJynNkRB3kyvt37eOfsbMCXk3gnLF6J9OJ4QWftw==} @@ -877,26 +880,29 @@ packages: '@prisma/debug@7.3.0': resolution: {integrity: sha512-yh/tHhraCzYkffsI1/3a7SHX8tpgbJu1NPnuxS4rEpJdWAUDHUH25F1EDo6PPzirpyLNkgPPZdhojQK804BGtg==} + '@prisma/debug@7.4.1': + resolution: {integrity: sha512-qEtzO8oLouRv18JDQUC3G3Gnv+fGVscHZm/x1DBB/WT+kOvPDQLM2woX6IGgWnSMYYlrxjuALshT7G/blvY0bQ==} + '@prisma/dev@0.20.0': resolution: {integrity: sha512-ovlBYwWor0OzG+yH4J3Ot+AneD818BttLA+Ii7wjbcLHUrnC4tbUPVGyNd3c/+71KETPKZfjhkTSpdS15dmXNQ==} '@prisma/driver-adapter-utils@7.3.0': resolution: {integrity: sha512-Wdlezh1ck0Rq2dDINkfSkwbR53q53//Eo1vVqVLwtiZ0I6fuWDGNPxwq+SNAIHnsU+FD/m3aIJKevH3vF13U3w==} - '@prisma/engines-version@7.3.0-16.9d6ad21cbbceab97458517b147a6a09ff43aa735': - resolution: {integrity: sha512-IH2va2ouUHihyiTTRW889LjKAl1CusZOvFfZxCDNpjSENt7g2ndFsK0vdIw/72v7+jCN6YgkHmdAP/BI7SDgyg==} + '@prisma/engines-version@7.5.0-4.55ae170b1ced7fc6ed07a15f110549408c501bb3': + resolution: {integrity: sha512-fUxVd1TjOW8K4XsZ8dAm88sDW5Ry7AxWDfsYEWwScS6Fjo3caKC6hgNumUfsmsy0Il9LjDn5X0PpVXNt3iwayw==} - '@prisma/engines@7.3.0': - resolution: {integrity: sha512-cWRQoPDXPtR6stOWuWFZf9pHdQ/o8/QNWn0m0zByxf5Kd946Q875XdEJ52pEsX88vOiXUmjuPG3euw82mwQNMg==} + '@prisma/engines@7.4.1': + resolution: {integrity: sha512-BZEBdHvNJx5PzIG37EI/Zi5UUI5hGWjkYsQmKa7OIK6evAvebOTwutjS/VRI6cA6grmA52eLZR+oekGRMqkKxQ==} - '@prisma/fetch-engine@7.3.0': - resolution: {integrity: sha512-Mm0F84JMqM9Vxk70pzfNpGJ1lE4hYjOeLMu7nOOD1i83nvp8MSAcFYBnHqLvEZiA6onUR+m8iYogtOY4oPO5lQ==} + '@prisma/fetch-engine@7.4.1': + resolution: {integrity: sha512-Z9kbuxX2bvEsyeS3LZEiEnxG0lVtZbpYgaAnPj69N+A9f2De8Lta0EoFtld9zhfERVPIQWhSWUc8himky3qYdA==} '@prisma/get-platform@7.2.0': resolution: {integrity: sha512-k1V0l0Td1732EHpAfi2eySTezyllok9dXb6UQanajkJQzPUGi3vO2z7jdkz67SypFTdmbnyGYxvEvYZdZsMAVA==} - '@prisma/get-platform@7.3.0': - resolution: {integrity: sha512-N7c6m4/I0Q6JYmWKP2RCD/sM9eWiyCPY98g5c0uEktObNSZnugW2U/PO+pwL0UaqzxqTXt7gTsYsb0FnMnJNbg==} + '@prisma/get-platform@7.4.1': + resolution: {integrity: sha512-kN4tmkQzlgm/KtE+jTNSYjsDxxe/5i6GApPI32BN9T0tlgsgSBtDJbjGBICttkAIjsh73dXf8raPKxO/2n2UUg==} '@prisma/query-plan-executor@7.2.0': resolution: {integrity: sha512-EOZmNzcV8uJ0mae3DhTsiHgoNCuu1J9mULQpGCh62zN3PxPTd+qI9tJvk5jOst8WHKQNwJWR3b39t0XvfBB0WQ==} @@ -3985,6 +3991,11 @@ packages: pkg-types@2.3.0: resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + pnpm@10.30.2: + resolution: {integrity: sha512-Ns3HB+e3lAqYjJwez4jQhPhRS1w/CF9TouJEwpIdOyVFvCDdTr4fwkX+7EY7spiuzqemPtH3aAuHfcY3nY0MtA==} + engines: {node: '>=18.12'} + hasBin: true + postcss-selector-parser@7.1.1: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} @@ -4038,8 +4049,8 @@ packages: resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} engines: {node: '>=18'} - prisma@7.3.0: - resolution: {integrity: sha512-ApYSOLHfMN8WftJA+vL6XwAPOh/aZ0BgUyyKPwUFgjARmG6EBI9LzDPf6SWULQMSAxydV9qn5gLj037nPNlg2w==} + prisma@7.4.1: + resolution: {integrity: sha512-gDKOXwnPiMdB+uYMhMeN8jj4K7Cu3Q2wB/wUsITOoOk446HtVb8T9BZxFJ1Zop6alc89k6PMNdR2FZCpbXp/jw==} engines: {node: ^20.19 || ^22.12 || >=24.0} hasBin: true peerDependencies: @@ -5606,16 +5617,16 @@ snapshots: transitivePeerDependencies: - pg-native - '@prisma/client-runtime-utils@7.3.0': {} + '@prisma/client-runtime-utils@7.4.1': {} - '@prisma/client@7.3.0(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3)': + '@prisma/client@7.4.1(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3)': dependencies: - '@prisma/client-runtime-utils': 7.3.0 + '@prisma/client-runtime-utils': 7.4.1 optionalDependencies: - prisma: 7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + prisma: 7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) typescript: 5.9.3 - '@prisma/config@7.3.0': + '@prisma/config@7.4.1': dependencies: c12: 3.1.0 deepmerge-ts: 7.1.5 @@ -5628,6 +5639,8 @@ snapshots: '@prisma/debug@7.3.0': {} + '@prisma/debug@7.4.1': {} + '@prisma/dev@0.20.0(typescript@5.9.3)': dependencies: '@electric-sql/pglite': 0.3.15 @@ -5654,28 +5667,28 @@ snapshots: dependencies: '@prisma/debug': 7.3.0 - '@prisma/engines-version@7.3.0-16.9d6ad21cbbceab97458517b147a6a09ff43aa735': {} + '@prisma/engines-version@7.5.0-4.55ae170b1ced7fc6ed07a15f110549408c501bb3': {} - '@prisma/engines@7.3.0': + '@prisma/engines@7.4.1': dependencies: - '@prisma/debug': 7.3.0 - '@prisma/engines-version': 7.3.0-16.9d6ad21cbbceab97458517b147a6a09ff43aa735 - '@prisma/fetch-engine': 7.3.0 - '@prisma/get-platform': 7.3.0 + '@prisma/debug': 7.4.1 + '@prisma/engines-version': 7.5.0-4.55ae170b1ced7fc6ed07a15f110549408c501bb3 + '@prisma/fetch-engine': 7.4.1 + '@prisma/get-platform': 7.4.1 - '@prisma/fetch-engine@7.3.0': + '@prisma/fetch-engine@7.4.1': dependencies: - '@prisma/debug': 7.3.0 - '@prisma/engines-version': 7.3.0-16.9d6ad21cbbceab97458517b147a6a09ff43aa735 - '@prisma/get-platform': 7.3.0 + '@prisma/debug': 7.4.1 + '@prisma/engines-version': 7.5.0-4.55ae170b1ced7fc6ed07a15f110549408c501bb3 + '@prisma/get-platform': 7.4.1 '@prisma/get-platform@7.2.0': dependencies: '@prisma/debug': 7.2.0 - '@prisma/get-platform@7.3.0': + '@prisma/get-platform@7.4.1': dependencies: - '@prisma/debug': 7.3.0 + '@prisma/debug': 7.4.1 '@prisma/query-plan-executor@7.2.0': {} @@ -7342,7 +7355,7 @@ snapshots: baseline-browser-mapping@2.9.19: {} - better-auth@1.4.18(@prisma/client@7.3.0(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.158.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)))(mysql2@3.15.3)(pg@8.18.0)(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.11)(vitest@4.0.18(@types/node@25.2.0)(jiti@2.6.1)(jsdom@28.0.0(@noble/hashes@2.0.1))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.2.0)(typescript@5.9.3))(tsx@4.21.0)): + better-auth@1.4.18(@prisma/client@7.4.1(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3))(@tanstack/react-start@1.158.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)))(mysql2@3.15.3)(pg@8.18.0)(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(solid-js@1.9.11)(vitest@4.0.18(@types/node@25.2.0)(jiti@2.6.1)(jsdom@28.0.0(@noble/hashes@2.0.1))(lightningcss@1.30.2)(msw@2.12.7(@types/node@25.2.0)(typescript@5.9.3))(tsx@4.21.0)): dependencies: '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.0) '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.11)(nanostores@1.1.0)) @@ -7357,11 +7370,11 @@ snapshots: nanostores: 1.1.0 zod: 4.3.6 optionalDependencies: - '@prisma/client': 7.3.0(prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) + '@prisma/client': 7.4.1(prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3))(typescript@5.9.3) '@tanstack/react-start': 1.158.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(vite@7.3.1(@types/node@25.2.0)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)) mysql2: 3.15.3 pg: 8.18.0 - prisma: 7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) + prisma: 7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3) react: 19.2.4 react-dom: 19.2.4(react@19.2.4) solid-js: 1.9.11 @@ -8811,6 +8824,8 @@ snapshots: exsolve: 1.0.8 pathe: 2.0.3 + pnpm@10.30.2: {} + postcss-selector-parser@7.1.1: dependencies: cssesc: 3.0.0 @@ -8852,11 +8867,11 @@ snapshots: dependencies: parse-ms: 4.0.0 - prisma@7.3.0(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3): + prisma@7.4.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)(typescript@5.9.3): dependencies: - '@prisma/config': 7.3.0 + '@prisma/config': 7.4.1 '@prisma/dev': 0.20.0(typescript@5.9.3) - '@prisma/engines': 7.3.0 + '@prisma/engines': 7.4.1 '@prisma/studio-core': 0.13.1(@types/react@19.2.10)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) mysql2: 3.15.3 postgres: 3.4.7 diff --git a/prisma/migrations/20260225031506_box_and_item/migration.sql b/prisma/migrations/20260225031506_box_and_item/migration.sql new file mode 100644 index 0000000..9dbcaa7 --- /dev/null +++ b/prisma/migrations/20260225031506_box_and_item/migration.sql @@ -0,0 +1,69 @@ +-- CreateTable +CREATE TABLE "box" ( + "id" TEXT NOT NULL, + "houseId" TEXT, + "icon" TEXT NOT NULL, + "color" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "tags" TEXT[] DEFAULT ARRAY[]::TEXT[], + "createrId" TEXT NOT NULL, + "createdAt" TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMPTZ NOT NULL, + "deletedAt" TIMESTAMP(3), + "isPrivate" BOOLEAN NOT NULL DEFAULT false, + + CONSTRAINT "box_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "item" ( + "id" TEXT NOT NULL, + "createrId" TEXT NOT NULL, + "boxId" TEXT, + "image" TEXT NOT NULL, + "name" TEXT NOT NULL, + "description" TEXT, + "price" TEXT, + "tags" TEXT[] DEFAULT ARRAY[]::TEXT[], + "quantity" INTEGER NOT NULL, + "expiresAt" TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + "createdAt" TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMPTZ NOT NULL, + "deletedAt" TIMESTAMP(3), + + CONSTRAINT "item_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "box_houseId_idx" ON "box"("houseId"); + +-- CreateIndex +CREATE INDEX "box_createrId_idx" ON "box"("createrId"); + +-- CreateIndex +CREATE INDEX "box_isPrivate_idx" ON "box"("isPrivate"); + +-- CreateIndex +CREATE INDEX "box_tags_idx" ON "box"("tags"); + +-- CreateIndex +CREATE INDEX "item_createrId_idx" ON "item"("createrId"); + +-- CreateIndex +CREATE INDEX "item_boxId_idx" ON "item"("boxId"); + +-- CreateIndex +CREATE INDEX "item_tags_idx" ON "item"("tags"); + +-- AddForeignKey +ALTER TABLE "box" ADD CONSTRAINT "box_houseId_fkey" FOREIGN KEY ("houseId") REFERENCES "house"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "box" ADD CONSTRAINT "box_createrId_fkey" FOREIGN KEY ("createrId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "item" ADD CONSTRAINT "item_createrId_fkey" FOREIGN KEY ("createrId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "item" ADD CONSTRAINT "item_boxId_fkey" FOREIGN KEY ("boxId") REFERENCES "box"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 05d0747..86a1aa1 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -9,44 +9,46 @@ datasource db { } model User { - id String @id @default(uuid()) - name String - email String - emailVerified Boolean @default(false) - image String? - createdAt DateTime @default(now()) @db.Timestamptz - updatedAt DateTime @updatedAt @db.Timestamptz - sessions Session[] - accounts Account[] - audit Audit[] - notification Notification[] + id String @id @default(uuid()) + name String + email String + emailVerified Boolean @default(false) + image String? + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz + sessions Session[] + accounts Account[] + audit Audit[] + notification Notification[] - role String? - banned Boolean? @default(false) - banReason String? - banExpires DateTime? + role String? + banned Boolean? @default(false) + banReason String? + banExpires DateTime? - members Member[] - invitations Invitation[] + members Member[] + invitations Invitation[] + boxes Box[] + items Item[] @@unique([email]) @@map("user") } model Session { - id String @id @default(uuid()) - expiresAt DateTime @db.Timestamptz - token String - createdAt DateTime @default(now()) @db.Timestamptz - updatedAt DateTime @updatedAt @db.Timestamptz - ipAddress String? - userAgent String? - userId String - user User @relation(fields: [userId], references: [id], onDelete: Cascade) + id String @id @default(uuid()) + expiresAt DateTime @db.Timestamptz + token String + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz + ipAddress String? + userAgent String? + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) - impersonatedBy String? + impersonatedBy String? - activeOrganizationId String? + activeOrganizationId String? @@unique([token]) @@index([userId]) @@ -54,60 +56,61 @@ model Session { } model Account { - id String @id @default(uuid()) - accountId String - providerId String - userId String - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - accessToken String? - refreshToken String? - idToken String? - accessTokenExpiresAt DateTime? - refreshTokenExpiresAt DateTime? - scope String? - password String? - createdAt DateTime @default(now()) @db.Timestamptz - updatedAt DateTime @updatedAt @db.Timestamptz + id String @id @default(uuid()) + accountId String + providerId String + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + accessToken String? + refreshToken String? + idToken String? + accessTokenExpiresAt DateTime? + refreshTokenExpiresAt DateTime? + scope String? + password String? + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz @@index([userId]) @@map("account") } model Verification { - id String @id @default(uuid()) - identifier String - value String - expiresAt DateTime - createdAt DateTime @default(now()) @db.Timestamptz - updatedAt DateTime @updatedAt @db.Timestamptz + id String @id @default(uuid()) + identifier String + value String + expiresAt DateTime + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz @@index([identifier]) @@map("verification") } model House { - id String @id @default(uuid()) - name String - slug String - logo String? - createdAt DateTime @db.Timestamptz - metadata String? - color String? @default("#000000") - members Member[] - invitations Invitation[] + id String @id @default(uuid()) + name String + slug String + logo String? + createdAt DateTime @db.Timestamptz + metadata String? + color String? @default("#000000") + members Member[] + invitations Invitation[] + boxes Box[] @@unique([slug]) @@map("house") } model Member { - id String @id @default(uuid()) - organizationId String - house House @relation(fields: [organizationId], references: [id], onDelete: Cascade) - userId String - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - role String @default("member") - createdAt DateTime @db.Timestamptz + id String @id @default(uuid()) + organizationId String + house House @relation(fields: [organizationId], references: [id], onDelete: Cascade) + userId String + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + role String @default("member") + createdAt DateTime @db.Timestamptz @@index([organizationId]) @@index([userId]) @@ -115,16 +118,16 @@ model Member { } model Invitation { - id String @id @default(uuid()) - organizationId String - house House @relation(fields: [organizationId], references: [id], onDelete: Cascade) - email String - role String? - status String @default("pending") - expiresAt DateTime @db.Timestamptz - createdAt DateTime @default(now()) @db.Timestamptz - inviterId String - user User @relation(fields: [inviterId], references: [id], onDelete: Cascade) + id String @id @default(uuid()) + organizationId String + house House @relation(fields: [organizationId], references: [id], onDelete: Cascade) + email String + role String? + status String @default("pending") + expiresAt DateTime @db.Timestamptz + createdAt DateTime @default(now()) @db.Timestamptz + inviterId String + user User @relation(fields: [inviterId], references: [id], onDelete: Cascade) @@index([organizationId]) @@index([email]) @@ -132,49 +135,99 @@ model Invitation { } model Setting { - id String @id @default(uuid()) - key String @unique - value String - description String - relation String @default("admin") + id String @id @default(uuid()) + key String @unique + value String + description String + relation String @default("admin") - createdAt DateTime @default(now()) @db.Timestamptz - updatedAt DateTime @updatedAt @db.Timestamptz + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz @@map("setting") } model Audit { - id String @id @default(uuid()) - userId String - action String - tableName String - recordId String - oldValue String? - newValue String? - createdAt DateTime @default(now()) @db.Timestamptz - user User @relation(fields: [userId], references: [id], onDelete: Cascade) + id String @id @default(uuid()) + userId String + action String + tableName String + recordId String + oldValue String? + newValue String? + createdAt DateTime @default(now()) @db.Timestamptz + user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@map("audit") } model Notification { - id String @id @default(uuid()) - userId String + id String @id @default(uuid()) + userId String - title String - message String - type String @default("system") + title String + message String + type String @default("system") - link String? - metadata String? + link String? + metadata String? - createdAt DateTime @default(now()) @db.Timestamptz - readAt DateTime? @db.Timestamptz + createdAt DateTime @default(now()) @db.Timestamptz + readAt DateTime? @db.Timestamptz - user User @relation(fields: [userId], references: [id], onDelete: Cascade) + user User @relation(fields: [userId], references: [id], onDelete: Cascade) @@index([userId, readAt]) @@index([readAt]) @@map("notification") } + +model Box { + id String @id @default(uuid()) + houseId String? + icon String + color String + name String + description String? + tags String[] @default([]) + createrId String + + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz + deletedAt DateTime? + isPrivate Boolean @default(false) + + items Item[] + house House? @relation(fields: [houseId], references: [id], onDelete: SetNull) + user User @relation(fields: [createrId], references: [id], onDelete: Cascade) + + @@index([houseId]) + @@index([createrId]) + @@index([isPrivate]) + @@index([tags]) + @@map("box") +} + +model Item { + id String @id @default(uuid()) + createrId String + boxId String? + image String + name String + description String? + price String? + tags String[] @default([]) + quantity Int + expiresAt DateTime @default(now()) @db.Timestamptz + createdAt DateTime @default(now()) @db.Timestamptz + updatedAt DateTime @updatedAt @db.Timestamptz + deletedAt DateTime? + + user User @relation(fields: [createrId], references: [id], onDelete: Cascade) + box Box? @relation(fields: [boxId], references: [id], onDelete: SetNull) + + @@index([createrId]) + @@index([boxId]) + @@index([tags]) + @@map("item") +} diff --git a/src/components/DataTable.tsx b/src/components/DataTable.tsx index 6da25e3..9b994e7 100644 --- a/src/components/DataTable.tsx +++ b/src/components/DataTable.tsx @@ -6,6 +6,8 @@ import { getCoreRowModel, useReactTable, } from '@tanstack/react-table'; +import { Card, CardContent } from '@ui/card'; +import { Item, ItemContent, ItemDescription, ItemTitle } from '@ui/item'; import { Label } from '@ui/label'; import { Select, @@ -55,7 +57,7 @@ const DataTable = ({ return ( <> -
+
{table.getHeaderGroups().map((headerGroup) => ( @@ -112,6 +114,45 @@ const DataTable = ({
+
+ {table.getRowModel().rows?.length ? ( + table.getRowModel().rows.map((row) => ( + + + {row.getVisibleCells().map((cell) => + cell.column.columnDef.id === 'actions' ? ( + + {flexRender( + cell.column.columnDef.cell, + cell.getContext(), + )} + + ) : ( + + + + {cell.column.columnDef.meta?.mLabel || 'No Label'}: + + + {flexRender( + cell.column.columnDef.cell, + cell.getContext(), + )} + + + + ), + )} + + + )) + ) : ( + <>No results. + )} +
diff --git a/src/components/audit/audit-columns.tsx b/src/components/audit/audit-columns.tsx index acba04a..bd2a9f4 100644 --- a/src/components/audit/audit-columns.tsx +++ b/src/components/audit/audit-columns.tsx @@ -13,6 +13,7 @@ export const logColumns: ColumnDef[] = [ header: m.logs_page_ui_table_header_username(), meta: { thClass: 'w-1/6', + mLabel: m.logs_page_ui_table_header_username(), }, }, { @@ -20,6 +21,7 @@ export const logColumns: ColumnDef[] = [ header: m.logs_page_ui_table_header_table(), meta: { thClass: 'w-1/6', + mLabel: m.logs_page_ui_table_header_table(), }, cell: ({ row }) => { return ( @@ -34,6 +36,7 @@ export const logColumns: ColumnDef[] = [ header: m.logs_page_ui_table_header_action(), meta: { thClass: 'w-1/6', + mLabel: m.logs_page_ui_table_header_action(), }, cell: ({ row }) => { return ; @@ -44,6 +47,7 @@ export const logColumns: ColumnDef[] = [ header: m.logs_page_ui_table_header_create_at(), meta: { thClass: 'w-2/6', + mLabel: m.logs_page_ui_table_header_create_at(), }, cell: ({ row }) => { return formatters.dateTime(new Date(row.original.createdAt)); @@ -55,7 +59,7 @@ export const logColumns: ColumnDef[] = [ thClass: 'w-1/6', }, cell: ({ row }) => ( -
+
), diff --git a/src/components/house/house-column.tsx b/src/components/house/house-column.tsx index 598f5e9..120bf88 100644 --- a/src/components/house/house-column.tsx +++ b/src/components/house/house-column.tsx @@ -11,6 +11,7 @@ export const houseColumns: ColumnDef[] = [ header: m.houses_page_ui_table_header_name(), meta: { thClass: 'w-1/6', + mLabel: m.houses_page_ui_table_header_name(), }, }, { @@ -18,6 +19,7 @@ export const houseColumns: ColumnDef[] = [ header: m.houses_page_ui_table_header_members(), meta: { thClass: 'w-1/6', + mLabel: m.houses_page_ui_table_header_members(), }, cell: ({ row }) => { return row.original.members.length; @@ -28,6 +30,7 @@ export const houseColumns: ColumnDef[] = [ header: m.houses_page_ui_table_header_created_at(), meta: { thClass: 'w-1/6', + mLabel: m.houses_page_ui_table_header_created_at(), }, cell: ({ row }) => { return formatters.dateTime(new Date(row.original.createdAt)); diff --git a/src/components/sidebar/nav-main.tsx b/src/components/sidebar/nav-main.tsx index 7d7d4b3..0484d3a 100644 --- a/src/components/sidebar/nav-main.tsx +++ b/src/components/sidebar/nav-main.tsx @@ -4,6 +4,7 @@ import { GaugeIcon, GearIcon, HouseIcon, + PackageIcon, UsersIcon, WarehouseIcon, } from '@phosphor-icons/react'; @@ -70,6 +71,11 @@ const NAV_MAIN = [ path: '/kanri/houses', icon: WarehouseIcon, }, + { + title: m.nav_boxes(), + path: '/kanri/boxes', + icon: PackageIcon, + }, { title: m.nav_logs(), path: '/kanri/logs', diff --git a/src/components/user/user-column.tsx b/src/components/user/user-column.tsx index 72f64d8..0b10eac 100644 --- a/src/components/user/user-column.tsx +++ b/src/components/user/user-column.tsx @@ -16,6 +16,7 @@ export const userColumns: ColumnDef[] = [ header: m.users_page_ui_table_header_name(), meta: { thClass: 'w-1/6', + mLabel: m.users_page_ui_table_header_name(), }, }, { @@ -23,6 +24,7 @@ export const userColumns: ColumnDef[] = [ header: m.users_page_ui_table_header_email(), meta: { thClass: 'w-1/6', + mLabel: m.users_page_ui_table_header_email(), }, }, { @@ -30,6 +32,7 @@ export const userColumns: ColumnDef[] = [ header: m.users_page_ui_table_header_role(), meta: { thClass: 'w-1/6', + mLabel: m.users_page_ui_table_header_role(), }, cell: ({ row }) => , }, @@ -38,6 +41,7 @@ export const userColumns: ColumnDef[] = [ header: m.users_page_ui_table_header_banned(), meta: { thClass: 'w-1/6', + mLabel: m.users_page_ui_table_header_banned(), }, cell: ({ row }) => row.original.banned ? ( @@ -51,6 +55,7 @@ export const userColumns: ColumnDef[] = [ header: m.users_page_ui_table_header_created_at(), meta: { thClass: 'w-1/6', + mLabel: m.users_page_ui_table_header_created_at(), }, cell: ({ row }) => { return formatters.dateTime(new Date(row.original.createdAt)); @@ -63,7 +68,7 @@ export const userColumns: ColumnDef[] = [ }, cell: ({ row }) => { return ( -
+
diff --git a/src/generated/prisma/browser.ts b/src/generated/prisma/browser.ts index def033a..feca8c4 100644 --- a/src/generated/prisma/browser.ts +++ b/src/generated/prisma/browser.ts @@ -67,3 +67,13 @@ export type Audit = Prisma.AuditModel * */ export type Notification = Prisma.NotificationModel +/** + * Model Box + * + */ +export type Box = Prisma.BoxModel +/** + * Model Item + * + */ +export type Item = Prisma.ItemModel diff --git a/src/generated/prisma/client.ts b/src/generated/prisma/client.ts index 7c38742..0b34aec 100644 --- a/src/generated/prisma/client.ts +++ b/src/generated/prisma/client.ts @@ -89,3 +89,13 @@ export type Audit = Prisma.AuditModel * */ export type Notification = Prisma.NotificationModel +/** + * Model Box + * + */ +export type Box = Prisma.BoxModel +/** + * Model Item + * + */ +export type Item = Prisma.ItemModel diff --git a/src/generated/prisma/commonInputTypes.ts b/src/generated/prisma/commonInputTypes.ts index fc31592..1efd4cc 100644 --- a/src/generated/prisma/commonInputTypes.ts +++ b/src/generated/prisma/commonInputTypes.ts @@ -161,6 +161,33 @@ export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { _max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> } +export type IntFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntFilter<$PrismaModel> | number +} + +export type IntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedIntFilter<$PrismaModel> + _max?: Prisma.NestedIntFilter<$PrismaModel> +} + export type NestedStringFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> @@ -321,4 +348,31 @@ export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { _max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> } +export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | Prisma.IntFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + lt?: number | Prisma.IntFieldRefInput<$PrismaModel> + lte?: number | Prisma.IntFieldRefInput<$PrismaModel> + gt?: number | Prisma.IntFieldRefInput<$PrismaModel> + gte?: number | Prisma.IntFieldRefInput<$PrismaModel> + not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: Prisma.NestedIntFilter<$PrismaModel> + _avg?: Prisma.NestedFloatFilter<$PrismaModel> + _sum?: Prisma.NestedIntFilter<$PrismaModel> + _min?: Prisma.NestedIntFilter<$PrismaModel> + _max?: Prisma.NestedIntFilter<$PrismaModel> +} + +export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> + gte?: number | Prisma.FloatFieldRefInput<$PrismaModel> + not?: Prisma.NestedFloatFilter<$PrismaModel> | number +} + diff --git a/src/generated/prisma/internal/class.ts b/src/generated/prisma/internal/class.ts index b6face5..5dc1e93 100644 --- a/src/generated/prisma/internal/class.ts +++ b/src/generated/prisma/internal/class.ts @@ -17,18 +17,26 @@ import type * as Prisma from "./prismaNamespace.ts" const config: runtime.GetPrismaClientConfig = { "previewFeatures": [], - "clientVersion": "7.3.0", - "engineVersion": "9d6ad21cbbceab97458517b147a6a09ff43aa735", + "clientVersion": "7.4.1", + "engineVersion": "55ae170b1ced7fc6ed07a15f110549408c501bb3", "activeProvider": "postgresql", - "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id @default(uuid())\n name String\n email String\n emailVerified Boolean @default(false)\n image String?\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n sessions Session[]\n accounts Account[]\n audit Audit[]\n notification Notification[]\n\n role String?\n banned Boolean? @default(false)\n banReason String?\n banExpires DateTime?\n\n members Member[]\n invitations Invitation[]\n\n @@unique([email])\n @@map(\"user\")\n}\n\nmodel Session {\n id String @id @default(uuid())\n expiresAt DateTime @db.Timestamptz\n token String\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n ipAddress String?\n userAgent String?\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n impersonatedBy String?\n\n activeOrganizationId String?\n\n @@unique([token])\n @@index([userId])\n @@map(\"session\")\n}\n\nmodel Account {\n id String @id @default(uuid())\n accountId String\n providerId String\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n accessToken String?\n refreshToken String?\n idToken String?\n accessTokenExpiresAt DateTime?\n refreshTokenExpiresAt DateTime?\n scope String?\n password String?\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n\n @@index([userId])\n @@map(\"account\")\n}\n\nmodel Verification {\n id String @id @default(uuid())\n identifier String\n value String\n expiresAt DateTime\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n\n @@index([identifier])\n @@map(\"verification\")\n}\n\nmodel House {\n id String @id @default(uuid())\n name String\n slug String\n logo String?\n createdAt DateTime @db.Timestamptz\n metadata String?\n color String? @default(\"#000000\")\n members Member[]\n invitations Invitation[]\n\n @@unique([slug])\n @@map(\"house\")\n}\n\nmodel Member {\n id String @id @default(uuid())\n organizationId String\n house House @relation(fields: [organizationId], references: [id], onDelete: Cascade)\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role String @default(\"member\")\n createdAt DateTime @db.Timestamptz\n\n @@index([organizationId])\n @@index([userId])\n @@map(\"member\")\n}\n\nmodel Invitation {\n id String @id @default(uuid())\n organizationId String\n house House @relation(fields: [organizationId], references: [id], onDelete: Cascade)\n email String\n role String?\n status String @default(\"pending\")\n expiresAt DateTime @db.Timestamptz\n createdAt DateTime @default(now()) @db.Timestamptz\n inviterId String\n user User @relation(fields: [inviterId], references: [id], onDelete: Cascade)\n\n @@index([organizationId])\n @@index([email])\n @@map(\"invitation\")\n}\n\nmodel Setting {\n id String @id @default(uuid())\n key String @unique\n value String\n description String\n relation String @default(\"admin\")\n\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n\n @@map(\"setting\")\n}\n\nmodel Audit {\n id String @id @default(uuid())\n userId String\n action String\n tableName String\n recordId String\n oldValue String?\n newValue String?\n createdAt DateTime @default(now()) @db.Timestamptz\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"audit\")\n}\n\nmodel Notification {\n id String @id @default(uuid())\n userId String\n\n title String\n message String\n type String @default(\"system\")\n\n link String?\n metadata String?\n\n createdAt DateTime @default(now()) @db.Timestamptz\n readAt DateTime? @db.Timestamptz\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@index([userId, readAt])\n @@index([readAt])\n @@map(\"notification\")\n}\n", + "inlineSchema": "generator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id String @id @default(uuid())\n name String\n email String\n emailVerified Boolean @default(false)\n image String?\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n sessions Session[]\n accounts Account[]\n audit Audit[]\n notification Notification[]\n\n role String?\n banned Boolean? @default(false)\n banReason String?\n banExpires DateTime?\n\n members Member[]\n invitations Invitation[]\n boxes Box[]\n items Item[]\n\n @@unique([email])\n @@map(\"user\")\n}\n\nmodel Session {\n id String @id @default(uuid())\n expiresAt DateTime @db.Timestamptz\n token String\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n ipAddress String?\n userAgent String?\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n impersonatedBy String?\n\n activeOrganizationId String?\n\n @@unique([token])\n @@index([userId])\n @@map(\"session\")\n}\n\nmodel Account {\n id String @id @default(uuid())\n accountId String\n providerId String\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n accessToken String?\n refreshToken String?\n idToken String?\n accessTokenExpiresAt DateTime?\n refreshTokenExpiresAt DateTime?\n scope String?\n password String?\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n\n @@index([userId])\n @@map(\"account\")\n}\n\nmodel Verification {\n id String @id @default(uuid())\n identifier String\n value String\n expiresAt DateTime\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n\n @@index([identifier])\n @@map(\"verification\")\n}\n\nmodel House {\n id String @id @default(uuid())\n name String\n slug String\n logo String?\n createdAt DateTime @db.Timestamptz\n metadata String?\n color String? @default(\"#000000\")\n members Member[]\n invitations Invitation[]\n boxes Box[]\n\n @@unique([slug])\n @@map(\"house\")\n}\n\nmodel Member {\n id String @id @default(uuid())\n organizationId String\n house House @relation(fields: [organizationId], references: [id], onDelete: Cascade)\n userId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n role String @default(\"member\")\n createdAt DateTime @db.Timestamptz\n\n @@index([organizationId])\n @@index([userId])\n @@map(\"member\")\n}\n\nmodel Invitation {\n id String @id @default(uuid())\n organizationId String\n house House @relation(fields: [organizationId], references: [id], onDelete: Cascade)\n email String\n role String?\n status String @default(\"pending\")\n expiresAt DateTime @db.Timestamptz\n createdAt DateTime @default(now()) @db.Timestamptz\n inviterId String\n user User @relation(fields: [inviterId], references: [id], onDelete: Cascade)\n\n @@index([organizationId])\n @@index([email])\n @@map(\"invitation\")\n}\n\nmodel Setting {\n id String @id @default(uuid())\n key String @unique\n value String\n description String\n relation String @default(\"admin\")\n\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n\n @@map(\"setting\")\n}\n\nmodel Audit {\n id String @id @default(uuid())\n userId String\n action String\n tableName String\n recordId String\n oldValue String?\n newValue String?\n createdAt DateTime @default(now()) @db.Timestamptz\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"audit\")\n}\n\nmodel Notification {\n id String @id @default(uuid())\n userId String\n\n title String\n message String\n type String @default(\"system\")\n\n link String?\n metadata String?\n\n createdAt DateTime @default(now()) @db.Timestamptz\n readAt DateTime? @db.Timestamptz\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@index([userId, readAt])\n @@index([readAt])\n @@map(\"notification\")\n}\n\nmodel Box {\n id String @id @default(uuid())\n houseId String?\n icon String\n color String\n name String @unique\n description String?\n tags String[] @default([])\n createrId String\n\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n deletedAt DateTime?\n isPrivate Boolean @default(false)\n\n items Item[]\n house House? @relation(fields: [houseId], references: [id], onDelete: SetNull)\n user User @relation(fields: [createrId], references: [id], onDelete: Cascade)\n}\n\nmodel Item {\n id String @id @default(uuid())\n createrId String\n boxId String?\n image String\n name String\n description String?\n price String?\n tags String[] @default([])\n quantity Int\n expiresAt DateTime @default(now()) @db.Timestamptz\n createdAt DateTime @default(now()) @db.Timestamptz\n updatedAt DateTime @updatedAt @db.Timestamptz\n deletedAt DateTime?\n\n user User @relation(fields: [createrId], references: [id], onDelete: Cascade)\n box Box? @relation(fields: [boxId], references: [id], onDelete: SetNull)\n}\n", "runtimeDataModel": { "models": {}, "enums": {}, "types": {} + }, + "parameterizationSchema": { + "strings": [], + "graph": "" } } -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"audit\",\"kind\":\"object\",\"type\":\"Audit\",\"relationName\":\"AuditToUser\"},{\"name\":\"notification\",\"kind\":\"object\",\"type\":\"Notification\",\"relationName\":\"NotificationToUser\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"banned\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"banReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"banExpires\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"Member\",\"relationName\":\"MemberToUser\"},{\"name\":\"invitations\",\"kind\":\"object\",\"type\":\"Invitation\",\"relationName\":\"InvitationToUser\"}],\"dbName\":\"user\"},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"},{\"name\":\"impersonatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"activeOrganizationId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"session\"},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"idToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"account\"},\"Verification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"verification\"},\"House\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"Member\",\"relationName\":\"HouseToMember\"},{\"name\":\"invitations\",\"kind\":\"object\",\"type\":\"Invitation\",\"relationName\":\"HouseToInvitation\"}],\"dbName\":\"house\"},\"Member\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"house\",\"kind\":\"object\",\"type\":\"House\",\"relationName\":\"HouseToMember\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"MemberToUser\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"member\"},\"Invitation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"house\",\"kind\":\"object\",\"type\":\"House\",\"relationName\":\"HouseToInvitation\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"inviterId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InvitationToUser\"}],\"dbName\":\"invitation\"},\"Setting\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"relation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"setting\"},\"Audit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tableName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recordId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"oldValue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newValue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AuditToUser\"}],\"dbName\":\"audit\"},\"Notification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"link\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"readAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotificationToUser\"}],\"dbName\":\"notification\"}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"Account\",\"relationName\":\"AccountToUser\"},{\"name\":\"audit\",\"kind\":\"object\",\"type\":\"Audit\",\"relationName\":\"AuditToUser\"},{\"name\":\"notification\",\"kind\":\"object\",\"type\":\"Notification\",\"relationName\":\"NotificationToUser\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"banned\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"banReason\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"banExpires\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"Member\",\"relationName\":\"MemberToUser\"},{\"name\":\"invitations\",\"kind\":\"object\",\"type\":\"Invitation\",\"relationName\":\"InvitationToUser\"},{\"name\":\"boxes\",\"kind\":\"object\",\"type\":\"Box\",\"relationName\":\"BoxToUser\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"Item\",\"relationName\":\"ItemToUser\"}],\"dbName\":\"user\"},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"},{\"name\":\"impersonatedBy\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"activeOrganizationId\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":\"session\"},\"Account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AccountToUser\"},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"idToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"account\"},\"Verification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"verification\"},\"House\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"logo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"Member\",\"relationName\":\"HouseToMember\"},{\"name\":\"invitations\",\"kind\":\"object\",\"type\":\"Invitation\",\"relationName\":\"HouseToInvitation\"},{\"name\":\"boxes\",\"kind\":\"object\",\"type\":\"Box\",\"relationName\":\"BoxToHouse\"}],\"dbName\":\"house\"},\"Member\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"house\",\"kind\":\"object\",\"type\":\"House\",\"relationName\":\"HouseToMember\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"MemberToUser\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"member\"},\"Invitation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"organizationId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"house\",\"kind\":\"object\",\"type\":\"House\",\"relationName\":\"HouseToInvitation\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"inviterId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InvitationToUser\"}],\"dbName\":\"invitation\"},\"Setting\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"relation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":\"setting\"},\"Audit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"action\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tableName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recordId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"oldValue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newValue\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AuditToUser\"}],\"dbName\":\"audit\"},\"Notification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"link\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"readAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotificationToUser\"}],\"dbName\":\"notification\"},\"Box\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"houseId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icon\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tags\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createrId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"isPrivate\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"Item\",\"relationName\":\"BoxToItem\"},{\"name\":\"house\",\"kind\":\"object\",\"type\":\"House\",\"relationName\":\"BoxToHouse\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BoxToUser\"}],\"dbName\":null},\"Item\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createrId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"boxId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tags\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quantity\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"deletedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ItemToUser\"},{\"name\":\"box\",\"kind\":\"object\",\"type\":\"Box\",\"relationName\":\"BoxToItem\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.parameterizationSchema = { + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"sessions\",\"accounts\",\"audit\",\"notification\",\"members\",\"house\",\"invitations\",\"box\",\"items\",\"_count\",\"boxes\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Session.findUnique\",\"Session.findUniqueOrThrow\",\"Session.findFirst\",\"Session.findFirstOrThrow\",\"Session.findMany\",\"Session.createOne\",\"Session.createMany\",\"Session.createManyAndReturn\",\"Session.updateOne\",\"Session.updateMany\",\"Session.updateManyAndReturn\",\"Session.upsertOne\",\"Session.deleteOne\",\"Session.deleteMany\",\"Session.groupBy\",\"Session.aggregate\",\"Account.findUnique\",\"Account.findUniqueOrThrow\",\"Account.findFirst\",\"Account.findFirstOrThrow\",\"Account.findMany\",\"Account.createOne\",\"Account.createMany\",\"Account.createManyAndReturn\",\"Account.updateOne\",\"Account.updateMany\",\"Account.updateManyAndReturn\",\"Account.upsertOne\",\"Account.deleteOne\",\"Account.deleteMany\",\"Account.groupBy\",\"Account.aggregate\",\"Verification.findUnique\",\"Verification.findUniqueOrThrow\",\"Verification.findFirst\",\"Verification.findFirstOrThrow\",\"Verification.findMany\",\"Verification.createOne\",\"Verification.createMany\",\"Verification.createManyAndReturn\",\"Verification.updateOne\",\"Verification.updateMany\",\"Verification.updateManyAndReturn\",\"Verification.upsertOne\",\"Verification.deleteOne\",\"Verification.deleteMany\",\"Verification.groupBy\",\"Verification.aggregate\",\"House.findUnique\",\"House.findUniqueOrThrow\",\"House.findFirst\",\"House.findFirstOrThrow\",\"House.findMany\",\"House.createOne\",\"House.createMany\",\"House.createManyAndReturn\",\"House.updateOne\",\"House.updateMany\",\"House.updateManyAndReturn\",\"House.upsertOne\",\"House.deleteOne\",\"House.deleteMany\",\"House.groupBy\",\"House.aggregate\",\"Member.findUnique\",\"Member.findUniqueOrThrow\",\"Member.findFirst\",\"Member.findFirstOrThrow\",\"Member.findMany\",\"Member.createOne\",\"Member.createMany\",\"Member.createManyAndReturn\",\"Member.updateOne\",\"Member.updateMany\",\"Member.updateManyAndReturn\",\"Member.upsertOne\",\"Member.deleteOne\",\"Member.deleteMany\",\"Member.groupBy\",\"Member.aggregate\",\"Invitation.findUnique\",\"Invitation.findUniqueOrThrow\",\"Invitation.findFirst\",\"Invitation.findFirstOrThrow\",\"Invitation.findMany\",\"Invitation.createOne\",\"Invitation.createMany\",\"Invitation.createManyAndReturn\",\"Invitation.updateOne\",\"Invitation.updateMany\",\"Invitation.updateManyAndReturn\",\"Invitation.upsertOne\",\"Invitation.deleteOne\",\"Invitation.deleteMany\",\"Invitation.groupBy\",\"Invitation.aggregate\",\"Setting.findUnique\",\"Setting.findUniqueOrThrow\",\"Setting.findFirst\",\"Setting.findFirstOrThrow\",\"Setting.findMany\",\"Setting.createOne\",\"Setting.createMany\",\"Setting.createManyAndReturn\",\"Setting.updateOne\",\"Setting.updateMany\",\"Setting.updateManyAndReturn\",\"Setting.upsertOne\",\"Setting.deleteOne\",\"Setting.deleteMany\",\"Setting.groupBy\",\"Setting.aggregate\",\"Audit.findUnique\",\"Audit.findUniqueOrThrow\",\"Audit.findFirst\",\"Audit.findFirstOrThrow\",\"Audit.findMany\",\"Audit.createOne\",\"Audit.createMany\",\"Audit.createManyAndReturn\",\"Audit.updateOne\",\"Audit.updateMany\",\"Audit.updateManyAndReturn\",\"Audit.upsertOne\",\"Audit.deleteOne\",\"Audit.deleteMany\",\"Audit.groupBy\",\"Audit.aggregate\",\"Notification.findUnique\",\"Notification.findUniqueOrThrow\",\"Notification.findFirst\",\"Notification.findFirstOrThrow\",\"Notification.findMany\",\"Notification.createOne\",\"Notification.createMany\",\"Notification.createManyAndReturn\",\"Notification.updateOne\",\"Notification.updateMany\",\"Notification.updateManyAndReturn\",\"Notification.upsertOne\",\"Notification.deleteOne\",\"Notification.deleteMany\",\"Notification.groupBy\",\"Notification.aggregate\",\"Box.findUnique\",\"Box.findUniqueOrThrow\",\"Box.findFirst\",\"Box.findFirstOrThrow\",\"Box.findMany\",\"Box.createOne\",\"Box.createMany\",\"Box.createManyAndReturn\",\"Box.updateOne\",\"Box.updateMany\",\"Box.updateManyAndReturn\",\"Box.upsertOne\",\"Box.deleteOne\",\"Box.deleteMany\",\"Box.groupBy\",\"Box.aggregate\",\"Item.findUnique\",\"Item.findUniqueOrThrow\",\"Item.findFirst\",\"Item.findFirstOrThrow\",\"Item.findMany\",\"Item.createOne\",\"Item.createMany\",\"Item.createManyAndReturn\",\"Item.updateOne\",\"Item.updateMany\",\"Item.updateManyAndReturn\",\"Item.upsertOne\",\"Item.deleteOne\",\"Item.deleteMany\",\"_avg\",\"_sum\",\"Item.groupBy\",\"Item.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"createrId\",\"boxId\",\"image\",\"name\",\"description\",\"price\",\"tags\",\"quantity\",\"expiresAt\",\"createdAt\",\"updatedAt\",\"deletedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"has\",\"hasEvery\",\"hasSome\",\"contains\",\"startsWith\",\"endsWith\",\"houseId\",\"icon\",\"color\",\"isPrivate\",\"userId\",\"title\",\"message\",\"type\",\"link\",\"metadata\",\"readAt\",\"action\",\"tableName\",\"recordId\",\"oldValue\",\"newValue\",\"key\",\"value\",\"relation\",\"organizationId\",\"email\",\"role\",\"status\",\"inviterId\",\"slug\",\"logo\",\"every\",\"some\",\"none\",\"identifier\",\"accountId\",\"providerId\",\"accessToken\",\"refreshToken\",\"idToken\",\"accessTokenExpiresAt\",\"refreshTokenExpiresAt\",\"scope\",\"password\",\"token\",\"ipAddress\",\"userAgent\",\"impersonatedBy\",\"activeOrganizationId\",\"emailVerified\",\"banned\",\"banReason\",\"banExpires\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "xgVmwAEWBAAA_AIAIAUAAP0CACAGAAD-AgAgBwAA_wIAIAgAAO0CACAKAADuAgAgDAAAgAMAIA4AAO8CACDXAQAA-AIAMNgBAAA3ABDZAQAA-AIAMNoBAQAAAAHdAQEA7AIAId4BAQDmAgAh5AFAAOcCACHlAUAA5wIAIYkCAQAAAAGKAgEA7AIAIaECIAD5AgAhogIgAPoCACGjAgEA7AIAIaQCQAD7AgAhAQAAAAEAIA4DAACDAwAg1wEAAI0DADDYAQAAAwAQ2QEAAI0DADDaAQEA5gIAIeMBQADnAgAh5AFAAOcCACHlAUAA5wIAIfkBAQDmAgAhnAIBAOYCACGdAgEA7AIAIZ4CAQDsAgAhnwIBAOwCACGgAgEA7AIAIQUDAAD8BAAgnQIAAI4DACCeAgAAjgMAIJ8CAACOAwAgoAIAAI4DACAOAwAAgwMAINcBAACNAwAw2AEAAAMAENkBAACNAwAw2gEBAAAAAeMBQADnAgAh5AFAAOcCACHlAUAA5wIAIfkBAQDmAgAhnAIBAAAAAZ0CAQDsAgAhngIBAOwCACGfAgEA7AIAIaACAQDsAgAhAwAAAAMAIAEAAAQAMAIAAAUAIBEDAACDAwAg1wEAAIwDADDYAQAABwAQ2QEAAIwDADDaAQEA5gIAIeQBQADnAgAh5QFAAOcCACH5AQEA5gIAIZMCAQDmAgAhlAIBAOYCACGVAgEA7AIAIZYCAQDsAgAhlwIBAOwCACGYAkAA-wIAIZkCQAD7AgAhmgIBAOwCACGbAgEA7AIAIQgDAAD8BAAglQIAAI4DACCWAgAAjgMAIJcCAACOAwAgmAIAAI4DACCZAgAAjgMAIJoCAACOAwAgmwIAAI4DACARAwAAgwMAINcBAACMAwAw2AEAAAcAENkBAACMAwAw2gEBAAAAAeQBQADnAgAh5QFAAOcCACH5AQEA5gIAIZMCAQDmAgAhlAIBAOYCACGVAgEA7AIAIZYCAQDsAgAhlwIBAOwCACGYAkAA-wIAIZkCQAD7AgAhmgIBAOwCACGbAgEA7AIAIQMAAAAHACABAAAIADACAAAJACAMAwAAgwMAINcBAACLAwAw2AEAAAsAENkBAACLAwAw2gEBAOYCACHkAUAA5wIAIfkBAQDmAgAhgAIBAOYCACGBAgEA5gIAIYICAQDmAgAhgwIBAOwCACGEAgEA7AIAIQMDAAD8BAAggwIAAI4DACCEAgAAjgMAIAwDAACDAwAg1wEAAIsDADDYAQAACwAQ2QEAAIsDADDaAQEAAAAB5AFAAOcCACH5AQEA5gIAIYACAQDmAgAhgQIBAOYCACGCAgEA5gIAIYMCAQDsAgAhhAIBAOwCACEDAAAACwAgAQAADAAwAgAADQAgDQMAAIMDACDXAQAAigMAMNgBAAAPABDZAQAAigMAMNoBAQDmAgAh5AFAAOcCACH5AQEA5gIAIfoBAQDmAgAh-wEBAOYCACH8AQEA5gIAIf0BAQDsAgAh_gEBAOwCACH_AUAA-wIAIQQDAAD8BAAg_QEAAI4DACD-AQAAjgMAIP8BAACOAwAgDQMAAIMDACDXAQAAigMAMNgBAAAPABDZAQAAigMAMNoBAQAAAAHkAUAA5wIAIfkBAQDmAgAh-gEBAOYCACH7AQEA5gIAIfwBAQDmAgAh_QEBAOwCACH-AQEA7AIAIf8BQAD7AgAhAwAAAA8AIAEAABAAMAIAABEAIAoDAACDAwAgCQAAiAMAINcBAACJAwAw2AEAABMAENkBAACJAwAw2gEBAOYCACHkAUAA5wIAIfkBAQDmAgAhiAIBAOYCACGKAgEA5gIAIQIDAAD8BAAgCQAA_gQAIAoDAACDAwAgCQAAiAMAINcBAACJAwAw2AEAABMAENkBAACJAwAw2gEBAAAAAeQBQADnAgAh-QEBAOYCACGIAgEA5gIAIYoCAQDmAgAhAwAAABMAIAEAABQAMAIAABUAIAMAAAATACABAAAUADACAAAVACANAwAAgwMAIAkAAIgDACDXAQAAhwMAMNgBAAAYABDZAQAAhwMAMNoBAQDmAgAh4wFAAOcCACHkAUAA5wIAIYgCAQDmAgAhiQIBAOYCACGKAgEA7AIAIYsCAQDmAgAhjAIBAOYCACEDAwAA_AQAIAkAAP4EACCKAgAAjgMAIA0DAACDAwAgCQAAiAMAINcBAACHAwAw2AEAABgAENkBAACHAwAw2gEBAAAAAeMBQADnAgAh5AFAAOcCACGIAgEA5gIAIYkCAQDmAgAhigIBAOwCACGLAgEA5gIAIYwCAQDmAgAhAwAAABgAIAEAABkAMAIAABoAIBIDAACDAwAgCQAAhgMAIAwAAIADACDXAQAAhQMAMNgBAAAcABDZAQAAhQMAMNoBAQDmAgAh2wEBAOYCACHeAQEA5gIAId8BAQDsAgAh4QEAAM4CACDkAUAA5wIAIeUBQADnAgAh5gFAAPsCACH1AQEA7AIAIfYBAQDmAgAh9wEBAOYCACH4ASAA-QIAIQYDAAD8BAAgCQAA_gQAIAwAAPsEACDfAQAAjgMAIOYBAACOAwAg9QEAAI4DACASAwAAgwMAIAkAAIYDACAMAACAAwAg1wEAAIUDADDYAQAAHAAQ2QEAAIUDADDaAQEAAAAB2wEBAOYCACHeAQEAAAAB3wEBAOwCACHhAQAAzgIAIOQBQADnAgAh5QFAAOcCACHmAUAA-wIAIfUBAQDsAgAh9gEBAOYCACH3AQEA5gIAIfgBIAD5AgAhAwAAABwAIAEAAB0AMAIAAB4AIBIDAACDAwAgCwAAhAMAINcBAACBAwAw2AEAACAAENkBAACBAwAw2gEBAOYCACHbAQEA5gIAIdwBAQDsAgAh3QEBAOYCACHeAQEA5gIAId8BAQDsAgAh4AEBAOwCACHhAQAAzgIAIOIBAgCCAwAh4wFAAOcCACHkAUAA5wIAIeUBQADnAgAh5gFAAPsCACEGAwAA_AQAIAsAAP0EACDcAQAAjgMAIN8BAACOAwAg4AEAAI4DACDmAQAAjgMAIBIDAACDAwAgCwAAhAMAINcBAACBAwAw2AEAACAAENkBAACBAwAw2gEBAAAAAdsBAQDmAgAh3AEBAOwCACHdAQEA5gIAId4BAQDmAgAh3wEBAOwCACHgAQEA7AIAIeEBAADOAgAg4gECAIIDACHjAUAA5wIAIeQBQADnAgAh5QFAAOcCACHmAUAA-wIAIQMAAAAgACABAAAhADACAAAiACABAAAAHAAgDQgAAO0CACAKAADuAgAgDgAA7wIAINcBAADrAgAw2AEAACUAENkBAADrAgAw2gEBAOYCACHeAQEA5gIAIeQBQADnAgAh9wEBAOwCACH-AQEA7AIAIY0CAQDmAgAhjgIBAOwCACEBAAAAJQAgAQAAACAAIAEAAAATACABAAAAGAAgAQAAABwAIAMAAAAYACABAAAZADACAAAaACADAAAAHAAgAQAAHQAwAgAAHgAgAwAAACAAIAEAACEAMAIAACIAIAEAAAADACABAAAABwAgAQAAAAsAIAEAAAAPACABAAAAEwAgAQAAABgAIAEAAAAcACABAAAAIAAgAQAAAAEAIBYEAAD8AgAgBQAA_QIAIAYAAP4CACAHAAD_AgAgCAAA7QIAIAoAAO4CACAMAACAAwAgDgAA7wIAINcBAAD4AgAw2AEAADcAENkBAAD4AgAw2gEBAOYCACHdAQEA7AIAId4BAQDmAgAh5AFAAOcCACHlAUAA5wIAIYkCAQDmAgAhigIBAOwCACGhAiAA-QIAIaICIAD6AgAhowIBAOwCACGkAkAA-wIAIQ0EAAD3BAAgBQAA-AQAIAYAAPkEACAHAAD6BAAgCAAA_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_gEBAOwCACGNAgEAAAABjgIBAOwCACEBAAAAkgEAIAEAAACSAQAgBggAAP8DACAKAACABAAgDgAAgQQAIPcBAACOAwAg_gEAAI4DACCOAgAAjgMAIAMAAAAlACABAACVAQAwAgAAkgEAIAMAAAAlACABAACVAQAwAgAAkgEAIAMAAAAlACABAACVAQAwAgAAkgEAIAoIAAD8AwAgCgAA_QMAIA4AAP4DACDaAQEAAAAB3gEBAAAAAeQBQAAAAAH3AQEAAAAB_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-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAAAAAf0BAQAAAAH-AQEAAAAB_wFAAAAAAQEUAACKAgAgCdoBAQAAAAHkAUAAAAAB-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAAAAAf0BAQAAAAH-AQEAAAAB_wFAAAAAAQEUAACMAgAwARQAAIwCADAKAwAAugMAINoBAQCUAwAh5AFAAJgDACH5AQEAlAMAIfoBAQCUAwAh-wEBAJQDACH8AQEAlAMAIf0BAQCVAwAh_gEBAJUDACH_AUAAmQMAIQIAAAARACAUAACPAgAgCdoBAQCUAwAh5AFAAJgDACH5AQEAlAMAIfoBAQCUAwAh-wEBAJQDACH8AQEAlAMAIf0BAQCVAwAh_gEBAJUDACH_AUAAmQMAIQIAAAAPACAUAACRAgAgAgAAAA8AIBQAAJECACADAAAAEQAgGwAAigIAIBwAAI8CACABAAAAEQAgAQAAAA8AIAYNAAC3AwAgIQAAuQMAICIAALgDACD9AQAAjgMAIP4BAACOAwAg_wEAAI4DACAM1wEAAOICADDYAQAAmAIAENkBAADiAgAw2gEBAMwCACHkAUAA0AIAIfkBAQDMAgAh-gEBAMwCACH7AQEAzAIAIfwBAQDMAgAh_QEBAM0CACH-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_XAQAA3gIAMNgBAACwAgAQ2QEAAN4CADDaAQEAzAIAIdsBAQDMAgAh3gEBAMwCACHfAQEAzQIAIeEBAADOAgAg5AFAANACACHlAUAA0AIAIeYBQADRAgAh9QEBAM0CACH2AQEAzAIAIfcBAQDMAgAh-AEgAN8CACEFDQAA1gIAICEAAOECACAiAADhAgAg5wEgAAAAAe4BIADgAgAhBQ0AANYCACAhAADhAgAgIgAA4QIAIOcBIAAAAAHuASAA4AIAIQLnASAAAAAB7gEgAOECACEM1wEAAOICADDYAQAAmAIAENkBAADiAgAw2gEBAMwCACHkAUAA0AIAIfkBAQDMAgAh-gEBAMwCACH7AQEAzAIAIfwBAQDMAgAh_QEBAM0CACH-AQEAzQIAIf8BQADRAgAhC9cBAADjAgAw2AEAAIICABDZAQAA4wIAMNoBAQDMAgAh5AFAANACACH5AQEAzAIAIYACAQDMAgAhgQIBAMwCACGCAgEAzAIAIYMCAQDNAgAhhAIBAM0CACEK1wEAAOQCADDYAQAA7AEAENkBAADkAgAw2gEBAMwCACHfAQEAzAIAIeQBQADQAgAh5QFAANACACGFAgEAzAIAIYYCAQDMAgAhhwIBAMwCACEK1wEAAOUCADDYAQAA2QEAENkBAADlAgAw2gEBAOYCACHfAQEA5gIAIeQBQADnAgAh5QFAAOcCACGFAgEA5gIAIYYCAQDmAgAhhwIBAOYCACEL5wEBAAAAAegBAQAAAATpAQEAAAAE6gEBAAAAAesBAQAAAAHsAQEAAAAB7QEBAAAAAe4BAQDdAgAh8gEBAAAAAfMBAQAAAAH0AQEAAAABCOcBQAAAAAHoAUAAAAAE6QFAAAAABOoBQAAAAAHrAUAAAAAB7AFAAAAAAe0BQAAAAAHuAUAA1wIAIQvXAQAA6AIAMNgBAADTAQAQ2QEAAOgCADDaAQEAzAIAIeMBQADQAgAh5AFAANACACGIAgEAzAIAIYkCAQDMAgAhigIBAM0CACGLAgEAzAIAIYwCAQDMAgAhCNcBAADpAgAw2AEAAL0BABDZAQAA6QIAMNoBAQDMAgAh5AFAANACACH5AQEAzAIAIYgCAQDMAgAhigIBAMwCACEK1wEAAOoCADDYAQAApwEAENkBAADqAgAw2gEBAMwCACHeAQEAzAIAIeQBQADQAgAh9wEBAM0CACH-AQEAzQIAIY0CAQDMAgAhjgIBAM0CACENCAAA7QIAIAoAAO4CACAOAADvAgAg1wEAAOsCADDYAQAAJQAQ2QEAAOsCADDaAQEA5gIAId4BAQDmAgAh5AFAAOcCACH3AQEA7AIAIf4BAQDsAgAhjQIBAOYCACGOAgEA7AIAIQvnAQEAAAAB6AEBAAAABekBAQAAAAXqAQEAAAAB6wEBAAAAAewBAQAAAAHtAQEAAAAB7gEBANsCACHyAQEAAAAB8wEBAAAAAfQBAQAAAAEDjwIAABMAIJACAAATACCRAgAAEwAgA48CAAAYACCQAgAAGAAgkQIAABgAIAOPAgAAHAAgkAIAABwAIJECAAAcACAJ1wEAAPACADDYAQAAjwEAENkBAADwAgAw2gEBAMwCACHjAUAA0AIAIeQBQADQAgAh5QFAANACACGGAgEAzAIAIZICAQDMAgAhCdcBAADxAgAw2AEAAHwAENkBAADxAgAw2gEBAOYCACHjAUAA5wIAIeQBQADnAgAh5QFAAOcCACGGAgEA5gIAIZICAQDmAgAhENcBAADyAgAw2AEAAHYAENkBAADyAgAw2gEBAMwCACHkAUAA0AIAIeUBQADQAgAh-QEBAMwCACGTAgEAzAIAIZQCAQDMAgAhlQIBAM0CACGWAgEAzQIAIZcCAQDNAgAhmAJAANECACGZAkAA0QIAIZoCAQDNAgAhmwIBAM0CACEN1wEAAPMCADDYAQAAYAAQ2QEAAPMCADDaAQEAzAIAIeMBQADQAgAh5AFAANACACHlAUAA0AIAIfkBAQDMAgAhnAIBAMwCACGdAgEAzQIAIZ4CAQDNAgAhnwIBAM0CACGgAgEAzQIAIQ7XAQAA9AIAMNgBAABKABDZAQAA9AIAMNoBAQDMAgAh3QEBAM0CACHeAQEAzAIAIeQBQADQAgAh5QFAANACACGJAgEAzAIAIYoCAQDNAgAhoQIgAN8CACGiAiAA9QIAIaMCAQDNAgAhpAJAANECACEFDQAA0wIAICEAAPcCACAiAAD3AgAg5wEgAAAAAe4BIAD2AgAhBQ0AANMCACAhAAD3AgAgIgAA9wIAIOcBIAAAAAHuASAA9gIAIQLnASAAAAAB7gEgAPcCACEWBAAA_AIAIAUAAP0CACAGAAD-AgAgBwAA_wIAIAgAAO0CACAKAADuAgAgDAAAgAMAIA4AAO8CACDXAQAA-AIAMNgBAAA3ABDZAQAA-AIAMNoBAQDmAgAh3QEBAOwCACHeAQEA5gIAIeQBQADnAgAh5QFAAOcCACGJAgEA5gIAIYoCAQDsAgAhoQIgAPkCACGiAiAA-gIAIaMCAQDsAgAhpAJAAPsCACEC5wEgAAAAAe4BIADhAgAhAucBIAAAAAHuASAA9wIAIQjnAUAAAAAB6AFAAAAABekBQAAAAAXqAUAAAAAB6wFAAAAAAewBQAAAAAHtAUAAAAAB7gFAANQCACEDjwIAAAMAIJACAAADACCRAgAAAwAgA48CAAAHACCQAgAABwAgkQIAAAcAIAOPAgAACwAgkAIAAAsAIJECAAALACADjwIAAA8AIJACAAAPACCRAgAADwAgA48CAAAgACCQAgAAIAAgkQIAACAAIBIDAACDAwAgCwAAhAMAINcBAACBAwAw2AEAACAAENkBAACBAwAw2gEBAOYCACHbAQEA5gIAIdwBAQDsAgAh3QEBAOYCACHeAQEA5gIAId8BAQDsAgAh4AEBAOwCACHhAQAAzgIAIOIBAgCCAwAh4wFAAOcCACHkAUAA5wIAIeUBQADnAgAh5gFAAPsCACEI5wECAAAAAegBAgAAAATpAQIAAAAE6gECAAAAAesBAgAAAAHsAQIAAAAB7QECAAAAAe4BAgDWAgAhGAQAAPwCACAFAAD9AgAgBgAA_gIAIAcAAP8CACAIAADtAgAgCgAA7gIAIAwAAIADACAOAADvAgAg1wEAAPgCADDYAQAANwAQ2QEAAPgCADDaAQEA5gIAId0BAQDsAgAh3gEBAOYCACHkAUAA5wIAIeUBQADnAgAhiQIBAOYCACGKAgEA7AIAIaECIAD5AgAhogIgAPoCACGjAgEA7AIAIaQCQAD7AgAhpQIAADcAIKYCAAA3ACAUAwAAgwMAIAkAAIYDACAMAACAAwAg1wEAAIUDADDYAQAAHAAQ2QEAAIUDADDaAQEA5gIAIdsBAQDmAgAh3gEBAOYCACHfAQEA7AIAIeEBAADOAgAg5AFAAOcCACHlAUAA5wIAIeYBQAD7AgAh9QEBAOwCACH2AQEA5gIAIfcBAQDmAgAh-AEgAPkCACGlAgAAHAAgpgIAABwAIBIDAACDAwAgCQAAhgMAIAwAAIADACDXAQAAhQMAMNgBAAAcABDZAQAAhQMAMNoBAQDmAgAh2wEBAOYCACHeAQEA5gIAId8BAQDsAgAh4QEAAM4CACDkAUAA5wIAIeUBQADnAgAh5gFAAPsCACH1AQEA7AIAIfYBAQDmAgAh9wEBAOYCACH4ASAA-QIAIQ8IAADtAgAgCgAA7gIAIA4AAO8CACDXAQAA6wIAMNgBAAAlABDZAQAA6wIAMNoBAQDmAgAh3gEBAOYCACHkAUAA5wIAIfcBAQDsAgAh_gEBAOwCACGNAgEA5gIAIY4CAQDsAgAhpQIAACUAIKYCAAAlACANAwAAgwMAIAkAAIgDACDXAQAAhwMAMNgBAAAYABDZAQAAhwMAMNoBAQDmAgAh4wFAAOcCACHkAUAA5wIAIYgCAQDmAgAhiQIBAOYCACGKAgEA7AIAIYsCAQDmAgAhjAIBAOYCACEPCAAA7QIAIAoAAO4CACAOAADvAgAg1wEAAOsCADDYAQAAJQAQ2QEAAOsCADDaAQEA5gIAId4BAQDmAgAh5AFAAOcCACH3AQEA7AIAIf4BAQDsAgAhjQIBAOYCACGOAgEA7AIAIaUCAAAlACCmAgAAJQAgCgMAAIMDACAJAACIAwAg1wEAAIkDADDYAQAAEwAQ2QEAAIkDADDaAQEA5gIAIeQBQADnAgAh-QEBAOYCACGIAgEA5gIAIYoCAQDmAgAhDQMAAIMDACDXAQAAigMAMNgBAAAPABDZAQAAigMAMNoBAQDmAgAh5AFAAOcCACH5AQEA5gIAIfoBAQDmAgAh-wEBAOYCACH8AQEA5gIAIf0BAQDsAgAh_gEBAOwCACH_AUAA-wIAIQwDAACDAwAg1wEAAIsDADDYAQAACwAQ2QEAAIsDADDaAQEA5gIAIeQBQADnAgAh-QEBAOYCACGAAgEA5gIAIYECAQDmAgAhggIBAOYCACGDAgEA7AIAIYQCAQDsAgAhEQMAAIMDACDXAQAAjAMAMNgBAAAHABDZAQAAjAMAMNoBAQDmAgAh5AFAAOcCACHlAUAA5wIAIfkBAQDmAgAhkwIBAOYCACGUAgEA5gIAIZUCAQDsAgAhlgIBAOwCACGXAgEA7AIAIZgCQAD7AgAhmQJAAPsCACGaAgEA7AIAIZsCAQDsAgAhDgMAAIMDACDXAQAAjQMAMNgBAAADABDZAQAAjQMAMNoBAQDmAgAh4wFAAOcCACHkAUAA5wIAIeUBQADnAgAh-QEBAOYCACGcAgEA5gIAIZ0CAQDsAgAhngIBAOwCACGfAgEA7AIAIaACAQDsAgAhAAAAAAAAAaoCAQAAAAEBqgIBAAAAAQKqAgEAAAAEsAIBAAAABQWqAgIAAAABsQICAAAAAbICAgAAAAGzAgIAAAABtAICAAAAAQGqAkAAAAABAaoCQAAAAAEFGwAAvwUAIBwAAMUFACCnAgAAwAUAIKgCAADEBQAgrQIAAAEAIAcbAAC9BQAgHAAAwgUAIKcCAAC-BQAgqAIAAMEFACCrAgAAHAAgrAIAABwAIK0CAAAeACABqgIBAAAABAMbAAC_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_XAQAA3wMAMNgBAADgAwAQ2QEAAN8DADDaAQEA5gIAIdsBAQDmAgAh3gEBAOYCACHfAQEA7AIAIeEBAADOAgAg5AFAAOcCACHlAUAA5wIAIeYBQAD7AgAh9QEBAOwCACH2AQEA5gIAIfcBAQDmAgAh-AEgAPkCACEP1wEAAN8DADDYAQAA4AMAENkBAADfAwAw2gEBAOYCACHbAQEA5gIAId4BAQDmAgAh3wEBAOwCACHhAQAAzgIAIOQBQADnAgAh5QFAAOcCACHmAUAA-wIAIfUBAQDsAgAh9gEBAOYCACH3AQEA5gIAIfgBIAD5AgAhC9oBAQCUAwAh2wEBAJQDACHeAQEAlAMAId8BAQCVAwAh4QEAAKIDACDkAUAAmAMAIeUBQACYAwAh5gFAAJkDACH2AQEAlAMAIfcBAQCUAwAh-AEgAKMDACENAwAApgMAIAwAAKQDACDaAQEAlAMAIdsBAQCUAwAh3gEBAJQDACHfAQEAlQMAIeEBAACiAwAg5AFAAJgDACHlAUAAmAMAIeYBQACZAwAh9gEBAJQDACH3AQEAlAMAIfgBIACjAwAhDQMAALYDACAMAAC0AwAg2gEBAAAAAdsBAQAAAAHeAQEAAAAB3wEBAAAAAeEBAACzAwAg5AFAAAAAAeUBQAAAAAHmAUAAAAAB9gEBAAAAAfcBAQAAAAH4ASAAAAABCAMAAMoDACDaAQEAAAAB4wFAAAAAAeQBQAAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABAgAAABoAIBsAAO8DACADAAAAGgAgGwAA7wMAIBwAAO4DACABFAAAkgUAMA0DAACDAwAgCQAAiAMAINcBAACHAwAw2AEAABgAENkBAACHAwAw2gEBAAAAAeMBQADnAgAh5AFAAOcCACGIAgEA5gIAIYkCAQDmAgAhigIBAOwCACGLAgEA5gIAIYwCAQDmAgAhAgAAABoAIBQAAO4DACACAAAA7AMAIBQAAO0DACAL1wEAAOsDADDYAQAA7AMAENkBAADrAwAw2gEBAOYCACHjAUAA5wIAIeQBQADnAgAhiAIBAOYCACGJAgEA5gIAIYoCAQDsAgAhiwIBAOYCACGMAgEA5gIAIQvXAQAA6wMAMNgBAADsAwAQ2QEAAOsDADDaAQEA5gIAIeMBQADnAgAh5AFAAOcCACGIAgEA5gIAIYkCAQDmAgAhigIBAOwCACGLAgEA5gIAIYwCAQDmAgAhB9oBAQCUAwAh4wFAAJgDACHkAUAAmAMAIYkCAQCUAwAhigIBAJUDACGLAgEAlAMAIYwCAQCUAwAhCAMAAMgDACDaAQEAlAMAIeMBQACYAwAh5AFAAJgDACGJAgEAlAMAIYoCAQCVAwAhiwIBAJQDACGMAgEAlAMAIQgDAADKAwAg2gEBAAAAAeMBQAAAAAHkAUAAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAQUDAADRAwAg2gEBAAAAAeQBQAAAAAH5AQEAAAABigIBAAAAAQIAAAAVACAbAAD7AwAgAwAAABUAIBsAAPsDACAcAAD6AwAgARQAAJEFADAKAwAAgwMAIAkAAIgDACDXAQAAiQMAMNgBAAATABDZA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-wEBAAAAAfwBAQAAAAH9AQEAAAAB_gEBAAAAAf8BQAAAAAECAAAAEQAgGwAAygQAIAMAAAARACAbAADKBAAgHAAAyQQAIAEUAACCBQAwDQMAAIMDACDXAQAAigMAMNgBAAAPABDZAQAAigMAMNoBAQAAAAHkAUAA5wIAIfkBAQDmAgAh-gEBAOYCACH7AQEA5gIAIfwBAQDmAgAh_QEBAOwCACH-AQEA7AIAIf8BQAD7AgAhAgAAABEAIBQAAMkEACACAAAAxwQAIBQAAMgEACAM1wEAAMYEADDYAQAAxwQAENkBAADGBAAw2gEBAOYCACHkAUAA5wIAIfkBAQDmAgAh-gEBAOYCACH7AQEA5gIAIfwBAQDmAgAh_QEBAOwCACH-AQEA7AIAIf8BQAD7AgAhDNcBAADGBAAw2AEAAMcEABDZAQAAxgQAMNoBAQDmAgAh5AFAAOcCACH5AQEA5gIAIfoBAQDmAgAh-wEBAOYCACH8AQEA5gIAIf0BAQDsAgAh_gEBAOwCACH_AUAA-wIAIQjaAQEAlAMAIeQBQACYAwAh-gEBAJQDACH7AQEAlAMAIfwBAQCUAwAh_QEBAJUDACH-AQEAlQMAIf8BQACZAwAhCNoBAQCUAwAh5AFAAJgDACH6AQEAlAMAIfsBAQCUAwAh_AEBAJQDACH9AQEAlQMAIf4BAQCVAwAh_wFAAJkDACEI2gEBAAAAAeQBQAAAAAH6AQEAAAAB-wEBAAAAAfwBAQAAAAH9AQEAAAAB_gEBAAAAAf8BQAAAAAEH2gEBAAAAAeQBQAAAAAGAAgEAAAABgQIBAAAAAYICAQAAAAGDAgEAAAABhAIBAAAAAQIAAAANACAbAADWBAAgAwAAAA0AIBsAANYEACAcAADVBAAgARQAAIEFADAMAwAAgwMAINcBAACLAwAw2AEAAAsAENkBAACLAwAw2gEBAAAAAeQBQADnAgAh-QEBAOYCACGAAgEA5gIAIYECAQDmAgAhggIBAOYCACGDAgEA7AIAIYQCAQDsAgAhAgAAAA0AIBQAANUEACACAAAA0wQAIBQAANQEACAL1wEAANIEADDYAQAA0wQAENkBAADSBAAw2gEBAOYCACHkAUAA5wIAIfkBAQDmAgAhgAIBAOYCACGBAgEA5gIAIYICAQDmAgAhgwIBAOwCACGEAgEA7AIAIQvXAQAA0gQAMNgBAADTBAAQ2QEAANIEADDaAQEA5gIAIeQBQADnAgAh-QEBAOYCACGAAgEA5gIAIYECAQDmAgAhggIBAOYCACGDAgEA7AIAIYQCAQDsAgAhB9oBAQCUAwAh5AFAAJgDACGAAgEAlAMAIYECAQCUAwAhggIBAJQDACGDAgEAlQMAIYQCAQCVAwAhB9oBAQCUAwAh5AFAAJgDACGAAgEAlAMAIYECAQCUAwAhggIBAJQDACGDAgEAlQMAIYQCAQCVAwAhB9oBAQAAAAHkAUAAAAABgAIBAAAAAYECAQAAAAGCAgEAAAABgwIBAAAAAYQCAQAAAAEM2gEBAAAAAeQBQAAAAAHlAUAAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABlgIBAAAAAZcCAQAAAAGYAkAAAAABmQJAAAAAAZoCAQAAAAGbAgEAAAABAgAAAAkAIBsAAOIEACADAAAACQAgGwAA4gQAIBwAAOEEACABFAAAgAUAMBEDAACDAwAg1wEAAIwDADDYAQAABwAQ2QEAAIwDADDaAQEAAAAB5AFAAOcCACHlAUAA5wIAIfkBAQDmAgAhkwIBAOYCACGUAgEA5gIAIZUCAQDsAgAhlgIBAOwCACGXAgEA7AIAIZgCQAD7AgAhmQJAAPsCACGaAgEA7AIAIZsCAQDsAgAhAgAAAAkAIBQAAOEEACACAAAA3wQAIBQAAOAEACAQ1wEAAN4EADDYAQAA3wQAENkBAADeBAAw2gEBAOYCACHkAUAA5wIAIeUBQADnAgAh-QEBAOYCACGTAgEA5gIAIZQCAQDmAgAhlQIBAOwCACGWAgEA7AIAIZcCAQDsAgAhmAJAAPsCACGZAkAA-wIAIZoCAQDsAgAhmwIBAOwCACEQ1wEAAN4EADDYAQAA3wQAENkBAADeBAAw2gEBAOYCACHkAUAA5wIAIeUBQADnAgAh-QEBAOYCACGTAgEA5gIAIZQCAQDmAgAhlQIBAOwCACGWAgEA7AIAIZcCAQDsAgAhmAJAAPsCACGZAkAA-wIAIZoCAQDsAgAhmwIBAOwCACEM2gEBAJQDACHkAUAAmAMAIeUBQACYAwAhkwIBAJQDACGUAgEAlAMAIZUCAQCVAwAhlgIBAJUDACGXAgEAlQMAIZgCQACZAwAhmQJAAJkDACGaAgEAlQMAIZsCAQCVAwAhDNoBAQCUAwAh5AFAAJgDACHlAUAAmAMAIZMCAQCUAwAhlAIBAJQDACGVAgEAlQMAIZYCAQCVAwAhlwIBAJUDACGYAkAAmQMAIZkCQACZAwAhmgIBAJUDACGbAgEAlQMAIQzaAQEAAAAB5AFAAAAAAeUBQAAAAAGTAgEAAAABlAIBAAAAAZUCAQAAAAGWAgEAAAABlwIBAAAAAZgCQAAAAAGZAkAAAAABmgIBAAAAAZsCAQAAAAEJ2gEBAAAAAeMBQAAAAAHkAUAAAAAB5QFAAAAAAZwCAQAAAAGdAgEAAAABngIBAAAAAZ8CAQAAAAGgAgEAAAABAgAAAAUAIBsAAO4EACADAAAABQAgGwAA7gQAIBwAAO0EACABFAAA_wQAMA4DAACDAwAg1wEAAI0DADDYAQAAAwAQ2QEAAI0DADDaAQEAAAAB4wFAAOcCACHkAUAA5wIAIeUBQADnAgAh-QEBAOYCACGcAgEAAAABnQIBAOwCACGeAgEA7AIAIZ8CAQDsAgAhoAIBAOwCACECAAAABQAgFAAA7QQAIAIAAADrBAAgFAAA7AQAIA3XAQAA6gQAMNgBAADrBAAQ2QEAAOoEADDaAQEA5gIAIeMBQADnAgAh5AFAAOcCACHlAUAA5wIAIfkBAQDmAgAhnAIBAOYCACGdAgEA7AIAIZ4CAQDsAgAhnwIBAOwCACGgAgEA7AIAIQ3XAQAA6gQAMNgBAADrBAAQ2QEAAOoEADDaAQEA5gIAIeMBQADnAgAh5AFAAOcCACHlAUAA5wIAIfkBAQDmAgAhnAIBAOYCACGdAgEA7AIAIZ4CAQDsAgAhnwIBAOwCACGgAgEA7AIAIQnaAQEAlAMAIeMBQACYAwAh5AFAAJgDACHlAUAAmAMAIZwCAQCUAwAhnQIBAJUDACGeAgEAlQMAIZ8CAQCVAwAhoAIBAJUDACEJ2gEBAJQDACHjAUAAmAMAIeQBQACYAwAh5QFAAJgDACGcAgEAlAMAIZ0CAQCVAwAhngIBAJUDACGfAgEAlQMAIaACAQCVAwAhCdoBAQAAAAHjAUAAAAAB5AFAAAAAAeUBQAAAAAGcAgEAAAABnQIBAAAAAZ4CAQAAAAGfAgEAAAABoAIBAAAAAQQbAADjBAAwpwIAAOQEADCpAgAA5gQAIK0CAADnBAAwBBsAANcEADCnAgAA2AQAMKkCAADaBAAgrQIAANsEADAEGwAAywQAMKcCAADMBAAwqQIAAM4EACCtAgAAzwQAMAQbAAC_BAAwpwIAAMAEADCpAgAAwgQAIK0CAADDBAAwBBsAALYEADCnAgAAtwQAMKkCAAC5BAAgrQIAAPQDADAEGwAArQQAMKcCAACuBAAwqQIAALAEACCtAgAA6AMAMAQbAACkBAAwpwIAAKUEADCpAgAApwQAIK0CAADcAwAwBBsAAJsEADCnAgAAnAQAMKkCAACeBAAgrQIAAKsDADAAAAAAAA0EAAD3BAAgBQAA-AQAIAYAAPkEACAHAAD6BAAgCAAA_wMAIAoAAIAEACAMAAD7BAAgDgAAgQQAIN0BAACOAwAgigIAAI4DACCiAgAAjgMAIKMCAACOAwAgpAIAAI4DACAGAwAA_AQAIAkAAP4EACAMAAD7BAAg3wEAAI4DACDmAQAAjgMAIPUBAACOAwAgBggAAP8DACAKAACABAAgDgAAgQQAIPcBAACOAwAg_gEAAI4DACCOAgAAjgMAIAnaAQEAAAAB4wFAAAAAAeQBQAAAAAHlAUAAAAABnAIBAAAAAZ0CAQAAAAGeAgEAAAABnwIBAAAAAaACAQAAAAEM2gEBAAAAAeQBQAAAAAHlAUAAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABlgIBAAAAAZcCAQAAAAGYAkAAAAABmQJAAAAAAZoCAQAAAAGbAgEAAAABB9oBAQAAAAHkAUAAAAABgAIBAAAAAYECAQAAAAGCAgEAAAABgwIBAAAAAYQCAQAAAAEI2gEBAAAAAeQBQAAAAAH6AQEAAAAB-wEBAAAAAfwBAQAAAAH9AQEAAAAB_gEBAAAAAf8BQAAAAAEE2gEBAAAAAeQBQAAAAAGIAgEAAAABigIBAAAAAQfaAQEAAAAB4wFAAAAAAeQBQAAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABC9oBAQAAAAHeAQEAAAAB3wEBAAAAAeEBAACzAwAg5AFAAAAAAeUBQAAAAAHmAUAAAAAB9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEgAAAAAQzaAQEAAAAB3AEBAAAAAd0BAQAAAAHeAQEAAAAB3wEBAAAAAeABAQAAAAHhAQAAnAMAIOIBAgAAAAHjAUAAAAAB5AFAAAAAAeUBQAAAAAHmAUAAAAABEgUAAPAEACAGAADxBAAgBwAA8gQAIAgAAPMEACAKAAD0BAAgDAAA9gQAIA4AAPUEACDaAQEAAAAB3QEBAAAAAd4BAQAAAAHkAUAAAAAB5QFAAAAAAYkCAQAAAAGKAgEAAAABoQIgAAAAAaICIAAAAAGjAgEAAAABpAJAAAAAAQIAAAABACAbAACHBQAgAwAAADcAIBsAAIcFACAcAACLBQAgFAAAADcAIAUAAJQEACAGAACVBAAgBwAAlgQAIAgAAJcEACAKAACYBAAgDAAAmgQAIA4AAJkEACAUAACLBQAg2gEBAJQDACHdAQEAlQMAId4BAQCUAwAh5AFAAJgDACHlAUAAmAMAIYkCAQCUAwAhigIBAJUDACGhAiAAowMAIaICIACSBAAhowIBAJUDACGkAkAAmQMAIRIFAACUBAAgBgAAlQQAIAcAAJYEACAIAACXBAAgCgAAmAQAIAwAAJoEACAOAACZBAAg2gEBAJQDACHdAQEAlQMAId4BAQCUAwAh5AFAAJgDACHlAUAAmAMAIYkCAQCUAwAhigIBAJUDACGhAiAAowMAIaICIACSBAAhowIBAJUDACGkAkAAmQMAIRIEAADvBAAgBgAA8QQAIAcAAPIEACAIAADzBAAgCgAA9AQAIAwAAPYEACAOAAD1BAAg2gEBAAAAAd0BAQAAAAHeAQEAAAAB5AFAAAAAAeUBQAAAAAGJAgEAAAABigIBAAAAAaECIAAAAAGiAiAAAAABowIBAAAAAaQCQAAAAAECAAAAAQAgGwAAjAUAIAMAAAA3ACAbAACMBQAgHAAAkAUAIBQAAAA3ACAEAACTBAAgBgAAlQQAIAcAAJYEACAIAACXBAAgCgAAmAQAIAwAAJoEACAOAACZBAAgFAAAkAUAINoBAQCUAwAh3QEBAJUDACHeAQEAlAMAIeQBQACYAwAh5QFAAJgDACGJAgEAlAMAIYoCAQCVAwAhoQIgAKMDACGiAiAAkgQAIaMCAQCVAwAhpAJAAJkDACESBAAAkwQAIAYAAJUEACAHAACWBAAgCAAAlwQAIAoAAJgEACAMAACaBAAgDgAAmQQAINoBAQCUAwAh3QEBAJUDACHeAQEAlAMAIeQBQACYAwAh5QFAAJgDACGJAgEAlAMAIYoCAQCVAwAhoQIgAKMDACGiAiAAkgQAIaMCAQCVAwAhpAJAAJkDACEE2gEBAAAAAeQBQAAAAAH5AQEAAAABigIBAAAAAQfaAQEAAAAB4wFAAAAAAeQBQAAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABC9oBAQAAAAHbAQEAAAAB3gEBAAAAAd8BAQAAAAHhAQAAswMAIOQBQAAAAAHlAUAAAAAB5gFAAAAAAfYBAQAAAAH3AQEAAAAB-AEgAAAAARIEAADvBAAgBQAA8AQAIAYAAPEEACAHAADyBAAgCgAA9AQAIAwAAPYEACAOAAD1BAAg2gEBAAAAAd0BAQAAAAHeAQEAAAAB5AFAAAAAAeUBQAAAAAGJAgEAAAABigIBAAAAAaECIAAAAAGiAiAAAAABowIBAAAAAaQCQAAAAAECAAAAAQAgGwAAlAUAIAkKAAD9AwAgDgAA_gMAINoBAQAAAAHeAQEAAAAB5AFAAAAAAfcBAQAAAAH-AQEAAAABjQIBAAAAAY4CAQAAAAECAAAAkgEAIBsAAJYFACADAAAANwAgGwAAlAUAIBwAAJoFACAUAAAANwAgBAAAkwQAIAUAAJQEACAGAACVBAAgBwAAlgQAIAoAAJgEACAMAACaBAAgDgAAmQQAIBQAAJoFACDaAQEAlAMAId0BAQCVAwAh3gEBAJQDACHkAUAAmAMAIeUBQACYAwAhiQIBAJQDACGKAgEAlQMAIaECIACjAwAhogIgAJIEACGjAgEAlQMAIaQCQACZAwAhEgQAAJMEACAFAACUBAAgBgAAlQQAIAcAAJYEACAKAACYBAAgDAAAmgQAIA4AAJkEACDaAQEAlAMAId0BAQCVAwAh3gEBAJQDACHkAUAAmAMAIeUBQACYAwAhiQIBAJQDACGKAgEAlQMAIaECIACjAwAhogIgAJIEACGjAgEAlQMAIaQCQACZAwAhAwAAACUAIBsAAJYFACAcAACdBQAgCwAAACUAIAoAANYDACAOAADXAwAgFAAAnQUAINoBAQCUAwAh3gEBAJQDACHkAUAAmAMAIfcBAQCVAwAh_gEBAJUDACGNAgEAlAMAIY4CAQCVAwAhCQoAANYDACAOAADXAwAg2gEBAJQDACHeAQEAlAMAIeQBQACYAwAh9wEBAJUDACH-AQEAlQMAIY0CAQCUAwAhjgIBAJUDACESBAAA7wQAIAUAAPAEACAGAADxBAAgBwAA8gQAIAgAAPMEACAMAAD2BAAgDgAA9QQAINoBAQAAAAHdAQEAAAAB3gEBAAAAAeQBQAAAAAHlAUAAAAABiQIBAAAAAYoCAQAAAAGhAiAAAAABogIgAAAAAaMCAQAAAAGkAkAAAAABAgAAAAEAIBsAAJ4FACAJCAAA_AMAIA4AAP4DACDaAQEAAAAB3gEBAAAAAeQBQAAAAAH3AQEAAAAB_gEBAAAAAY0CAQAAAAGOAgEAAAABAgAAAJIBACAbAACgBQAgAwAAADcAIBsAAJ4FACAcAACkBQAgFAAAADcAIAQAAJMEACAFAACUBAAgBgAAlQQAIAcAAJYEACAIAACXBAAgDAAAmgQAIA4AAJkEACAUAACkBQAg2gEBAJQDACHdAQEAlQMAId4BAQCUAwAh5AFAAJgDACHlAUAAmAMAIYkCAQCUAwAhigIBAJUDACGhAiAAowMAIaICIACSBAAhowIBAJUDACGkAkAAmQMAIRIEAACTBAAgBQAAlAQAIAYAAJUEACAHAACWBAAgCAAAlwQAIAwAAJoEACAOAACZBAAg2gEBAJQDACHdAQEAlQMAId4BAQCUAwAh5AFAAJgDACHlAUAAmAMAIYkCAQCUAwAhigIBAJUDACGhAiAAowMAIaICIACSBAAhowIBAJUDACGkAkAAmQMAIQMAAAAlACAbAACgBQAgHAAApwUAIAsAAAAlACAIAADVAwAgDgAA1wMAIBQAAKcFACDaAQEAlAMAId4BAQCUAwAh5AFAAJgDACH3AQEAlQMAIf4BAQCVAwAhjQIBAJQDACGOAgEAlQMAIQkIAADVAwAgDgAA1wMAINoBAQCUAwAh3gEBAJQDACHkAUAAmAMAIfcBAQCVAwAh_gEBAJUDACGNAgEAlAMAIY4CAQCVAwAhEgQAAO8EACAFAADwBAAgBwAA8gQAIAgAAPMEACAKAAD0BAAgDAAA9gQAIA4AAPUEACDaAQEAAAAB3QEBAAAAAd4BAQAAAAHkAUAAAAAB5QFAAAAAAYkCAQAAAAGKAgEAAAABoQIgAAAAAaICIAAAAAGjAgEAAAABpAJAAAAAAQIAAAABACAbAACoBQAgAwAAADcAIBsAAKgFACAcAACsBQAgFAAAADcAIAQAAJMEACAFAACUBAAgBwAAlgQAIAgAAJcEACAKAACYBAAgDAAAmgQAIA4AAJkEACAUAACsBQAg2gEBAJQDACHdAQEAlQMAId4BAQCUAwAh5AFAAJgDACHlAUAAmAMAIYkCAQCUAwAhigIBAJUDACGhAiAAowMAIaICIACSBAAhowIBAJUDACGkAkAAmQMAIRIEAACTBAAgBQAAlAQAIAcAAJYEACAIAACXBAAgCgAAmAQAIAwAAJoEACAOAACZBAAg2gEBAJQDACHdAQEAlQMAId4BAQCUAwAh5AFAAJgDACHlAUAAmAMAIYkCAQCUAwAhigIBAJUDACGhAiAAowMAIaICIACSBAAhowIBAJUDACGkAkAAmQMAIRIEAADvBAAgBQAA8AQAIAYAAPEEACAIAADzBAAgCgAA9AQAIAwAAPYEACAOAAD1BAAg2gEBAAAAAd0BAQAAAAHeAQEAAAAB5AFAAAAAAeUBQAAAAAGJAgEAAAABigIBAAAAAaECIAAAAAGiAiAAAAABowIBAAAAAaQCQAAAAAECAAAAAQAgGwAArQUAIAMAAAA3ACAbAACtBQAgHAAAsQUAIBQAAAA3ACAEAACTBAAgBQAAlAQAIAYAAJUEACAIAACXBAAgCgAAmAQAIAwAAJoEACAOAACZBAAgFAAAsQUAINoBAQCUAwAh3QEBAJUDACHeAQEAlAMAIeQBQACYAwAh5QFAAJgDACGJAgEAlAMAIYoCAQCVAwAhoQIgAKMDACGiAiAAkgQAIaMCAQCVAwAhpAJAAJkDACESBAAAkwQAIAUAAJQEACAGAACVBAAgCAAAlwQAIAoAAJgEACAMAACaBAAgDgAAmQQAINoBAQCUAwAh3QEBAJUDACHeAQEAlAMAIeQBQACYAwAh5QFAAJgDACGJAgEAlAMAIYoCAQCVAwAhoQIgAKMDACGiAiAAkgQAIaMCAQCVAwAhpAJAAJkDACESBAAA7wQAIAUAAPAEACAGAADxBAAgBwAA8gQAIAgAAPMEACAKAAD0BAAgDAAA9gQAINoBAQAAAAHdAQEAAAAB3gEBAAAAAeQBQAAAAAHlAUAAAAABiQIBAAAAAYoCAQAAAAGhAiAAAAABogIgAAAAAaMCAQAAAAGkAkAAAAABAgAAAAEAIBsAALIFACAJCAAA_AMAIAoAAP0DACDaAQEAAAAB3gEBAAAAAeQBQAAAAAH3AQEAAAAB_gEBAAAAAY0CAQAAAAGOAgEAAAABAgAAAJIBACAbAAC0BQAgDNoBAQAAAAHbAQEAAAAB3QEBAAAAAd4BAQAAAAHfAQEAAAAB4AEBAAAAAeEBAACcAwAg4gECAAAAAeMBQAAAAAHkAUAAAAAB5QFAAAAAAeYBQAAAAAEDAAAANwAgGwAAsgUAIBwAALkFACAUAAAANwAgBAAAkwQAIAUAAJQEACAGAACVBAAgBwAAlgQAIAgAAJcEACAKAACYBAAgDAAAmgQAIBQAALkFACDaAQEAlAMAId0BAQCVAwAh3gEBAJQDACHkAUAAmAMAIeUBQACYAwAhiQIBAJQDACGKAgEAlQMAIaECIACjAwAhogIgAJIEACGjAgEAlQMAIaQCQACZAwAhEgQAAJMEACAFAACUBAAgBgAAlQQAIAcAAJYEACAIAACXBAAgCgAAmAQAIAwAAJoEACDaAQEAlAMAId0BAQCVAwAh3gEBAJQDACHkAUAAmAMAIeUBQACYAwAhiQIBAJQDACGKAgEAlQMAIaECIACjAwAhogIgAJIEACGjAgEAlQMAIaQCQACZAwAhAwAAACUAIBsAALQFACAcAAC8BQAgCwAAACUAIAgAANUDACAKAADWAwAgFAAAvAUAINoBAQCUAwAh3gEBAJQDACHkAUAAmAMAIfcBAQCVAwAh_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_ATl1wAEIdsEBCHfCAQh4wwEIecQBCHrGAQh7yAEOfMkBOn3LAQh-zQEOf84BO4ABzwEIgQHQAQiCAdEBDoMB1AE8hAHVAUCFAdcBQYYB2AFBhwHbAUGIAdwBQYkB3QFBigHfAUGLAeEBDowB4gFCjQHkAUGOAeYBDo8B5wFDkAHoAUGRAekBQZIB6gEOkwHtAUSUAe4BSJUB7wEElgHwAQSXAfEBBJgB8gEEmQHzAQSaAfUBBJsB9wEOnAH4AUmdAfoBBJ4B_AEOnwH9AUqgAf4BBKEB_wEEogGAAg6jAYMCS6QBhAJPpQGFAgWmAYYCBacBhwIFqAGIAgWpAYkCBaoBiwIFqwGNAg6sAY4CUK0BkAIFrgGSAg6vAZMCUbABlAIFsQGVAgWyAZYCDrMBmQJStAGaAla1AZsCCbYBnAIJtwGdAgm4AZ4CCbkBnwIJugGhAgm7AaMCDrwBpAJXvQGnAgm-AakCDr8BqgJYwAGsAgnBAa0CCcIBrgIOwwGxAlnEAbICXcUBswIKxgG0AgrHAbUCCsgBtgIKyQG3AgrKAbkCCssBuwIOzAG8Al7NAb8CCs4BwQIOzwHCAl_QAcQCCtEBxQIK0gHGAg7VAckCYNYBygJm" +} async function decodeBase64AsWasm(wasmBase64: string): Promise { const { Buffer } = await import('node:buffer') @@ -166,7 +174,7 @@ export interface PrismaClient< * ]) * ``` * - * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). + * Read more in our [docs](https://www.prisma.io/docs/orm/prisma-client/queries/transactions). */ $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise> @@ -275,6 +283,26 @@ export interface PrismaClient< * ``` */ get notification(): Prisma.NotificationDelegate; + + /** + * `prisma.box`: Exposes CRUD operations for the **Box** model. + * Example usage: + * ```ts + * // Fetch zero or more Boxes + * const boxes = await prisma.box.findMany() + * ``` + */ + get box(): Prisma.BoxDelegate; + + /** + * `prisma.item`: Exposes CRUD operations for the **Item** model. + * Example usage: + * ```ts + * // Fetch zero or more Items + * const items = await prisma.item.findMany() + * ``` + */ + get item(): Prisma.ItemDelegate; } export function getPrismaClientClass(): PrismaClientConstructor { diff --git a/src/generated/prisma/internal/prismaNamespace.ts b/src/generated/prisma/internal/prismaNamespace.ts index bb3c808..7468cfd 100644 --- a/src/generated/prisma/internal/prismaNamespace.ts +++ b/src/generated/prisma/internal/prismaNamespace.ts @@ -80,12 +80,12 @@ export type PrismaVersion = { } /** - * Prisma Client JS version: 7.3.0 - * Query Engine version: 9d6ad21cbbceab97458517b147a6a09ff43aa735 + * Prisma Client JS version: 7.4.1 + * Query Engine version: 55ae170b1ced7fc6ed07a15f110549408c501bb3 */ export const prismaVersion: PrismaVersion = { - client: "7.3.0", - engine: "9d6ad21cbbceab97458517b147a6a09ff43aa735" + client: "7.4.1", + engine: "55ae170b1ced7fc6ed07a15f110549408c501bb3" } /** @@ -393,7 +393,9 @@ export const ModelName = { Invitation: 'Invitation', Setting: 'Setting', Audit: 'Audit', - Notification: 'Notification' + Notification: 'Notification', + Box: 'Box', + Item: 'Item' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -409,7 +411,7 @@ export type TypeMap + fields: Prisma.BoxFieldRefs + operations: { + findUnique: { + args: Prisma.BoxFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.BoxFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.BoxFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.BoxFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.BoxFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.BoxCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.BoxCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.BoxCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.BoxDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.BoxUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.BoxDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.BoxUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.BoxUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.BoxUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.BoxAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.BoxGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.BoxCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Item: { + payload: Prisma.$ItemPayload + fields: Prisma.ItemFieldRefs + operations: { + findUnique: { + args: Prisma.ItemFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ItemFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.ItemFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ItemFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.ItemFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.ItemCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.ItemCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.ItemCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.ItemDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.ItemUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ItemDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ItemUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ItemUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.ItemUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ItemAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.ItemGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.ItemCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } } } & { other: { @@ -1336,6 +1486,43 @@ export const NotificationScalarFieldEnum = { export type NotificationScalarFieldEnum = (typeof NotificationScalarFieldEnum)[keyof typeof NotificationScalarFieldEnum] +export const BoxScalarFieldEnum = { + id: 'id', + houseId: 'houseId', + icon: 'icon', + color: 'color', + name: 'name', + description: 'description', + tags: 'tags', + createrId: 'createrId', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + deletedAt: 'deletedAt', + isPrivate: 'isPrivate' +} as const + +export type BoxScalarFieldEnum = (typeof BoxScalarFieldEnum)[keyof typeof BoxScalarFieldEnum] + + +export const ItemScalarFieldEnum = { + id: 'id', + createrId: 'createrId', + boxId: 'boxId', + image: 'image', + name: 'name', + description: 'description', + price: 'price', + tags: 'tags', + quantity: 'quantity', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + deletedAt: 'deletedAt' +} as const + +export type ItemScalarFieldEnum = (typeof ItemScalarFieldEnum)[keyof typeof ItemScalarFieldEnum] + + export const SortOrder = { asc: 'asc', desc: 'desc' @@ -1414,6 +1601,20 @@ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'In export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> + +/** + * Reference to a field of type 'Float' + */ +export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> + + + +/** + * Reference to a field of type 'Float[]' + */ +export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> + + /** * Batch Payload for updateMany & deleteMany & createMany */ @@ -1519,6 +1720,8 @@ export type GlobalOmitConfig = { setting?: Prisma.SettingOmit audit?: Prisma.AuditOmit notification?: Prisma.NotificationOmit + box?: Prisma.BoxOmit + item?: Prisma.ItemOmit } /* Types for Logging */ diff --git a/src/generated/prisma/internal/prismaNamespaceBrowser.ts b/src/generated/prisma/internal/prismaNamespaceBrowser.ts index 37cf0e2..812d92a 100644 --- a/src/generated/prisma/internal/prismaNamespaceBrowser.ts +++ b/src/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -60,7 +60,9 @@ export const ModelName = { Invitation: 'Invitation', Setting: 'Setting', Audit: 'Audit', - Notification: 'Notification' + Notification: 'Notification', + Box: 'Box', + Item: 'Item' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -223,6 +225,43 @@ export const NotificationScalarFieldEnum = { export type NotificationScalarFieldEnum = (typeof NotificationScalarFieldEnum)[keyof typeof NotificationScalarFieldEnum] +export const BoxScalarFieldEnum = { + id: 'id', + houseId: 'houseId', + icon: 'icon', + color: 'color', + name: 'name', + description: 'description', + tags: 'tags', + createrId: 'createrId', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + deletedAt: 'deletedAt', + isPrivate: 'isPrivate' +} as const + +export type BoxScalarFieldEnum = (typeof BoxScalarFieldEnum)[keyof typeof BoxScalarFieldEnum] + + +export const ItemScalarFieldEnum = { + id: 'id', + createrId: 'createrId', + boxId: 'boxId', + image: 'image', + name: 'name', + description: 'description', + price: 'price', + tags: 'tags', + quantity: 'quantity', + expiresAt: 'expiresAt', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + deletedAt: 'deletedAt' +} as const + +export type ItemScalarFieldEnum = (typeof ItemScalarFieldEnum)[keyof typeof ItemScalarFieldEnum] + + export const SortOrder = { asc: 'asc', desc: 'desc' diff --git a/src/generated/prisma/models.ts b/src/generated/prisma/models.ts index f03ae92..c9740b4 100644 --- a/src/generated/prisma/models.ts +++ b/src/generated/prisma/models.ts @@ -18,4 +18,6 @@ export type * from './models/Invitation.ts' export type * from './models/Setting.ts' export type * from './models/Audit.ts' export type * from './models/Notification.ts' +export type * from './models/Box.ts' +export type * from './models/Item.ts' export type * from './commonInputTypes.ts' \ No newline at end of file diff --git a/src/generated/prisma/models/Box.ts b/src/generated/prisma/models/Box.ts new file mode 100644 index 0000000..ee4f468 --- /dev/null +++ b/src/generated/prisma/models/Box.ts @@ -0,0 +1,1948 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Box` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Box + * + */ +export type BoxModel = runtime.Types.Result.DefaultSelection + +export type AggregateBox = { + _count: BoxCountAggregateOutputType | null + _min: BoxMinAggregateOutputType | null + _max: BoxMaxAggregateOutputType | null +} + +export type BoxMinAggregateOutputType = { + id: string | null + houseId: string | null + icon: string | null + color: string | null + name: string | null + description: string | null + createrId: string | null + createdAt: Date | null + updatedAt: Date | null + deletedAt: Date | null + isPrivate: boolean | null +} + +export type BoxMaxAggregateOutputType = { + id: string | null + houseId: string | null + icon: string | null + color: string | null + name: string | null + description: string | null + createrId: string | null + createdAt: Date | null + updatedAt: Date | null + deletedAt: Date | null + isPrivate: boolean | null +} + +export type BoxCountAggregateOutputType = { + id: number + houseId: number + icon: number + color: number + name: number + description: number + tags: number + createrId: number + createdAt: number + updatedAt: number + deletedAt: number + isPrivate: number + _all: number +} + + +export type BoxMinAggregateInputType = { + id?: true + houseId?: true + icon?: true + color?: true + name?: true + description?: true + createrId?: true + createdAt?: true + updatedAt?: true + deletedAt?: true + isPrivate?: true +} + +export type BoxMaxAggregateInputType = { + id?: true + houseId?: true + icon?: true + color?: true + name?: true + description?: true + createrId?: true + createdAt?: true + updatedAt?: true + deletedAt?: true + isPrivate?: true +} + +export type BoxCountAggregateInputType = { + id?: true + houseId?: true + icon?: true + color?: true + name?: true + description?: true + tags?: true + createrId?: true + createdAt?: true + updatedAt?: true + deletedAt?: true + isPrivate?: true + _all?: true +} + +export type BoxAggregateArgs = { + /** + * Filter which Box to aggregate. + */ + where?: Prisma.BoxWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Boxes to fetch. + */ + orderBy?: Prisma.BoxOrderByWithRelationInput | Prisma.BoxOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.BoxWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Boxes from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Boxes. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Boxes + **/ + _count?: true | BoxCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: BoxMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: BoxMaxAggregateInputType +} + +export type GetBoxAggregateType = { + [P in keyof T & keyof AggregateBox]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type BoxGroupByArgs = { + where?: Prisma.BoxWhereInput + orderBy?: Prisma.BoxOrderByWithAggregationInput | Prisma.BoxOrderByWithAggregationInput[] + by: Prisma.BoxScalarFieldEnum[] | Prisma.BoxScalarFieldEnum + having?: Prisma.BoxScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: BoxCountAggregateInputType | true + _min?: BoxMinAggregateInputType + _max?: BoxMaxAggregateInputType +} + +export type BoxGroupByOutputType = { + id: string + houseId: string | null + icon: string + color: string + name: string + description: string | null + tags: string[] + createrId: string + createdAt: Date + updatedAt: Date + deletedAt: Date | null + isPrivate: boolean + _count: BoxCountAggregateOutputType | null + _min: BoxMinAggregateOutputType | null + _max: BoxMaxAggregateOutputType | null +} + +type GetBoxGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof BoxGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type BoxWhereInput = { + AND?: Prisma.BoxWhereInput | Prisma.BoxWhereInput[] + OR?: Prisma.BoxWhereInput[] + NOT?: Prisma.BoxWhereInput | Prisma.BoxWhereInput[] + id?: Prisma.StringFilter<"Box"> | string + houseId?: Prisma.StringNullableFilter<"Box"> | string | null + icon?: Prisma.StringFilter<"Box"> | string + color?: Prisma.StringFilter<"Box"> | string + name?: Prisma.StringFilter<"Box"> | string + description?: Prisma.StringNullableFilter<"Box"> | string | null + tags?: Prisma.StringNullableListFilter<"Box"> + createrId?: Prisma.StringFilter<"Box"> | string + createdAt?: Prisma.DateTimeFilter<"Box"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Box"> | Date | string + deletedAt?: Prisma.DateTimeNullableFilter<"Box"> | Date | string | null + isPrivate?: Prisma.BoolFilter<"Box"> | boolean + items?: Prisma.ItemListRelationFilter + house?: Prisma.XOR | null + user?: Prisma.XOR +} + +export type BoxOrderByWithRelationInput = { + id?: Prisma.SortOrder + houseId?: Prisma.SortOrderInput | Prisma.SortOrder + icon?: Prisma.SortOrder + color?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + tags?: Prisma.SortOrder + createrId?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder + isPrivate?: Prisma.SortOrder + items?: Prisma.ItemOrderByRelationAggregateInput + house?: Prisma.HouseOrderByWithRelationInput + user?: Prisma.UserOrderByWithRelationInput +} + +export type BoxWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + AND?: Prisma.BoxWhereInput | Prisma.BoxWhereInput[] + OR?: Prisma.BoxWhereInput[] + NOT?: Prisma.BoxWhereInput | Prisma.BoxWhereInput[] + houseId?: Prisma.StringNullableFilter<"Box"> | string | null + icon?: Prisma.StringFilter<"Box"> | string + color?: Prisma.StringFilter<"Box"> | string + description?: Prisma.StringNullableFilter<"Box"> | string | null + tags?: Prisma.StringNullableListFilter<"Box"> + createrId?: Prisma.StringFilter<"Box"> | string + createdAt?: Prisma.DateTimeFilter<"Box"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Box"> | Date | string + deletedAt?: Prisma.DateTimeNullableFilter<"Box"> | Date | string | null + isPrivate?: Prisma.BoolFilter<"Box"> | boolean + items?: Prisma.ItemListRelationFilter + house?: Prisma.XOR | null + user?: Prisma.XOR +}, "id" | "name"> + +export type BoxOrderByWithAggregationInput = { + id?: Prisma.SortOrder + houseId?: Prisma.SortOrderInput | Prisma.SortOrder + icon?: Prisma.SortOrder + color?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + tags?: Prisma.SortOrder + createrId?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder + isPrivate?: Prisma.SortOrder + _count?: Prisma.BoxCountOrderByAggregateInput + _max?: Prisma.BoxMaxOrderByAggregateInput + _min?: Prisma.BoxMinOrderByAggregateInput +} + +export type BoxScalarWhereWithAggregatesInput = { + AND?: Prisma.BoxScalarWhereWithAggregatesInput | Prisma.BoxScalarWhereWithAggregatesInput[] + OR?: Prisma.BoxScalarWhereWithAggregatesInput[] + NOT?: Prisma.BoxScalarWhereWithAggregatesInput | Prisma.BoxScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Box"> | string + houseId?: Prisma.StringNullableWithAggregatesFilter<"Box"> | string | null + icon?: Prisma.StringWithAggregatesFilter<"Box"> | string + color?: Prisma.StringWithAggregatesFilter<"Box"> | string + name?: Prisma.StringWithAggregatesFilter<"Box"> | string + description?: Prisma.StringNullableWithAggregatesFilter<"Box"> | string | null + tags?: Prisma.StringNullableListFilter<"Box"> + createrId?: Prisma.StringWithAggregatesFilter<"Box"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Box"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Box"> | Date | string + deletedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Box"> | Date | string | null + isPrivate?: Prisma.BoolWithAggregatesFilter<"Box"> | boolean +} + +export type BoxCreateInput = { + id?: string + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + items?: Prisma.ItemCreateNestedManyWithoutBoxInput + house?: Prisma.HouseCreateNestedOneWithoutBoxesInput + user: Prisma.UserCreateNestedOneWithoutBoxesInput +} + +export type BoxUncheckedCreateInput = { + id?: string + houseId?: string | null + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createrId: string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + items?: Prisma.ItemUncheckedCreateNestedManyWithoutBoxInput +} + +export type BoxUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + items?: Prisma.ItemUpdateManyWithoutBoxNestedInput + house?: Prisma.HouseUpdateOneWithoutBoxesNestedInput + user?: Prisma.UserUpdateOneRequiredWithoutBoxesNestedInput +} + +export type BoxUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + houseId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createrId?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + items?: Prisma.ItemUncheckedUpdateManyWithoutBoxNestedInput +} + +export type BoxCreateManyInput = { + id?: string + houseId?: string | null + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createrId: string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean +} + +export type BoxUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean +} + +export type BoxUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + houseId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createrId?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean +} + +export type BoxListRelationFilter = { + every?: Prisma.BoxWhereInput + some?: Prisma.BoxWhereInput + none?: Prisma.BoxWhereInput +} + +export type BoxOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type StringNullableListFilter<$PrismaModel = never> = { + equals?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + has?: string | Prisma.StringFieldRefInput<$PrismaModel> | null + hasEvery?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + hasSome?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + isEmpty?: boolean +} + +export type BoxCountOrderByAggregateInput = { + id?: Prisma.SortOrder + houseId?: Prisma.SortOrder + icon?: Prisma.SortOrder + color?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + tags?: Prisma.SortOrder + createrId?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrder + isPrivate?: Prisma.SortOrder +} + +export type BoxMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + houseId?: Prisma.SortOrder + icon?: Prisma.SortOrder + color?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + createrId?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrder + isPrivate?: Prisma.SortOrder +} + +export type BoxMinOrderByAggregateInput = { + id?: Prisma.SortOrder + houseId?: Prisma.SortOrder + icon?: Prisma.SortOrder + color?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + createrId?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrder + isPrivate?: Prisma.SortOrder +} + +export type BoxNullableScalarRelationFilter = { + is?: Prisma.BoxWhereInput | null + isNot?: Prisma.BoxWhereInput | null +} + +export type BoxCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutUserInput[] | Prisma.BoxUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutUserInput | Prisma.BoxCreateOrConnectWithoutUserInput[] + createMany?: Prisma.BoxCreateManyUserInputEnvelope + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] +} + +export type BoxUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutUserInput[] | Prisma.BoxUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutUserInput | Prisma.BoxCreateOrConnectWithoutUserInput[] + createMany?: Prisma.BoxCreateManyUserInputEnvelope + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] +} + +export type BoxUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutUserInput[] | Prisma.BoxUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutUserInput | Prisma.BoxCreateOrConnectWithoutUserInput[] + upsert?: Prisma.BoxUpsertWithWhereUniqueWithoutUserInput | Prisma.BoxUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.BoxCreateManyUserInputEnvelope + set?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + disconnect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + delete?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + update?: Prisma.BoxUpdateWithWhereUniqueWithoutUserInput | Prisma.BoxUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.BoxUpdateManyWithWhereWithoutUserInput | Prisma.BoxUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.BoxScalarWhereInput | Prisma.BoxScalarWhereInput[] +} + +export type BoxUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutUserInput[] | Prisma.BoxUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutUserInput | Prisma.BoxCreateOrConnectWithoutUserInput[] + upsert?: Prisma.BoxUpsertWithWhereUniqueWithoutUserInput | Prisma.BoxUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.BoxCreateManyUserInputEnvelope + set?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + disconnect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + delete?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + update?: Prisma.BoxUpdateWithWhereUniqueWithoutUserInput | Prisma.BoxUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.BoxUpdateManyWithWhereWithoutUserInput | Prisma.BoxUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.BoxScalarWhereInput | Prisma.BoxScalarWhereInput[] +} + +export type BoxCreateNestedManyWithoutHouseInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutHouseInput[] | Prisma.BoxUncheckedCreateWithoutHouseInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutHouseInput | Prisma.BoxCreateOrConnectWithoutHouseInput[] + createMany?: Prisma.BoxCreateManyHouseInputEnvelope + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] +} + +export type BoxUncheckedCreateNestedManyWithoutHouseInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutHouseInput[] | Prisma.BoxUncheckedCreateWithoutHouseInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutHouseInput | Prisma.BoxCreateOrConnectWithoutHouseInput[] + createMany?: Prisma.BoxCreateManyHouseInputEnvelope + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] +} + +export type BoxUpdateManyWithoutHouseNestedInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutHouseInput[] | Prisma.BoxUncheckedCreateWithoutHouseInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutHouseInput | Prisma.BoxCreateOrConnectWithoutHouseInput[] + upsert?: Prisma.BoxUpsertWithWhereUniqueWithoutHouseInput | Prisma.BoxUpsertWithWhereUniqueWithoutHouseInput[] + createMany?: Prisma.BoxCreateManyHouseInputEnvelope + set?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + disconnect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + delete?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + update?: Prisma.BoxUpdateWithWhereUniqueWithoutHouseInput | Prisma.BoxUpdateWithWhereUniqueWithoutHouseInput[] + updateMany?: Prisma.BoxUpdateManyWithWhereWithoutHouseInput | Prisma.BoxUpdateManyWithWhereWithoutHouseInput[] + deleteMany?: Prisma.BoxScalarWhereInput | Prisma.BoxScalarWhereInput[] +} + +export type BoxUncheckedUpdateManyWithoutHouseNestedInput = { + create?: Prisma.XOR | Prisma.BoxCreateWithoutHouseInput[] | Prisma.BoxUncheckedCreateWithoutHouseInput[] + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutHouseInput | Prisma.BoxCreateOrConnectWithoutHouseInput[] + upsert?: Prisma.BoxUpsertWithWhereUniqueWithoutHouseInput | Prisma.BoxUpsertWithWhereUniqueWithoutHouseInput[] + createMany?: Prisma.BoxCreateManyHouseInputEnvelope + set?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + disconnect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + delete?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + connect?: Prisma.BoxWhereUniqueInput | Prisma.BoxWhereUniqueInput[] + update?: Prisma.BoxUpdateWithWhereUniqueWithoutHouseInput | Prisma.BoxUpdateWithWhereUniqueWithoutHouseInput[] + updateMany?: Prisma.BoxUpdateManyWithWhereWithoutHouseInput | Prisma.BoxUpdateManyWithWhereWithoutHouseInput[] + deleteMany?: Prisma.BoxScalarWhereInput | Prisma.BoxScalarWhereInput[] +} + +export type BoxCreatetagsInput = { + set: string[] +} + +export type BoxUpdatetagsInput = { + set?: string[] + push?: string | string[] +} + +export type BoxCreateNestedOneWithoutItemsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutItemsInput + connect?: Prisma.BoxWhereUniqueInput +} + +export type BoxUpdateOneWithoutItemsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.BoxCreateOrConnectWithoutItemsInput + upsert?: Prisma.BoxUpsertWithoutItemsInput + disconnect?: Prisma.BoxWhereInput | boolean + delete?: Prisma.BoxWhereInput | boolean + connect?: Prisma.BoxWhereUniqueInput + update?: Prisma.XOR, Prisma.BoxUncheckedUpdateWithoutItemsInput> +} + +export type BoxCreateWithoutUserInput = { + id?: string + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + items?: Prisma.ItemCreateNestedManyWithoutBoxInput + house?: Prisma.HouseCreateNestedOneWithoutBoxesInput +} + +export type BoxUncheckedCreateWithoutUserInput = { + id?: string + houseId?: string | null + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + items?: Prisma.ItemUncheckedCreateNestedManyWithoutBoxInput +} + +export type BoxCreateOrConnectWithoutUserInput = { + where: Prisma.BoxWhereUniqueInput + create: Prisma.XOR +} + +export type BoxCreateManyUserInputEnvelope = { + data: Prisma.BoxCreateManyUserInput | Prisma.BoxCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type BoxUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.BoxWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type BoxUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.BoxWhereUniqueInput + data: Prisma.XOR +} + +export type BoxUpdateManyWithWhereWithoutUserInput = { + where: Prisma.BoxScalarWhereInput + data: Prisma.XOR +} + +export type BoxScalarWhereInput = { + AND?: Prisma.BoxScalarWhereInput | Prisma.BoxScalarWhereInput[] + OR?: Prisma.BoxScalarWhereInput[] + NOT?: Prisma.BoxScalarWhereInput | Prisma.BoxScalarWhereInput[] + id?: Prisma.StringFilter<"Box"> | string + houseId?: Prisma.StringNullableFilter<"Box"> | string | null + icon?: Prisma.StringFilter<"Box"> | string + color?: Prisma.StringFilter<"Box"> | string + name?: Prisma.StringFilter<"Box"> | string + description?: Prisma.StringNullableFilter<"Box"> | string | null + tags?: Prisma.StringNullableListFilter<"Box"> + createrId?: Prisma.StringFilter<"Box"> | string + createdAt?: Prisma.DateTimeFilter<"Box"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Box"> | Date | string + deletedAt?: Prisma.DateTimeNullableFilter<"Box"> | Date | string | null + isPrivate?: Prisma.BoolFilter<"Box"> | boolean +} + +export type BoxCreateWithoutHouseInput = { + id?: string + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + items?: Prisma.ItemCreateNestedManyWithoutBoxInput + user: Prisma.UserCreateNestedOneWithoutBoxesInput +} + +export type BoxUncheckedCreateWithoutHouseInput = { + id?: string + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createrId: string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + items?: Prisma.ItemUncheckedCreateNestedManyWithoutBoxInput +} + +export type BoxCreateOrConnectWithoutHouseInput = { + where: Prisma.BoxWhereUniqueInput + create: Prisma.XOR +} + +export type BoxCreateManyHouseInputEnvelope = { + data: Prisma.BoxCreateManyHouseInput | Prisma.BoxCreateManyHouseInput[] + skipDuplicates?: boolean +} + +export type BoxUpsertWithWhereUniqueWithoutHouseInput = { + where: Prisma.BoxWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type BoxUpdateWithWhereUniqueWithoutHouseInput = { + where: Prisma.BoxWhereUniqueInput + data: Prisma.XOR +} + +export type BoxUpdateManyWithWhereWithoutHouseInput = { + where: Prisma.BoxScalarWhereInput + data: Prisma.XOR +} + +export type BoxCreateWithoutItemsInput = { + id?: string + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean + house?: Prisma.HouseCreateNestedOneWithoutBoxesInput + user: Prisma.UserCreateNestedOneWithoutBoxesInput +} + +export type BoxUncheckedCreateWithoutItemsInput = { + id?: string + houseId?: string | null + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createrId: string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean +} + +export type BoxCreateOrConnectWithoutItemsInput = { + where: Prisma.BoxWhereUniqueInput + create: Prisma.XOR +} + +export type BoxUpsertWithoutItemsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.BoxWhereInput +} + +export type BoxUpdateToOneWithWhereWithoutItemsInput = { + where?: Prisma.BoxWhereInput + data: Prisma.XOR +} + +export type BoxUpdateWithoutItemsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + house?: Prisma.HouseUpdateOneWithoutBoxesNestedInput + user?: Prisma.UserUpdateOneRequiredWithoutBoxesNestedInput +} + +export type BoxUncheckedUpdateWithoutItemsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + houseId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createrId?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean +} + +export type BoxCreateManyUserInput = { + id?: string + houseId?: string | null + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean +} + +export type BoxUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + items?: Prisma.ItemUpdateManyWithoutBoxNestedInput + house?: Prisma.HouseUpdateOneWithoutBoxesNestedInput +} + +export type BoxUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + houseId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + items?: Prisma.ItemUncheckedUpdateManyWithoutBoxNestedInput +} + +export type BoxUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + houseId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean +} + +export type BoxCreateManyHouseInput = { + id?: string + icon: string + color: string + name: string + description?: string | null + tags?: Prisma.BoxCreatetagsInput | string[] + createrId: string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + isPrivate?: boolean +} + +export type BoxUpdateWithoutHouseInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + items?: Prisma.ItemUpdateManyWithoutBoxNestedInput + user?: Prisma.UserUpdateOneRequiredWithoutBoxesNestedInput +} + +export type BoxUncheckedUpdateWithoutHouseInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createrId?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean + items?: Prisma.ItemUncheckedUpdateManyWithoutBoxNestedInput +} + +export type BoxUncheckedUpdateManyWithoutHouseInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + icon?: Prisma.StringFieldUpdateOperationsInput | string + color?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.BoxUpdatetagsInput | string[] + createrId?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + isPrivate?: Prisma.BoolFieldUpdateOperationsInput | boolean +} + + +/** + * Count Type BoxCountOutputType + */ + +export type BoxCountOutputType = { + items: number +} + +export type BoxCountOutputTypeSelect = { + items?: boolean | BoxCountOutputTypeCountItemsArgs +} + +/** + * BoxCountOutputType without action + */ +export type BoxCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the BoxCountOutputType + */ + select?: Prisma.BoxCountOutputTypeSelect | null +} + +/** + * BoxCountOutputType without action + */ +export type BoxCountOutputTypeCountItemsArgs = { + where?: Prisma.ItemWhereInput +} + + +export type BoxSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + houseId?: boolean + icon?: boolean + color?: boolean + name?: boolean + description?: boolean + tags?: boolean + createrId?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + isPrivate?: boolean + items?: boolean | Prisma.Box$itemsArgs + house?: boolean | Prisma.Box$houseArgs + user?: boolean | Prisma.UserDefaultArgs + _count?: boolean | Prisma.BoxCountOutputTypeDefaultArgs +}, ExtArgs["result"]["box"]> + +export type BoxSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + houseId?: boolean + icon?: boolean + color?: boolean + name?: boolean + description?: boolean + tags?: boolean + createrId?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + isPrivate?: boolean + house?: boolean | Prisma.Box$houseArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["box"]> + +export type BoxSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + houseId?: boolean + icon?: boolean + color?: boolean + name?: boolean + description?: boolean + tags?: boolean + createrId?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + isPrivate?: boolean + house?: boolean | Prisma.Box$houseArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["box"]> + +export type BoxSelectScalar = { + id?: boolean + houseId?: boolean + icon?: boolean + color?: boolean + name?: boolean + description?: boolean + tags?: boolean + createrId?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + isPrivate?: boolean +} + +export type BoxOmit = runtime.Types.Extensions.GetOmit<"id" | "houseId" | "icon" | "color" | "name" | "description" | "tags" | "createrId" | "createdAt" | "updatedAt" | "deletedAt" | "isPrivate", ExtArgs["result"]["box"]> +export type BoxInclude = { + items?: boolean | Prisma.Box$itemsArgs + house?: boolean | Prisma.Box$houseArgs + user?: boolean | Prisma.UserDefaultArgs + _count?: boolean | Prisma.BoxCountOutputTypeDefaultArgs +} +export type BoxIncludeCreateManyAndReturn = { + house?: boolean | Prisma.Box$houseArgs + user?: boolean | Prisma.UserDefaultArgs +} +export type BoxIncludeUpdateManyAndReturn = { + house?: boolean | Prisma.Box$houseArgs + user?: boolean | Prisma.UserDefaultArgs +} + +export type $BoxPayload = { + name: "Box" + objects: { + items: Prisma.$ItemPayload[] + house: Prisma.$HousePayload | null + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + houseId: string | null + icon: string + color: string + name: string + description: string | null + tags: string[] + createrId: string + createdAt: Date + updatedAt: Date + deletedAt: Date | null + isPrivate: boolean + }, ExtArgs["result"]["box"]> + composites: {} +} + +export type BoxGetPayload = runtime.Types.Result.GetResult + +export type BoxCountArgs = + Omit & { + select?: BoxCountAggregateInputType | true + } + +export interface BoxDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Box'], meta: { name: 'Box' } } + /** + * Find zero or one Box that matches the filter. + * @param {BoxFindUniqueArgs} args - Arguments to find a Box + * @example + * // Get one Box + * const box = await prisma.box.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Box that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {BoxFindUniqueOrThrowArgs} args - Arguments to find a Box + * @example + * // Get one Box + * const box = await prisma.box.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Box that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxFindFirstArgs} args - Arguments to find a Box + * @example + * // Get one Box + * const box = await prisma.box.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Box that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxFindFirstOrThrowArgs} args - Arguments to find a Box + * @example + * // Get one Box + * const box = await prisma.box.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Boxes that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Boxes + * const boxes = await prisma.box.findMany() + * + * // Get first 10 Boxes + * const boxes = await prisma.box.findMany({ take: 10 }) + * + * // Only select the `id` + * const boxWithIdOnly = await prisma.box.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Box. + * @param {BoxCreateArgs} args - Arguments to create a Box. + * @example + * // Create one Box + * const Box = await prisma.box.create({ + * data: { + * // ... data to create a Box + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Boxes. + * @param {BoxCreateManyArgs} args - Arguments to create many Boxes. + * @example + * // Create many Boxes + * const box = await prisma.box.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Boxes and returns the data saved in the database. + * @param {BoxCreateManyAndReturnArgs} args - Arguments to create many Boxes. + * @example + * // Create many Boxes + * const box = await prisma.box.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Boxes and only return the `id` + * const boxWithIdOnly = await prisma.box.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Box. + * @param {BoxDeleteArgs} args - Arguments to delete one Box. + * @example + * // Delete one Box + * const Box = await prisma.box.delete({ + * where: { + * // ... filter to delete one Box + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Box. + * @param {BoxUpdateArgs} args - Arguments to update one Box. + * @example + * // Update one Box + * const box = await prisma.box.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Boxes. + * @param {BoxDeleteManyArgs} args - Arguments to filter Boxes to delete. + * @example + * // Delete a few Boxes + * const { count } = await prisma.box.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Boxes. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Boxes + * const box = await prisma.box.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Boxes and returns the data updated in the database. + * @param {BoxUpdateManyAndReturnArgs} args - Arguments to update many Boxes. + * @example + * // Update many Boxes + * const box = await prisma.box.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Boxes and only return the `id` + * const boxWithIdOnly = await prisma.box.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Box. + * @param {BoxUpsertArgs} args - Arguments to update or create a Box. + * @example + * // Update or create a Box + * const box = await prisma.box.upsert({ + * create: { + * // ... data to create a Box + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Box we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__BoxClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Boxes. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxCountArgs} args - Arguments to filter Boxes to count. + * @example + * // Count the number of Boxes + * const count = await prisma.box.count({ + * where: { + * // ... the filter for the Boxes we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Box. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Box. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoxGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends BoxGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: BoxGroupByArgs['orderBy'] } + : { orderBy?: BoxGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetBoxGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Box model + */ +readonly fields: BoxFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Box. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__BoxClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + items = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + house = {}>(args?: Prisma.Subset>): Prisma.Prisma__HouseClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Box model + */ +export interface BoxFieldRefs { + readonly id: Prisma.FieldRef<"Box", 'String'> + readonly houseId: Prisma.FieldRef<"Box", 'String'> + readonly icon: Prisma.FieldRef<"Box", 'String'> + readonly color: Prisma.FieldRef<"Box", 'String'> + readonly name: Prisma.FieldRef<"Box", 'String'> + readonly description: Prisma.FieldRef<"Box", 'String'> + readonly tags: Prisma.FieldRef<"Box", 'String[]'> + readonly createrId: Prisma.FieldRef<"Box", 'String'> + readonly createdAt: Prisma.FieldRef<"Box", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Box", 'DateTime'> + readonly deletedAt: Prisma.FieldRef<"Box", 'DateTime'> + readonly isPrivate: Prisma.FieldRef<"Box", 'Boolean'> +} + + +// Custom InputTypes +/** + * Box findUnique + */ +export type BoxFindUniqueArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * Filter, which Box to fetch. + */ + where: Prisma.BoxWhereUniqueInput +} + +/** + * Box findUniqueOrThrow + */ +export type BoxFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * Filter, which Box to fetch. + */ + where: Prisma.BoxWhereUniqueInput +} + +/** + * Box findFirst + */ +export type BoxFindFirstArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * Filter, which Box to fetch. + */ + where?: Prisma.BoxWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Boxes to fetch. + */ + orderBy?: Prisma.BoxOrderByWithRelationInput | Prisma.BoxOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Boxes. + */ + cursor?: Prisma.BoxWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Boxes from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Boxes. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Boxes. + */ + distinct?: Prisma.BoxScalarFieldEnum | Prisma.BoxScalarFieldEnum[] +} + +/** + * Box findFirstOrThrow + */ +export type BoxFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * Filter, which Box to fetch. + */ + where?: Prisma.BoxWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Boxes to fetch. + */ + orderBy?: Prisma.BoxOrderByWithRelationInput | Prisma.BoxOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Boxes. + */ + cursor?: Prisma.BoxWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Boxes from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Boxes. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Boxes. + */ + distinct?: Prisma.BoxScalarFieldEnum | Prisma.BoxScalarFieldEnum[] +} + +/** + * Box findMany + */ +export type BoxFindManyArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * Filter, which Boxes to fetch. + */ + where?: Prisma.BoxWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Boxes to fetch. + */ + orderBy?: Prisma.BoxOrderByWithRelationInput | Prisma.BoxOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Boxes. + */ + cursor?: Prisma.BoxWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Boxes from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Boxes. + */ + skip?: number + distinct?: Prisma.BoxScalarFieldEnum | Prisma.BoxScalarFieldEnum[] +} + +/** + * Box create + */ +export type BoxCreateArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * The data needed to create a Box. + */ + data: Prisma.XOR +} + +/** + * Box createMany + */ +export type BoxCreateManyArgs = { + /** + * The data used to create many Boxes. + */ + data: Prisma.BoxCreateManyInput | Prisma.BoxCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Box createManyAndReturn + */ +export type BoxCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * The data used to create many Boxes. + */ + data: Prisma.BoxCreateManyInput | Prisma.BoxCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxIncludeCreateManyAndReturn | null +} + +/** + * Box update + */ +export type BoxUpdateArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * The data needed to update a Box. + */ + data: Prisma.XOR + /** + * Choose, which Box to update. + */ + where: Prisma.BoxWhereUniqueInput +} + +/** + * Box updateMany + */ +export type BoxUpdateManyArgs = { + /** + * The data used to update Boxes. + */ + data: Prisma.XOR + /** + * Filter which Boxes to update + */ + where?: Prisma.BoxWhereInput + /** + * Limit how many Boxes to update. + */ + limit?: number +} + +/** + * Box updateManyAndReturn + */ +export type BoxUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * The data used to update Boxes. + */ + data: Prisma.XOR + /** + * Filter which Boxes to update + */ + where?: Prisma.BoxWhereInput + /** + * Limit how many Boxes to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxIncludeUpdateManyAndReturn | null +} + +/** + * Box upsert + */ +export type BoxUpsertArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * The filter to search for the Box to update in case it exists. + */ + where: Prisma.BoxWhereUniqueInput + /** + * In case the Box found by the `where` argument doesn't exist, create a new Box with this data. + */ + create: Prisma.XOR + /** + * In case the Box was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Box delete + */ +export type BoxDeleteArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + /** + * Filter which Box to delete. + */ + where: Prisma.BoxWhereUniqueInput +} + +/** + * Box deleteMany + */ +export type BoxDeleteManyArgs = { + /** + * Filter which Boxes to delete + */ + where?: Prisma.BoxWhereInput + /** + * Limit how many Boxes to delete. + */ + limit?: number +} + +/** + * Box.items + */ +export type Box$itemsArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + where?: Prisma.ItemWhereInput + orderBy?: Prisma.ItemOrderByWithRelationInput | Prisma.ItemOrderByWithRelationInput[] + cursor?: Prisma.ItemWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ItemScalarFieldEnum | Prisma.ItemScalarFieldEnum[] +} + +/** + * Box.house + */ +export type Box$houseArgs = { + /** + * Select specific fields to fetch from the House + */ + select?: Prisma.HouseSelect | null + /** + * Omit specific fields from the House + */ + omit?: Prisma.HouseOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.HouseInclude | null + where?: Prisma.HouseWhereInput +} + +/** + * Box without action + */ +export type BoxDefaultArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null +} diff --git a/src/generated/prisma/models/House.ts b/src/generated/prisma/models/House.ts index 70af367..7464eda 100644 --- a/src/generated/prisma/models/House.ts +++ b/src/generated/prisma/models/House.ts @@ -200,6 +200,7 @@ export type HouseWhereInput = { color?: Prisma.StringNullableFilter<"House"> | string | null members?: Prisma.MemberListRelationFilter invitations?: Prisma.InvitationListRelationFilter + boxes?: Prisma.BoxListRelationFilter } export type HouseOrderByWithRelationInput = { @@ -212,6 +213,7 @@ export type HouseOrderByWithRelationInput = { color?: Prisma.SortOrderInput | Prisma.SortOrder members?: Prisma.MemberOrderByRelationAggregateInput invitations?: Prisma.InvitationOrderByRelationAggregateInput + boxes?: Prisma.BoxOrderByRelationAggregateInput } export type HouseWhereUniqueInput = Prisma.AtLeast<{ @@ -227,6 +229,7 @@ export type HouseWhereUniqueInput = Prisma.AtLeast<{ color?: Prisma.StringNullableFilter<"House"> | string | null members?: Prisma.MemberListRelationFilter invitations?: Prisma.InvitationListRelationFilter + boxes?: Prisma.BoxListRelationFilter }, "id" | "slug"> export type HouseOrderByWithAggregationInput = { @@ -265,6 +268,7 @@ export type HouseCreateInput = { color?: string | null members?: Prisma.MemberCreateNestedManyWithoutHouseInput invitations?: Prisma.InvitationCreateNestedManyWithoutHouseInput + boxes?: Prisma.BoxCreateNestedManyWithoutHouseInput } export type HouseUncheckedCreateInput = { @@ -277,6 +281,7 @@ export type HouseUncheckedCreateInput = { color?: string | null members?: Prisma.MemberUncheckedCreateNestedManyWithoutHouseInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutHouseInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutHouseInput } export type HouseUpdateInput = { @@ -289,6 +294,7 @@ export type HouseUpdateInput = { color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null members?: Prisma.MemberUpdateManyWithoutHouseNestedInput invitations?: Prisma.InvitationUpdateManyWithoutHouseNestedInput + boxes?: Prisma.BoxUpdateManyWithoutHouseNestedInput } export type HouseUncheckedUpdateInput = { @@ -301,6 +307,7 @@ export type HouseUncheckedUpdateInput = { color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null members?: Prisma.MemberUncheckedUpdateManyWithoutHouseNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutHouseNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutHouseNestedInput } export type HouseCreateManyInput = { @@ -368,6 +375,11 @@ export type HouseScalarRelationFilter = { isNot?: Prisma.HouseWhereInput } +export type HouseNullableScalarRelationFilter = { + is?: Prisma.HouseWhereInput | null + isNot?: Prisma.HouseWhereInput | null +} + export type HouseCreateNestedOneWithoutMembersInput = { create?: Prisma.XOR connectOrCreate?: Prisma.HouseCreateOrConnectWithoutMembersInput @@ -396,6 +408,22 @@ export type HouseUpdateOneRequiredWithoutInvitationsNestedInput = { update?: Prisma.XOR, Prisma.HouseUncheckedUpdateWithoutInvitationsInput> } +export type HouseCreateNestedOneWithoutBoxesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.HouseCreateOrConnectWithoutBoxesInput + connect?: Prisma.HouseWhereUniqueInput +} + +export type HouseUpdateOneWithoutBoxesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.HouseCreateOrConnectWithoutBoxesInput + upsert?: Prisma.HouseUpsertWithoutBoxesInput + disconnect?: Prisma.HouseWhereInput | boolean + delete?: Prisma.HouseWhereInput | boolean + connect?: Prisma.HouseWhereUniqueInput + update?: Prisma.XOR, Prisma.HouseUncheckedUpdateWithoutBoxesInput> +} + export type HouseCreateWithoutMembersInput = { id?: string name: string @@ -405,6 +433,7 @@ export type HouseCreateWithoutMembersInput = { metadata?: string | null color?: string | null invitations?: Prisma.InvitationCreateNestedManyWithoutHouseInput + boxes?: Prisma.BoxCreateNestedManyWithoutHouseInput } export type HouseUncheckedCreateWithoutMembersInput = { @@ -416,6 +445,7 @@ export type HouseUncheckedCreateWithoutMembersInput = { metadata?: string | null color?: string | null invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutHouseInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutHouseInput } export type HouseCreateOrConnectWithoutMembersInput = { @@ -443,6 +473,7 @@ export type HouseUpdateWithoutMembersInput = { metadata?: Prisma.NullableStringFieldUpdateOperationsInput | string | null color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null invitations?: Prisma.InvitationUpdateManyWithoutHouseNestedInput + boxes?: Prisma.BoxUpdateManyWithoutHouseNestedInput } export type HouseUncheckedUpdateWithoutMembersInput = { @@ -454,6 +485,7 @@ export type HouseUncheckedUpdateWithoutMembersInput = { metadata?: Prisma.NullableStringFieldUpdateOperationsInput | string | null color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null invitations?: Prisma.InvitationUncheckedUpdateManyWithoutHouseNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutHouseNestedInput } export type HouseCreateWithoutInvitationsInput = { @@ -465,6 +497,7 @@ export type HouseCreateWithoutInvitationsInput = { metadata?: string | null color?: string | null members?: Prisma.MemberCreateNestedManyWithoutHouseInput + boxes?: Prisma.BoxCreateNestedManyWithoutHouseInput } export type HouseUncheckedCreateWithoutInvitationsInput = { @@ -476,6 +509,7 @@ export type HouseUncheckedCreateWithoutInvitationsInput = { metadata?: string | null color?: string | null members?: Prisma.MemberUncheckedCreateNestedManyWithoutHouseInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutHouseInput } export type HouseCreateOrConnectWithoutInvitationsInput = { @@ -503,6 +537,7 @@ export type HouseUpdateWithoutInvitationsInput = { metadata?: Prisma.NullableStringFieldUpdateOperationsInput | string | null color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null members?: Prisma.MemberUpdateManyWithoutHouseNestedInput + boxes?: Prisma.BoxUpdateManyWithoutHouseNestedInput } export type HouseUncheckedUpdateWithoutInvitationsInput = { @@ -514,6 +549,71 @@ export type HouseUncheckedUpdateWithoutInvitationsInput = { metadata?: Prisma.NullableStringFieldUpdateOperationsInput | string | null color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null members?: Prisma.MemberUncheckedUpdateManyWithoutHouseNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutHouseNestedInput +} + +export type HouseCreateWithoutBoxesInput = { + id?: string + name: string + slug: string + logo?: string | null + createdAt: Date | string + metadata?: string | null + color?: string | null + members?: Prisma.MemberCreateNestedManyWithoutHouseInput + invitations?: Prisma.InvitationCreateNestedManyWithoutHouseInput +} + +export type HouseUncheckedCreateWithoutBoxesInput = { + id?: string + name: string + slug: string + logo?: string | null + createdAt: Date | string + metadata?: string | null + color?: string | null + members?: Prisma.MemberUncheckedCreateNestedManyWithoutHouseInput + invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutHouseInput +} + +export type HouseCreateOrConnectWithoutBoxesInput = { + where: Prisma.HouseWhereUniqueInput + create: Prisma.XOR +} + +export type HouseUpsertWithoutBoxesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.HouseWhereInput +} + +export type HouseUpdateToOneWithWhereWithoutBoxesInput = { + where?: Prisma.HouseWhereInput + data: Prisma.XOR +} + +export type HouseUpdateWithoutBoxesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + slug?: Prisma.StringFieldUpdateOperationsInput | string + logo?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + metadata?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + members?: Prisma.MemberUpdateManyWithoutHouseNestedInput + invitations?: Prisma.InvitationUpdateManyWithoutHouseNestedInput +} + +export type HouseUncheckedUpdateWithoutBoxesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + slug?: Prisma.StringFieldUpdateOperationsInput | string + logo?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + metadata?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + color?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + members?: Prisma.MemberUncheckedUpdateManyWithoutHouseNestedInput + invitations?: Prisma.InvitationUncheckedUpdateManyWithoutHouseNestedInput } @@ -524,11 +624,13 @@ export type HouseUncheckedUpdateWithoutInvitationsInput = { export type HouseCountOutputType = { members: number invitations: number + boxes: number } export type HouseCountOutputTypeSelect = { members?: boolean | HouseCountOutputTypeCountMembersArgs invitations?: boolean | HouseCountOutputTypeCountInvitationsArgs + boxes?: boolean | HouseCountOutputTypeCountBoxesArgs } /** @@ -555,6 +657,13 @@ export type HouseCountOutputTypeCountInvitationsArgs = { + where?: Prisma.BoxWhereInput +} + export type HouseSelect = runtime.Types.Extensions.GetSelect<{ id?: boolean @@ -566,6 +675,7 @@ export type HouseSelect invitations?: boolean | Prisma.House$invitationsArgs + boxes?: boolean | Prisma.House$boxesArgs _count?: boolean | Prisma.HouseCountOutputTypeDefaultArgs }, ExtArgs["result"]["house"]> @@ -603,6 +713,7 @@ export type HouseOmit = { members?: boolean | Prisma.House$membersArgs invitations?: boolean | Prisma.House$invitationsArgs + boxes?: boolean | Prisma.House$boxesArgs _count?: boolean | Prisma.HouseCountOutputTypeDefaultArgs } export type HouseIncludeCreateManyAndReturn = {} @@ -613,6 +724,7 @@ export type $HousePayload[] invitations: Prisma.$InvitationPayload[] + boxes: Prisma.$BoxPayload[] } scalars: runtime.Types.Extensions.GetPayloadResult<{ id: string @@ -1018,6 +1130,7 @@ export interface Prisma__HouseClient = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> invitations = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + boxes = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -1489,6 +1602,30 @@ export type House$invitationsArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + where?: Prisma.BoxWhereInput + orderBy?: Prisma.BoxOrderByWithRelationInput | Prisma.BoxOrderByWithRelationInput[] + cursor?: Prisma.BoxWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.BoxScalarFieldEnum | Prisma.BoxScalarFieldEnum[] +} + /** * House without action */ diff --git a/src/generated/prisma/models/Item.ts b/src/generated/prisma/models/Item.ts new file mode 100644 index 0000000..8042171 --- /dev/null +++ b/src/generated/prisma/models/Item.ts @@ -0,0 +1,1862 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Item` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Item + * + */ +export type ItemModel = runtime.Types.Result.DefaultSelection + +export type AggregateItem = { + _count: ItemCountAggregateOutputType | null + _avg: ItemAvgAggregateOutputType | null + _sum: ItemSumAggregateOutputType | null + _min: ItemMinAggregateOutputType | null + _max: ItemMaxAggregateOutputType | null +} + +export type ItemAvgAggregateOutputType = { + quantity: number | null +} + +export type ItemSumAggregateOutputType = { + quantity: number | null +} + +export type ItemMinAggregateOutputType = { + id: string | null + createrId: string | null + boxId: string | null + image: string | null + name: string | null + description: string | null + price: string | null + quantity: number | null + expiresAt: Date | null + createdAt: Date | null + updatedAt: Date | null + deletedAt: Date | null +} + +export type ItemMaxAggregateOutputType = { + id: string | null + createrId: string | null + boxId: string | null + image: string | null + name: string | null + description: string | null + price: string | null + quantity: number | null + expiresAt: Date | null + createdAt: Date | null + updatedAt: Date | null + deletedAt: Date | null +} + +export type ItemCountAggregateOutputType = { + id: number + createrId: number + boxId: number + image: number + name: number + description: number + price: number + tags: number + quantity: number + expiresAt: number + createdAt: number + updatedAt: number + deletedAt: number + _all: number +} + + +export type ItemAvgAggregateInputType = { + quantity?: true +} + +export type ItemSumAggregateInputType = { + quantity?: true +} + +export type ItemMinAggregateInputType = { + id?: true + createrId?: true + boxId?: true + image?: true + name?: true + description?: true + price?: true + quantity?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + deletedAt?: true +} + +export type ItemMaxAggregateInputType = { + id?: true + createrId?: true + boxId?: true + image?: true + name?: true + description?: true + price?: true + quantity?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + deletedAt?: true +} + +export type ItemCountAggregateInputType = { + id?: true + createrId?: true + boxId?: true + image?: true + name?: true + description?: true + price?: true + tags?: true + quantity?: true + expiresAt?: true + createdAt?: true + updatedAt?: true + deletedAt?: true + _all?: true +} + +export type ItemAggregateArgs = { + /** + * Filter which Item to aggregate. + */ + where?: Prisma.ItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + */ + orderBy?: Prisma.ItemOrderByWithRelationInput | Prisma.ItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.ItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Items + **/ + _count?: true | ItemCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ItemAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ItemSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ItemMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ItemMaxAggregateInputType +} + +export type GetItemAggregateType = { + [P in keyof T & keyof AggregateItem]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type ItemGroupByArgs = { + where?: Prisma.ItemWhereInput + orderBy?: Prisma.ItemOrderByWithAggregationInput | Prisma.ItemOrderByWithAggregationInput[] + by: Prisma.ItemScalarFieldEnum[] | Prisma.ItemScalarFieldEnum + having?: Prisma.ItemScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ItemCountAggregateInputType | true + _avg?: ItemAvgAggregateInputType + _sum?: ItemSumAggregateInputType + _min?: ItemMinAggregateInputType + _max?: ItemMaxAggregateInputType +} + +export type ItemGroupByOutputType = { + id: string + createrId: string + boxId: string | null + image: string + name: string + description: string | null + price: string | null + tags: string[] + quantity: number + expiresAt: Date + createdAt: Date + updatedAt: Date + deletedAt: Date | null + _count: ItemCountAggregateOutputType | null + _avg: ItemAvgAggregateOutputType | null + _sum: ItemSumAggregateOutputType | null + _min: ItemMinAggregateOutputType | null + _max: ItemMaxAggregateOutputType | null +} + +type GetItemGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ItemGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type ItemWhereInput = { + AND?: Prisma.ItemWhereInput | Prisma.ItemWhereInput[] + OR?: Prisma.ItemWhereInput[] + NOT?: Prisma.ItemWhereInput | Prisma.ItemWhereInput[] + id?: Prisma.StringFilter<"Item"> | string + createrId?: Prisma.StringFilter<"Item"> | string + boxId?: Prisma.StringNullableFilter<"Item"> | string | null + image?: Prisma.StringFilter<"Item"> | string + name?: Prisma.StringFilter<"Item"> | string + description?: Prisma.StringNullableFilter<"Item"> | string | null + price?: Prisma.StringNullableFilter<"Item"> | string | null + tags?: Prisma.StringNullableListFilter<"Item"> + quantity?: Prisma.IntFilter<"Item"> | number + expiresAt?: Prisma.DateTimeFilter<"Item"> | Date | string + createdAt?: Prisma.DateTimeFilter<"Item"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Item"> | Date | string + deletedAt?: Prisma.DateTimeNullableFilter<"Item"> | Date | string | null + user?: Prisma.XOR + box?: Prisma.XOR | null +} + +export type ItemOrderByWithRelationInput = { + id?: Prisma.SortOrder + createrId?: Prisma.SortOrder + boxId?: Prisma.SortOrderInput | Prisma.SortOrder + image?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + price?: Prisma.SortOrderInput | Prisma.SortOrder + tags?: Prisma.SortOrder + quantity?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder + user?: Prisma.UserOrderByWithRelationInput + box?: Prisma.BoxOrderByWithRelationInput +} + +export type ItemWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.ItemWhereInput | Prisma.ItemWhereInput[] + OR?: Prisma.ItemWhereInput[] + NOT?: Prisma.ItemWhereInput | Prisma.ItemWhereInput[] + createrId?: Prisma.StringFilter<"Item"> | string + boxId?: Prisma.StringNullableFilter<"Item"> | string | null + image?: Prisma.StringFilter<"Item"> | string + name?: Prisma.StringFilter<"Item"> | string + description?: Prisma.StringNullableFilter<"Item"> | string | null + price?: Prisma.StringNullableFilter<"Item"> | string | null + tags?: Prisma.StringNullableListFilter<"Item"> + quantity?: Prisma.IntFilter<"Item"> | number + expiresAt?: Prisma.DateTimeFilter<"Item"> | Date | string + createdAt?: Prisma.DateTimeFilter<"Item"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Item"> | Date | string + deletedAt?: Prisma.DateTimeNullableFilter<"Item"> | Date | string | null + user?: Prisma.XOR + box?: Prisma.XOR | null +}, "id"> + +export type ItemOrderByWithAggregationInput = { + id?: Prisma.SortOrder + createrId?: Prisma.SortOrder + boxId?: Prisma.SortOrderInput | Prisma.SortOrder + image?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrderInput | Prisma.SortOrder + price?: Prisma.SortOrderInput | Prisma.SortOrder + tags?: Prisma.SortOrder + quantity?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.ItemCountOrderByAggregateInput + _avg?: Prisma.ItemAvgOrderByAggregateInput + _max?: Prisma.ItemMaxOrderByAggregateInput + _min?: Prisma.ItemMinOrderByAggregateInput + _sum?: Prisma.ItemSumOrderByAggregateInput +} + +export type ItemScalarWhereWithAggregatesInput = { + AND?: Prisma.ItemScalarWhereWithAggregatesInput | Prisma.ItemScalarWhereWithAggregatesInput[] + OR?: Prisma.ItemScalarWhereWithAggregatesInput[] + NOT?: Prisma.ItemScalarWhereWithAggregatesInput | Prisma.ItemScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Item"> | string + createrId?: Prisma.StringWithAggregatesFilter<"Item"> | string + boxId?: Prisma.StringNullableWithAggregatesFilter<"Item"> | string | null + image?: Prisma.StringWithAggregatesFilter<"Item"> | string + name?: Prisma.StringWithAggregatesFilter<"Item"> | string + description?: Prisma.StringNullableWithAggregatesFilter<"Item"> | string | null + price?: Prisma.StringNullableWithAggregatesFilter<"Item"> | string | null + tags?: Prisma.StringNullableListFilter<"Item"> + quantity?: Prisma.IntWithAggregatesFilter<"Item"> | number + expiresAt?: Prisma.DateTimeWithAggregatesFilter<"Item"> | Date | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Item"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Item"> | Date | string + deletedAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Item"> | Date | string | null +} + +export type ItemCreateInput = { + id?: string + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + user: Prisma.UserCreateNestedOneWithoutItemsInput + box?: Prisma.BoxCreateNestedOneWithoutItemsInput +} + +export type ItemUncheckedCreateInput = { + id?: string + createrId: string + boxId?: string | null + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null +} + +export type ItemUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: Prisma.UserUpdateOneRequiredWithoutItemsNestedInput + box?: Prisma.BoxUpdateOneWithoutItemsNestedInput +} + +export type ItemUncheckedUpdateInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + createrId?: Prisma.StringFieldUpdateOperationsInput | string + boxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type ItemCreateManyInput = { + id?: string + createrId: string + boxId?: string | null + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null +} + +export type ItemUpdateManyMutationInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type ItemUncheckedUpdateManyInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + createrId?: Prisma.StringFieldUpdateOperationsInput | string + boxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type ItemListRelationFilter = { + every?: Prisma.ItemWhereInput + some?: Prisma.ItemWhereInput + none?: Prisma.ItemWhereInput +} + +export type ItemOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type ItemCountOrderByAggregateInput = { + id?: Prisma.SortOrder + createrId?: Prisma.SortOrder + boxId?: Prisma.SortOrder + image?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + price?: Prisma.SortOrder + tags?: Prisma.SortOrder + quantity?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrder +} + +export type ItemAvgOrderByAggregateInput = { + quantity?: Prisma.SortOrder +} + +export type ItemMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + createrId?: Prisma.SortOrder + boxId?: Prisma.SortOrder + image?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + price?: Prisma.SortOrder + quantity?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrder +} + +export type ItemMinOrderByAggregateInput = { + id?: Prisma.SortOrder + createrId?: Prisma.SortOrder + boxId?: Prisma.SortOrder + image?: Prisma.SortOrder + name?: Prisma.SortOrder + description?: Prisma.SortOrder + price?: Prisma.SortOrder + quantity?: Prisma.SortOrder + expiresAt?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + deletedAt?: Prisma.SortOrder +} + +export type ItemSumOrderByAggregateInput = { + quantity?: Prisma.SortOrder +} + +export type ItemCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutUserInput[] | Prisma.ItemUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutUserInput | Prisma.ItemCreateOrConnectWithoutUserInput[] + createMany?: Prisma.ItemCreateManyUserInputEnvelope + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] +} + +export type ItemUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutUserInput[] | Prisma.ItemUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutUserInput | Prisma.ItemCreateOrConnectWithoutUserInput[] + createMany?: Prisma.ItemCreateManyUserInputEnvelope + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] +} + +export type ItemUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutUserInput[] | Prisma.ItemUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutUserInput | Prisma.ItemCreateOrConnectWithoutUserInput[] + upsert?: Prisma.ItemUpsertWithWhereUniqueWithoutUserInput | Prisma.ItemUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.ItemCreateManyUserInputEnvelope + set?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + disconnect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + delete?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + update?: Prisma.ItemUpdateWithWhereUniqueWithoutUserInput | Prisma.ItemUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.ItemUpdateManyWithWhereWithoutUserInput | Prisma.ItemUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.ItemScalarWhereInput | Prisma.ItemScalarWhereInput[] +} + +export type ItemUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutUserInput[] | Prisma.ItemUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutUserInput | Prisma.ItemCreateOrConnectWithoutUserInput[] + upsert?: Prisma.ItemUpsertWithWhereUniqueWithoutUserInput | Prisma.ItemUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.ItemCreateManyUserInputEnvelope + set?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + disconnect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + delete?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + update?: Prisma.ItemUpdateWithWhereUniqueWithoutUserInput | Prisma.ItemUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.ItemUpdateManyWithWhereWithoutUserInput | Prisma.ItemUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.ItemScalarWhereInput | Prisma.ItemScalarWhereInput[] +} + +export type ItemCreateNestedManyWithoutBoxInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutBoxInput[] | Prisma.ItemUncheckedCreateWithoutBoxInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutBoxInput | Prisma.ItemCreateOrConnectWithoutBoxInput[] + createMany?: Prisma.ItemCreateManyBoxInputEnvelope + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] +} + +export type ItemUncheckedCreateNestedManyWithoutBoxInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutBoxInput[] | Prisma.ItemUncheckedCreateWithoutBoxInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutBoxInput | Prisma.ItemCreateOrConnectWithoutBoxInput[] + createMany?: Prisma.ItemCreateManyBoxInputEnvelope + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] +} + +export type ItemUpdateManyWithoutBoxNestedInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutBoxInput[] | Prisma.ItemUncheckedCreateWithoutBoxInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutBoxInput | Prisma.ItemCreateOrConnectWithoutBoxInput[] + upsert?: Prisma.ItemUpsertWithWhereUniqueWithoutBoxInput | Prisma.ItemUpsertWithWhereUniqueWithoutBoxInput[] + createMany?: Prisma.ItemCreateManyBoxInputEnvelope + set?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + disconnect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + delete?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + update?: Prisma.ItemUpdateWithWhereUniqueWithoutBoxInput | Prisma.ItemUpdateWithWhereUniqueWithoutBoxInput[] + updateMany?: Prisma.ItemUpdateManyWithWhereWithoutBoxInput | Prisma.ItemUpdateManyWithWhereWithoutBoxInput[] + deleteMany?: Prisma.ItemScalarWhereInput | Prisma.ItemScalarWhereInput[] +} + +export type ItemUncheckedUpdateManyWithoutBoxNestedInput = { + create?: Prisma.XOR | Prisma.ItemCreateWithoutBoxInput[] | Prisma.ItemUncheckedCreateWithoutBoxInput[] + connectOrCreate?: Prisma.ItemCreateOrConnectWithoutBoxInput | Prisma.ItemCreateOrConnectWithoutBoxInput[] + upsert?: Prisma.ItemUpsertWithWhereUniqueWithoutBoxInput | Prisma.ItemUpsertWithWhereUniqueWithoutBoxInput[] + createMany?: Prisma.ItemCreateManyBoxInputEnvelope + set?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + disconnect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + delete?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + connect?: Prisma.ItemWhereUniqueInput | Prisma.ItemWhereUniqueInput[] + update?: Prisma.ItemUpdateWithWhereUniqueWithoutBoxInput | Prisma.ItemUpdateWithWhereUniqueWithoutBoxInput[] + updateMany?: Prisma.ItemUpdateManyWithWhereWithoutBoxInput | Prisma.ItemUpdateManyWithWhereWithoutBoxInput[] + deleteMany?: Prisma.ItemScalarWhereInput | Prisma.ItemScalarWhereInput[] +} + +export type ItemCreatetagsInput = { + set: string[] +} + +export type ItemUpdatetagsInput = { + set?: string[] + push?: string | string[] +} + +export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number +} + +export type ItemCreateWithoutUserInput = { + id?: string + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + box?: Prisma.BoxCreateNestedOneWithoutItemsInput +} + +export type ItemUncheckedCreateWithoutUserInput = { + id?: string + boxId?: string | null + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null +} + +export type ItemCreateOrConnectWithoutUserInput = { + where: Prisma.ItemWhereUniqueInput + create: Prisma.XOR +} + +export type ItemCreateManyUserInputEnvelope = { + data: Prisma.ItemCreateManyUserInput | Prisma.ItemCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type ItemUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.ItemWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ItemUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.ItemWhereUniqueInput + data: Prisma.XOR +} + +export type ItemUpdateManyWithWhereWithoutUserInput = { + where: Prisma.ItemScalarWhereInput + data: Prisma.XOR +} + +export type ItemScalarWhereInput = { + AND?: Prisma.ItemScalarWhereInput | Prisma.ItemScalarWhereInput[] + OR?: Prisma.ItemScalarWhereInput[] + NOT?: Prisma.ItemScalarWhereInput | Prisma.ItemScalarWhereInput[] + id?: Prisma.StringFilter<"Item"> | string + createrId?: Prisma.StringFilter<"Item"> | string + boxId?: Prisma.StringNullableFilter<"Item"> | string | null + image?: Prisma.StringFilter<"Item"> | string + name?: Prisma.StringFilter<"Item"> | string + description?: Prisma.StringNullableFilter<"Item"> | string | null + price?: Prisma.StringNullableFilter<"Item"> | string | null + tags?: Prisma.StringNullableListFilter<"Item"> + quantity?: Prisma.IntFilter<"Item"> | number + expiresAt?: Prisma.DateTimeFilter<"Item"> | Date | string + createdAt?: Prisma.DateTimeFilter<"Item"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Item"> | Date | string + deletedAt?: Prisma.DateTimeNullableFilter<"Item"> | Date | string | null +} + +export type ItemCreateWithoutBoxInput = { + id?: string + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null + user: Prisma.UserCreateNestedOneWithoutItemsInput +} + +export type ItemUncheckedCreateWithoutBoxInput = { + id?: string + createrId: string + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null +} + +export type ItemCreateOrConnectWithoutBoxInput = { + where: Prisma.ItemWhereUniqueInput + create: Prisma.XOR +} + +export type ItemCreateManyBoxInputEnvelope = { + data: Prisma.ItemCreateManyBoxInput | Prisma.ItemCreateManyBoxInput[] + skipDuplicates?: boolean +} + +export type ItemUpsertWithWhereUniqueWithoutBoxInput = { + where: Prisma.ItemWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ItemUpdateWithWhereUniqueWithoutBoxInput = { + where: Prisma.ItemWhereUniqueInput + data: Prisma.XOR +} + +export type ItemUpdateManyWithWhereWithoutBoxInput = { + where: Prisma.ItemScalarWhereInput + data: Prisma.XOR +} + +export type ItemCreateManyUserInput = { + id?: string + boxId?: string | null + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null +} + +export type ItemUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + box?: Prisma.BoxUpdateOneWithoutItemsNestedInput +} + +export type ItemUncheckedUpdateWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + boxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type ItemUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + boxId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type ItemCreateManyBoxInput = { + id?: string + createrId: string + image: string + name: string + description?: string | null + price?: string | null + tags?: Prisma.ItemCreatetagsInput | string[] + quantity: number + expiresAt?: Date | string + createdAt?: Date | string + updatedAt?: Date | string + deletedAt?: Date | string | null +} + +export type ItemUpdateWithoutBoxInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: Prisma.UserUpdateOneRequiredWithoutItemsNestedInput +} + +export type ItemUncheckedUpdateWithoutBoxInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + createrId?: Prisma.StringFieldUpdateOperationsInput | string + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + +export type ItemUncheckedUpdateManyWithoutBoxInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + createrId?: Prisma.StringFieldUpdateOperationsInput | string + image?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + price?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + tags?: Prisma.ItemUpdatetagsInput | string[] + quantity?: Prisma.IntFieldUpdateOperationsInput | number + expiresAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + deletedAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null +} + + + +export type ItemSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + createrId?: boolean + boxId?: boolean + image?: boolean + name?: boolean + description?: boolean + price?: boolean + tags?: boolean + quantity?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + user?: boolean | Prisma.UserDefaultArgs + box?: boolean | Prisma.Item$boxArgs +}, ExtArgs["result"]["item"]> + +export type ItemSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + createrId?: boolean + boxId?: boolean + image?: boolean + name?: boolean + description?: boolean + price?: boolean + tags?: boolean + quantity?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + user?: boolean | Prisma.UserDefaultArgs + box?: boolean | Prisma.Item$boxArgs +}, ExtArgs["result"]["item"]> + +export type ItemSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + createrId?: boolean + boxId?: boolean + image?: boolean + name?: boolean + description?: boolean + price?: boolean + tags?: boolean + quantity?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean + user?: boolean | Prisma.UserDefaultArgs + box?: boolean | Prisma.Item$boxArgs +}, ExtArgs["result"]["item"]> + +export type ItemSelectScalar = { + id?: boolean + createrId?: boolean + boxId?: boolean + image?: boolean + name?: boolean + description?: boolean + price?: boolean + tags?: boolean + quantity?: boolean + expiresAt?: boolean + createdAt?: boolean + updatedAt?: boolean + deletedAt?: boolean +} + +export type ItemOmit = runtime.Types.Extensions.GetOmit<"id" | "createrId" | "boxId" | "image" | "name" | "description" | "price" | "tags" | "quantity" | "expiresAt" | "createdAt" | "updatedAt" | "deletedAt", ExtArgs["result"]["item"]> +export type ItemInclude = { + user?: boolean | Prisma.UserDefaultArgs + box?: boolean | Prisma.Item$boxArgs +} +export type ItemIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + box?: boolean | Prisma.Item$boxArgs +} +export type ItemIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs + box?: boolean | Prisma.Item$boxArgs +} + +export type $ItemPayload = { + name: "Item" + objects: { + user: Prisma.$UserPayload + box: Prisma.$BoxPayload | null + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + createrId: string + boxId: string | null + image: string + name: string + description: string | null + price: string | null + tags: string[] + quantity: number + expiresAt: Date + createdAt: Date + updatedAt: Date + deletedAt: Date | null + }, ExtArgs["result"]["item"]> + composites: {} +} + +export type ItemGetPayload = runtime.Types.Result.GetResult + +export type ItemCountArgs = + Omit & { + select?: ItemCountAggregateInputType | true + } + +export interface ItemDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Item'], meta: { name: 'Item' } } + /** + * Find zero or one Item that matches the filter. + * @param {ItemFindUniqueArgs} args - Arguments to find a Item + * @example + * // Get one Item + * const item = await prisma.item.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Item that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ItemFindUniqueOrThrowArgs} args - Arguments to find a Item + * @example + * // Get one Item + * const item = await prisma.item.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Item that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemFindFirstArgs} args - Arguments to find a Item + * @example + * // Get one Item + * const item = await prisma.item.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Item that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemFindFirstOrThrowArgs} args - Arguments to find a Item + * @example + * // Get one Item + * const item = await prisma.item.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Items that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Items + * const items = await prisma.item.findMany() + * + * // Get first 10 Items + * const items = await prisma.item.findMany({ take: 10 }) + * + * // Only select the `id` + * const itemWithIdOnly = await prisma.item.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Item. + * @param {ItemCreateArgs} args - Arguments to create a Item. + * @example + * // Create one Item + * const Item = await prisma.item.create({ + * data: { + * // ... data to create a Item + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Items. + * @param {ItemCreateManyArgs} args - Arguments to create many Items. + * @example + * // Create many Items + * const item = await prisma.item.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Items and returns the data saved in the database. + * @param {ItemCreateManyAndReturnArgs} args - Arguments to create many Items. + * @example + * // Create many Items + * const item = await prisma.item.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Items and only return the `id` + * const itemWithIdOnly = await prisma.item.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Item. + * @param {ItemDeleteArgs} args - Arguments to delete one Item. + * @example + * // Delete one Item + * const Item = await prisma.item.delete({ + * where: { + * // ... filter to delete one Item + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Item. + * @param {ItemUpdateArgs} args - Arguments to update one Item. + * @example + * // Update one Item + * const item = await prisma.item.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Items. + * @param {ItemDeleteManyArgs} args - Arguments to filter Items to delete. + * @example + * // Delete a few Items + * const { count } = await prisma.item.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Items. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Items + * const item = await prisma.item.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Items and returns the data updated in the database. + * @param {ItemUpdateManyAndReturnArgs} args - Arguments to update many Items. + * @example + * // Update many Items + * const item = await prisma.item.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Items and only return the `id` + * const itemWithIdOnly = await prisma.item.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Item. + * @param {ItemUpsertArgs} args - Arguments to update or create a Item. + * @example + * // Update or create a Item + * const item = await prisma.item.upsert({ + * create: { + * // ... data to create a Item + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Item we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__ItemClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Items. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemCountArgs} args - Arguments to filter Items to count. + * @example + * // Count the number of Items + * const count = await prisma.item.count({ + * where: { + * // ... the filter for the Items we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Item. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Item. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ItemGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ItemGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: ItemGroupByArgs['orderBy'] } + : { orderBy?: ItemGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetItemGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Item model + */ +readonly fields: ItemFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Item. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__ItemClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + box = {}>(args?: Prisma.Subset>): Prisma.Prisma__BoxClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Item model + */ +export interface ItemFieldRefs { + readonly id: Prisma.FieldRef<"Item", 'String'> + readonly createrId: Prisma.FieldRef<"Item", 'String'> + readonly boxId: Prisma.FieldRef<"Item", 'String'> + readonly image: Prisma.FieldRef<"Item", 'String'> + readonly name: Prisma.FieldRef<"Item", 'String'> + readonly description: Prisma.FieldRef<"Item", 'String'> + readonly price: Prisma.FieldRef<"Item", 'String'> + readonly tags: Prisma.FieldRef<"Item", 'String[]'> + readonly quantity: Prisma.FieldRef<"Item", 'Int'> + readonly expiresAt: Prisma.FieldRef<"Item", 'DateTime'> + readonly createdAt: Prisma.FieldRef<"Item", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Item", 'DateTime'> + readonly deletedAt: Prisma.FieldRef<"Item", 'DateTime'> +} + + +// Custom InputTypes +/** + * Item findUnique + */ +export type ItemFindUniqueArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * Filter, which Item to fetch. + */ + where: Prisma.ItemWhereUniqueInput +} + +/** + * Item findUniqueOrThrow + */ +export type ItemFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * Filter, which Item to fetch. + */ + where: Prisma.ItemWhereUniqueInput +} + +/** + * Item findFirst + */ +export type ItemFindFirstArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * Filter, which Item to fetch. + */ + where?: Prisma.ItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + */ + orderBy?: Prisma.ItemOrderByWithRelationInput | Prisma.ItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Items. + */ + cursor?: Prisma.ItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Items. + */ + distinct?: Prisma.ItemScalarFieldEnum | Prisma.ItemScalarFieldEnum[] +} + +/** + * Item findFirstOrThrow + */ +export type ItemFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * Filter, which Item to fetch. + */ + where?: Prisma.ItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + */ + orderBy?: Prisma.ItemOrderByWithRelationInput | Prisma.ItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Items. + */ + cursor?: Prisma.ItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Items. + */ + distinct?: Prisma.ItemScalarFieldEnum | Prisma.ItemScalarFieldEnum[] +} + +/** + * Item findMany + */ +export type ItemFindManyArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * Filter, which Items to fetch. + */ + where?: Prisma.ItemWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Items to fetch. + */ + orderBy?: Prisma.ItemOrderByWithRelationInput | Prisma.ItemOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Items. + */ + cursor?: Prisma.ItemWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Items from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Items. + */ + skip?: number + distinct?: Prisma.ItemScalarFieldEnum | Prisma.ItemScalarFieldEnum[] +} + +/** + * Item create + */ +export type ItemCreateArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * The data needed to create a Item. + */ + data: Prisma.XOR +} + +/** + * Item createMany + */ +export type ItemCreateManyArgs = { + /** + * The data used to create many Items. + */ + data: Prisma.ItemCreateManyInput | Prisma.ItemCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Item createManyAndReturn + */ +export type ItemCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * The data used to create many Items. + */ + data: Prisma.ItemCreateManyInput | Prisma.ItemCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemIncludeCreateManyAndReturn | null +} + +/** + * Item update + */ +export type ItemUpdateArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * The data needed to update a Item. + */ + data: Prisma.XOR + /** + * Choose, which Item to update. + */ + where: Prisma.ItemWhereUniqueInput +} + +/** + * Item updateMany + */ +export type ItemUpdateManyArgs = { + /** + * The data used to update Items. + */ + data: Prisma.XOR + /** + * Filter which Items to update + */ + where?: Prisma.ItemWhereInput + /** + * Limit how many Items to update. + */ + limit?: number +} + +/** + * Item updateManyAndReturn + */ +export type ItemUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * The data used to update Items. + */ + data: Prisma.XOR + /** + * Filter which Items to update + */ + where?: Prisma.ItemWhereInput + /** + * Limit how many Items to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemIncludeUpdateManyAndReturn | null +} + +/** + * Item upsert + */ +export type ItemUpsertArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * The filter to search for the Item to update in case it exists. + */ + where: Prisma.ItemWhereUniqueInput + /** + * In case the Item found by the `where` argument doesn't exist, create a new Item with this data. + */ + create: Prisma.XOR + /** + * In case the Item was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Item delete + */ +export type ItemDeleteArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + /** + * Filter which Item to delete. + */ + where: Prisma.ItemWhereUniqueInput +} + +/** + * Item deleteMany + */ +export type ItemDeleteManyArgs = { + /** + * Filter which Items to delete + */ + where?: Prisma.ItemWhereInput + /** + * Limit how many Items to delete. + */ + limit?: number +} + +/** + * Item.box + */ +export type Item$boxArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + where?: Prisma.BoxWhereInput +} + +/** + * Item without action + */ +export type ItemDefaultArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null +} diff --git a/src/generated/prisma/models/User.ts b/src/generated/prisma/models/User.ts index 833934a..33eb52a 100644 --- a/src/generated/prisma/models/User.ts +++ b/src/generated/prisma/models/User.ts @@ -236,6 +236,8 @@ export type UserWhereInput = { notification?: Prisma.NotificationListRelationFilter members?: Prisma.MemberListRelationFilter invitations?: Prisma.InvitationListRelationFilter + boxes?: Prisma.BoxListRelationFilter + items?: Prisma.ItemListRelationFilter } export type UserOrderByWithRelationInput = { @@ -256,6 +258,8 @@ export type UserOrderByWithRelationInput = { notification?: Prisma.NotificationOrderByRelationAggregateInput members?: Prisma.MemberOrderByRelationAggregateInput invitations?: Prisma.InvitationOrderByRelationAggregateInput + boxes?: Prisma.BoxOrderByRelationAggregateInput + items?: Prisma.ItemOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ @@ -279,6 +283,8 @@ export type UserWhereUniqueInput = Prisma.AtLeast<{ notification?: Prisma.NotificationListRelationFilter members?: Prisma.MemberListRelationFilter invitations?: Prisma.InvitationListRelationFilter + boxes?: Prisma.BoxListRelationFilter + items?: Prisma.ItemListRelationFilter }, "id" | "email"> export type UserOrderByWithAggregationInput = { @@ -333,6 +339,8 @@ export type UserCreateInput = { notification?: Prisma.NotificationCreateNestedManyWithoutUserInput members?: Prisma.MemberCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { @@ -353,6 +361,8 @@ export type UserUncheckedCreateInput = { notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { @@ -373,6 +383,8 @@ export type UserUpdateInput = { notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput members?: Prisma.MemberUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { @@ -393,6 +405,8 @@ export type UserUncheckedUpdateInput = { notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { @@ -592,6 +606,34 @@ export type UserUpdateOneRequiredWithoutNotificationNestedInput = { update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutNotificationInput> } +export type UserCreateNestedOneWithoutBoxesInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutBoxesInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutBoxesNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutBoxesInput + upsert?: Prisma.UserUpsertWithoutBoxesInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutBoxesInput> +} + +export type UserCreateNestedOneWithoutItemsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutItemsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutItemsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutItemsInput + upsert?: Prisma.UserUpsertWithoutItemsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutItemsInput> +} + export type UserCreateWithoutSessionsInput = { id?: string name: string @@ -609,6 +651,8 @@ export type UserCreateWithoutSessionsInput = { notification?: Prisma.NotificationCreateNestedManyWithoutUserInput members?: Prisma.MemberCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutSessionsInput = { @@ -628,6 +672,8 @@ export type UserUncheckedCreateWithoutSessionsInput = { notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutSessionsInput = { @@ -663,6 +709,8 @@ export type UserUpdateWithoutSessionsInput = { notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput members?: Prisma.MemberUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutSessionsInput = { @@ -682,6 +730,8 @@ export type UserUncheckedUpdateWithoutSessionsInput = { notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutAccountsInput = { @@ -701,6 +751,8 @@ export type UserCreateWithoutAccountsInput = { notification?: Prisma.NotificationCreateNestedManyWithoutUserInput members?: Prisma.MemberCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAccountsInput = { @@ -720,6 +772,8 @@ export type UserUncheckedCreateWithoutAccountsInput = { notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAccountsInput = { @@ -755,6 +809,8 @@ export type UserUpdateWithoutAccountsInput = { notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput members?: Prisma.MemberUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAccountsInput = { @@ -774,6 +830,8 @@ export type UserUncheckedUpdateWithoutAccountsInput = { notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutMembersInput = { @@ -793,6 +851,8 @@ export type UserCreateWithoutMembersInput = { audit?: Prisma.AuditCreateNestedManyWithoutUserInput notification?: Prisma.NotificationCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutMembersInput = { @@ -812,6 +872,8 @@ export type UserUncheckedCreateWithoutMembersInput = { audit?: Prisma.AuditUncheckedCreateNestedManyWithoutUserInput notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutMembersInput = { @@ -847,6 +909,8 @@ export type UserUpdateWithoutMembersInput = { audit?: Prisma.AuditUpdateManyWithoutUserNestedInput notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutMembersInput = { @@ -866,6 +930,8 @@ export type UserUncheckedUpdateWithoutMembersInput = { audit?: Prisma.AuditUncheckedUpdateManyWithoutUserNestedInput notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutInvitationsInput = { @@ -885,6 +951,8 @@ export type UserCreateWithoutInvitationsInput = { audit?: Prisma.AuditCreateNestedManyWithoutUserInput notification?: Prisma.NotificationCreateNestedManyWithoutUserInput members?: Prisma.MemberCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutInvitationsInput = { @@ -904,6 +972,8 @@ export type UserUncheckedCreateWithoutInvitationsInput = { audit?: Prisma.AuditUncheckedCreateNestedManyWithoutUserInput notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutInvitationsInput = { @@ -939,6 +1009,8 @@ export type UserUpdateWithoutInvitationsInput = { audit?: Prisma.AuditUpdateManyWithoutUserNestedInput notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput members?: Prisma.MemberUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutInvitationsInput = { @@ -958,6 +1030,8 @@ export type UserUncheckedUpdateWithoutInvitationsInput = { audit?: Prisma.AuditUncheckedUpdateManyWithoutUserNestedInput notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutAuditInput = { @@ -977,6 +1051,8 @@ export type UserCreateWithoutAuditInput = { notification?: Prisma.NotificationCreateNestedManyWithoutUserInput members?: Prisma.MemberCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutAuditInput = { @@ -996,6 +1072,8 @@ export type UserUncheckedCreateWithoutAuditInput = { notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutAuditInput = { @@ -1031,6 +1109,8 @@ export type UserUpdateWithoutAuditInput = { notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput members?: Prisma.MemberUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutAuditInput = { @@ -1050,6 +1130,8 @@ export type UserUncheckedUpdateWithoutAuditInput = { notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutNotificationInput = { @@ -1069,6 +1151,8 @@ export type UserCreateWithoutNotificationInput = { audit?: Prisma.AuditCreateNestedManyWithoutUserInput members?: Prisma.MemberCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutNotificationInput = { @@ -1088,6 +1172,8 @@ export type UserUncheckedCreateWithoutNotificationInput = { audit?: Prisma.AuditUncheckedCreateNestedManyWithoutUserInput members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutNotificationInput = { @@ -1123,6 +1209,8 @@ export type UserUpdateWithoutNotificationInput = { audit?: Prisma.AuditUpdateManyWithoutUserNestedInput members?: Prisma.MemberUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutNotificationInput = { @@ -1142,6 +1230,208 @@ export type UserUncheckedUpdateWithoutNotificationInput = { audit?: Prisma.AuditUncheckedUpdateManyWithoutUserNestedInput members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutBoxesInput = { + id?: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + audit?: Prisma.AuditCreateNestedManyWithoutUserInput + notification?: Prisma.NotificationCreateNestedManyWithoutUserInput + members?: Prisma.MemberCreateNestedManyWithoutUserInput + invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + items?: Prisma.ItemCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutBoxesInput = { + id?: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + audit?: Prisma.AuditUncheckedCreateNestedManyWithoutUserInput + notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput + members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput + invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + items?: Prisma.ItemUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutBoxesInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutBoxesInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutBoxesInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutBoxesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banned?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banExpires?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + audit?: Prisma.AuditUpdateManyWithoutUserNestedInput + notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput + members?: Prisma.MemberUpdateManyWithoutUserNestedInput + invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutBoxesInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banned?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banExpires?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + audit?: Prisma.AuditUncheckedUpdateManyWithoutUserNestedInput + notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput + members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput + invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + items?: Prisma.ItemUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutItemsInput = { + id?: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + sessions?: Prisma.SessionCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountCreateNestedManyWithoutUserInput + audit?: Prisma.AuditCreateNestedManyWithoutUserInput + notification?: Prisma.NotificationCreateNestedManyWithoutUserInput + members?: Prisma.MemberCreateNestedManyWithoutUserInput + invitations?: Prisma.InvitationCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutItemsInput = { + id?: string + name: string + email: string + emailVerified?: boolean + image?: string | null + createdAt?: Date | string + updatedAt?: Date | string + role?: string | null + banned?: boolean | null + banReason?: string | null + banExpires?: Date | string | null + sessions?: Prisma.SessionUncheckedCreateNestedManyWithoutUserInput + accounts?: Prisma.AccountUncheckedCreateNestedManyWithoutUserInput + audit?: Prisma.AuditUncheckedCreateNestedManyWithoutUserInput + notification?: Prisma.NotificationUncheckedCreateNestedManyWithoutUserInput + members?: Prisma.MemberUncheckedCreateNestedManyWithoutUserInput + invitations?: Prisma.InvitationUncheckedCreateNestedManyWithoutUserInput + boxes?: Prisma.BoxUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutItemsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutItemsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutItemsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutItemsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banned?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banExpires?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + sessions?: Prisma.SessionUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUpdateManyWithoutUserNestedInput + audit?: Prisma.AuditUpdateManyWithoutUserNestedInput + notification?: Prisma.NotificationUpdateManyWithoutUserNestedInput + members?: Prisma.MemberUpdateManyWithoutUserNestedInput + invitations?: Prisma.InvitationUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutItemsInput = { + id?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + emailVerified?: Prisma.BoolFieldUpdateOperationsInput | boolean + image?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + role?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banned?: Prisma.NullableBoolFieldUpdateOperationsInput | boolean | null + banReason?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + banExpires?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + sessions?: Prisma.SessionUncheckedUpdateManyWithoutUserNestedInput + accounts?: Prisma.AccountUncheckedUpdateManyWithoutUserNestedInput + audit?: Prisma.AuditUncheckedUpdateManyWithoutUserNestedInput + notification?: Prisma.NotificationUncheckedUpdateManyWithoutUserNestedInput + members?: Prisma.MemberUncheckedUpdateManyWithoutUserNestedInput + invitations?: Prisma.InvitationUncheckedUpdateManyWithoutUserNestedInput + boxes?: Prisma.BoxUncheckedUpdateManyWithoutUserNestedInput } @@ -1156,6 +1446,8 @@ export type UserCountOutputType = { notification: number members: number invitations: number + boxes: number + items: number } export type UserCountOutputTypeSelect = { @@ -1165,6 +1457,8 @@ export type UserCountOutputTypeSelect = { + where?: Prisma.BoxWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountItemsArgs = { + where?: Prisma.ItemWhereInput +} + export type UserSelect = runtime.Types.Extensions.GetSelect<{ id?: boolean @@ -1238,6 +1546,8 @@ export type UserSelect members?: boolean | Prisma.User$membersArgs invitations?: boolean | Prisma.User$invitationsArgs + boxes?: boolean | Prisma.User$boxesArgs + items?: boolean | Prisma.User$itemsArgs _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> @@ -1291,6 +1601,8 @@ export type UserInclude members?: boolean | Prisma.User$membersArgs invitations?: boolean | Prisma.User$invitationsArgs + boxes?: boolean | Prisma.User$boxesArgs + items?: boolean | Prisma.User$itemsArgs _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs } export type UserIncludeCreateManyAndReturn = {} @@ -1305,6 +1617,8 @@ export type $UserPayload[] members: Prisma.$MemberPayload[] invitations: Prisma.$InvitationPayload[] + boxes: Prisma.$BoxPayload[] + items: Prisma.$ItemPayload[] } scalars: runtime.Types.Extensions.GetPayloadResult<{ id: string @@ -1718,6 +2032,8 @@ export interface Prisma__UserClient = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> members = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> invitations = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + boxes = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + items = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -2289,6 +2605,54 @@ export type User$invitationsArgs = { + /** + * Select specific fields to fetch from the Box + */ + select?: Prisma.BoxSelect | null + /** + * Omit specific fields from the Box + */ + omit?: Prisma.BoxOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoxInclude | null + where?: Prisma.BoxWhereInput + orderBy?: Prisma.BoxOrderByWithRelationInput | Prisma.BoxOrderByWithRelationInput[] + cursor?: Prisma.BoxWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.BoxScalarFieldEnum | Prisma.BoxScalarFieldEnum[] +} + +/** + * User.items + */ +export type User$itemsArgs = { + /** + * Select specific fields to fetch from the Item + */ + select?: Prisma.ItemSelect | null + /** + * Omit specific fields from the Item + */ + omit?: Prisma.ItemOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ItemInclude | null + where?: Prisma.ItemWhereInput + orderBy?: Prisma.ItemOrderByWithRelationInput | Prisma.ItemOrderByWithRelationInput[] + cursor?: Prisma.ItemWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ItemScalarFieldEnum | Prisma.ItemScalarFieldEnum[] +} + /** * User without action */ diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index 65a8254..634a6bc 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -28,6 +28,7 @@ import { Route as appauthKanriUsersRouteImport } from './routes/(app)/(auth)/kan import { Route as appauthKanriSettingsRouteImport } from './routes/(app)/(auth)/kanri/settings' import { Route as appauthKanriLogsRouteImport } from './routes/(app)/(auth)/kanri/logs' import { Route as appauthKanriHousesRouteImport } from './routes/(app)/(auth)/kanri/houses' +import { Route as appauthKanriBoxesRouteImport } from './routes/(app)/(auth)/kanri/boxes' import { Route as appauthAccountSettingsRouteImport } from './routes/(app)/(auth)/account/settings' import { Route as appauthAccountProfileRouteImport } from './routes/(app)/(auth)/account/profile' import { Route as appauthAccountChangePasswordRouteImport } from './routes/(app)/(auth)/account/change-password' @@ -127,6 +128,11 @@ const appauthKanriHousesRoute = appauthKanriHousesRouteImport.update({ path: '/houses', getParentRoute: () => appauthKanriRouteRoute, } as any) +const appauthKanriBoxesRoute = appauthKanriBoxesRouteImport.update({ + id: '/boxes', + path: '/boxes', + getParentRoute: () => appauthKanriRouteRoute, +} as any) const appauthAccountSettingsRoute = appauthAccountSettingsRouteImport.update({ id: '/settings', path: '/settings', @@ -155,6 +161,7 @@ export interface FileRoutesByFullPath { '/account/change-password': typeof appauthAccountChangePasswordRoute '/account/profile': typeof appauthAccountProfileRoute '/account/settings': typeof appauthAccountSettingsRoute + '/kanri/boxes': typeof appauthKanriBoxesRoute '/kanri/houses': typeof appauthKanriHousesRoute '/kanri/logs': typeof appauthKanriLogsRoute '/kanri/settings': typeof appauthKanriSettingsRoute @@ -174,6 +181,7 @@ export interface FileRoutesByTo { '/account/change-password': typeof appauthAccountChangePasswordRoute '/account/profile': typeof appauthAccountProfileRoute '/account/settings': typeof appauthAccountSettingsRoute + '/kanri/boxes': typeof appauthKanriBoxesRoute '/kanri/houses': typeof appauthKanriHousesRoute '/kanri/logs': typeof appauthKanriLogsRoute '/kanri/settings': typeof appauthKanriSettingsRoute @@ -199,6 +207,7 @@ export interface FileRoutesById { '/(app)/(auth)/account/change-password': typeof appauthAccountChangePasswordRoute '/(app)/(auth)/account/profile': typeof appauthAccountProfileRoute '/(app)/(auth)/account/settings': typeof appauthAccountSettingsRoute + '/(app)/(auth)/kanri/boxes': typeof appauthKanriBoxesRoute '/(app)/(auth)/kanri/houses': typeof appauthKanriHousesRoute '/(app)/(auth)/kanri/logs': typeof appauthKanriLogsRoute '/(app)/(auth)/kanri/settings': typeof appauthKanriSettingsRoute @@ -223,6 +232,7 @@ export interface FileRouteTypes { | '/account/change-password' | '/account/profile' | '/account/settings' + | '/kanri/boxes' | '/kanri/houses' | '/kanri/logs' | '/kanri/settings' @@ -242,6 +252,7 @@ export interface FileRouteTypes { | '/account/change-password' | '/account/profile' | '/account/settings' + | '/kanri/boxes' | '/kanri/houses' | '/kanri/logs' | '/kanri/settings' @@ -266,6 +277,7 @@ export interface FileRouteTypes { | '/(app)/(auth)/account/change-password' | '/(app)/(auth)/account/profile' | '/(app)/(auth)/account/settings' + | '/(app)/(auth)/kanri/boxes' | '/(app)/(auth)/kanri/houses' | '/(app)/(auth)/kanri/logs' | '/(app)/(auth)/kanri/settings' @@ -420,6 +432,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof appauthKanriHousesRouteImport parentRoute: typeof appauthKanriRouteRoute } + '/(app)/(auth)/kanri/boxes': { + id: '/(app)/(auth)/kanri/boxes' + path: '/boxes' + fullPath: '/kanri/boxes' + preLoaderRoute: typeof appauthKanriBoxesRouteImport + parentRoute: typeof appauthKanriRouteRoute + } '/(app)/(auth)/account/settings': { id: '/(app)/(auth)/account/settings' path: '/settings' @@ -462,6 +481,7 @@ const appauthAccountRouteRouteWithChildren = appauthAccountRouteRoute._addFileChildren(appauthAccountRouteRouteChildren) interface appauthKanriRouteRouteChildren { + appauthKanriBoxesRoute: typeof appauthKanriBoxesRoute appauthKanriHousesRoute: typeof appauthKanriHousesRoute appauthKanriLogsRoute: typeof appauthKanriLogsRoute appauthKanriSettingsRoute: typeof appauthKanriSettingsRoute @@ -470,6 +490,7 @@ interface appauthKanriRouteRouteChildren { } const appauthKanriRouteRouteChildren: appauthKanriRouteRouteChildren = { + appauthKanriBoxesRoute: appauthKanriBoxesRoute, appauthKanriHousesRoute: appauthKanriHousesRoute, appauthKanriLogsRoute: appauthKanriLogsRoute, appauthKanriSettingsRoute: appauthKanriSettingsRoute, diff --git a/src/routes/(app)/(auth)/kanri/boxes.tsx b/src/routes/(app)/(auth)/kanri/boxes.tsx new file mode 100644 index 0000000..d4351bf --- /dev/null +++ b/src/routes/(app)/(auth)/kanri/boxes.tsx @@ -0,0 +1,48 @@ +import SearchInput from '@/components/ui/search-input'; +import useDebounced from '@/hooks/use-debounced'; +import { m } from '@/paraglide/messages'; +import { PackageIcon } from '@phosphor-icons/react'; +import { createFileRoute } from '@tanstack/react-router'; +import { Card, CardContent, CardHeader, CardTitle } from '@ui/card'; +import { useState } from 'react'; + +export const Route = createFileRoute('/(app)/(auth)/kanri/boxes')({ + component: RouteComponent, + staticData: { breadcrumb: () => m.nav_boxes() }, +}); + +function RouteComponent() { + const [page, setPage] = useState(1); + const [pageLimit, setPageLimit] = useState(10); + const [searchKeyword, setSearchKeyword] = useState(''); + const debouncedSearch = useDebounced(searchKeyword, 500); + + const onSearchChange = (e: React.ChangeEvent) => { + setSearchKeyword(e.target.value); + setPage(1); + }; + + return ( +

+
+ + + + + {m.boxes_pages_ui_title()} + + + +
+ +
+
+
+
+
+ ); +} diff --git a/src/service/disk-storage.ts b/src/service/disk-storage.ts index 5794f83..6ae31fc 100644 --- a/src/service/disk-storage.ts +++ b/src/service/disk-storage.ts @@ -1,4 +1,3 @@ -import { AppError } from '@/lib/errors'; import fs, { writeFile } from 'fs/promises'; import path from 'path'; @@ -20,10 +19,8 @@ export async function saveFile(key: string, file: Buffer | File) { return key; } catch (error) { console.error(`Error saving file: ${key}`, error); - throw new AppError( - 'FILE_SAVE_ERROR', + throw new Error( `Failed to save file: ${error instanceof Error ? error.message : 'Unknown error'}`, - 500, ); } } diff --git a/src/types/table.d.ts b/src/types/table.d.ts index 0663610..f738969 100644 --- a/src/types/table.d.ts +++ b/src/types/table.d.ts @@ -3,5 +3,6 @@ import '@tanstack/react-table'; declare module '@tanstack/react-table' { interface ColumnMeta { thClass?: string; + mLabel?: string; } }