diff --git a/AGENTS.md b/AGENTS.md index 3f34fb9..96b95d9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,6 +8,7 @@ The backend is built with: - **Framework**: Hono - **ORM**: Prisma (with SQLite) - **Database**: SQLite (local file) +- **AI**: Google Generative AI (Gemini) ### Layered Architecture @@ -17,6 +18,32 @@ We follow a strict layered architecture: 2. **Service Layer (`src/service`)**: Contains business logic and interacts with the Database via Prisma. 3. **Data Layer (`src/db.ts`)**: Exports the Prisma Client instance. +## Frontend Architecture + +The frontend is built with: + +- **Runtime**: Bun (Bundler & Runner) +- **Framework**: React +- **Styling**: Tailwind CSS + Shadcn UI (Components) +- **State**: React Hooks (useState, useEffect) + +### Project Structure + +- `ui/`: Root of the frontend project. +- `ui/index.html`: Entry point for the frontend. +- `ui/App.tsx`: Main application component. +- `ui/components/`: Reusable UI components. +- `ui/index.css`: Global styles (Tailwind imports). + +### Development + +- **Run Backend**: `bun --hot src/index.ts` (Runs on port 3000) +- **Run Frontend**: `bun --hot ui/index.html` (Runs on port 3001, make sure port 3000 is running for API) + +### Build + +- **Build Frontend**: `bun build ui/index.html --outdir=ui/dist` + ## Testing We use `bun:test` for testing. @@ -55,7 +82,7 @@ We use `bun:test` for testing. ## Environment Variables -- `.env`: Development environment variables (`DATABASE_URL="file:./dev.db"`). +- `.env`: Development environment variables (`DATABASE_URL="file:./dev.db"`, `API_KEY="..."`). - `.env.test`: Test environment variables (`DATABASE_URL="file:./test.db"`). ## Known Issues diff --git a/bun.lock b/bun.lock index d2b5395..ce2685d 100644 --- a/bun.lock +++ b/bun.lock @@ -4,11 +4,27 @@ "": { "name": "forgery", "dependencies": { + "@google/genai": "^1.40.0", + "@hono/zod-validator": "^0.7.6", "@libsql/client": "^0.17.0", "@prisma/adapter-libsql": "^7.3.0", "@prisma/client": "^7.3.0", + "@types/react": "^19.2.13", + "@types/react-dom": "^19.2.3", + "bun-plugin-tailwind": "^0.1.2", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "framer-motion": "^12.33.0", "hono": "^4.11.8", + "lucide-react": "^0.563.0", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "sharp": "^0.34.5", + "tailwind-merge": "^3.4.0", + "tailwindcss": "^4.1.18", "ulidx": "^2.4.1", + "zod": "^4.3.6", + "zod-to-json-schema": "^3.25.1", }, "devDependencies": { "@eslint/js": "^10.0.1", @@ -39,6 +55,8 @@ "@electric-sql/pglite-tools": ["@electric-sql/pglite-tools@0.2.20", "", { "peerDependencies": { "@electric-sql/pglite": "0.3.15" } }, "sha512-BK50ZnYa3IG7ztXhtgYf0Q7zijV32Iw1cYS8C+ThdQlwx12V5VZ9KRJ42y82Hyb4PkTxZQklVQA9JHyUlex33A=="], + "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], @@ -55,8 +73,12 @@ "@eslint/plugin-kit": ["@eslint/plugin-kit@0.6.0", "", { "dependencies": { "@eslint/core": "^1.1.0", "levn": "^0.4.1" } }, "sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ=="], + "@google/genai": ["@google/genai@1.40.0", "", { "dependencies": { "google-auth-library": "^10.3.0", "protobufjs": "^7.5.4", "ws": "^8.18.0" }, "peerDependencies": { "@modelcontextprotocol/sdk": "^1.25.2" }, "optionalPeers": ["@modelcontextprotocol/sdk"] }, "sha512-fhIww8smT0QYRX78qWOiz/nIQhHMF5wXOrlXvj33HBrz3vKDBb+wibLcEmTA+L9dmPD4KmfNr7UF3LDQVTXNjA=="], + "@hono/node-server": ["@hono/node-server@1.19.9", "", { "peerDependencies": { "hono": "^4" } }, "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw=="], + "@hono/zod-validator": ["@hono/zod-validator@0.7.6", "", { "peerDependencies": { "hono": ">=3.9.0", "zod": "^3.25.0 || ^4.0.0" } }, "sha512-Io1B6d011Gj1KknV4rXYz4le5+5EubcWEU/speUjuw9XMMIaP3n78yXLhjd2A3PXaXaUwEAluOiAyLqhBEJgsw=="], + "@humanfs/core": ["@humanfs/core@0.19.1", "", {}, "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA=="], "@humanfs/node": ["@humanfs/node@0.16.7", "", { "dependencies": { "@humanfs/core": "^0.19.1", "@humanwhocodes/retry": "^0.4.0" } }, "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ=="], @@ -65,10 +87,62 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], + "@img/colour": ["@img/colour@1.0.0", "", {}, "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw=="], + + "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.2.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w=="], + + "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.2.4" }, "os": "darwin", "cpu": "x64" }, "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw=="], + + "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.2.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g=="], + + "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.2.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg=="], + + "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.2.4", "", { "os": "linux", "cpu": "arm" }, "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A=="], + + "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw=="], + + "@img/sharp-libvips-linux-ppc64": ["@img/sharp-libvips-linux-ppc64@1.2.4", "", { "os": "linux", "cpu": "ppc64" }, "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA=="], + + "@img/sharp-libvips-linux-riscv64": ["@img/sharp-libvips-linux-riscv64@1.2.4", "", { "os": "linux", "cpu": "none" }, "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA=="], + + "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.2.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ=="], + + "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw=="], + + "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.2.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw=="], + + "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.2.4", "", { "os": "linux", "cpu": "x64" }, "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg=="], + + "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.2.4" }, "os": "linux", "cpu": "arm" }, "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw=="], + + "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg=="], + + "@img/sharp-linux-ppc64": ["@img/sharp-linux-ppc64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-ppc64": "1.2.4" }, "os": "linux", "cpu": "ppc64" }, "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA=="], + + "@img/sharp-linux-riscv64": ["@img/sharp-linux-riscv64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-riscv64": "1.2.4" }, "os": "linux", "cpu": "none" }, "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw=="], + + "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.2.4" }, "os": "linux", "cpu": "s390x" }, "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg=="], + + "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ=="], + + "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" }, "os": "linux", "cpu": "arm64" }, "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg=="], + + "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.34.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.2.4" }, "os": "linux", "cpu": "x64" }, "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q=="], + + "@img/sharp-wasm32": ["@img/sharp-wasm32@0.34.5", "", { "dependencies": { "@emnapi/runtime": "^1.7.0" }, "cpu": "none" }, "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw=="], + + "@img/sharp-win32-arm64": ["@img/sharp-win32-arm64@0.34.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g=="], + + "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.34.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg=="], + + "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.34.5", "", { "os": "win32", "cpu": "x64" }, "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw=="], + "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.1", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ=="], + "@isaacs/cliui": ["@isaacs/cliui@8.0.2", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="], + "@libsql/client": ["@libsql/client@0.17.0", "", { "dependencies": { "@libsql/core": "^0.17.0", "@libsql/hrana-client": "^0.9.0", "js-base64": "^3.7.5", "libsql": "^0.5.22", "promise-limit": "^2.7.0" } }, "sha512-TLjSU9Otdpq0SpKHl1tD1Nc9MKhrsZbCFGot3EbCxRa8m1E5R1mMwoOjKMMM31IyF7fr+hPNHLpYfwbMKNusmg=="], "@libsql/core": ["@libsql/core@0.17.0", "", { "dependencies": { "js-base64": "^3.7.5" } }, "sha512-hnZRnJHiS+nrhHKLGYPoJbc78FE903MSDrFJTbftxo+e52X+E0Y0fHOCVYsKWcg6XgB7BbJYUrz/xEkVTSaipw=="], @@ -101,6 +175,30 @@ "@neon-rs/load": ["@neon-rs/load@0.0.4", "", {}, "sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw=="], + "@oven/bun-darwin-aarch64": ["@oven/bun-darwin-aarch64@1.3.8", "", { "os": "darwin", "cpu": "arm64" }, "sha512-hPERz4IgXCM6Y6GdEEsJAFceyJMt29f3HlFzsvE/k+TQjChRhar6S+JggL35b9VmFfsdxyCOOTPqgnSrdV0etA=="], + + "@oven/bun-darwin-x64": ["@oven/bun-darwin-x64@1.3.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-SaWIxsRQYiT/eA60bqA4l8iNO7cJ6YD8ie82RerRp9voceBxPIZiwX4y20cTKy5qNaSGr9LxfYq7vDywTipiog=="], + + "@oven/bun-darwin-x64-baseline": ["@oven/bun-darwin-x64-baseline@1.3.8", "", { "os": "darwin", "cpu": "x64" }, "sha512-ArHVWpCRZI3vGLoN2/8ud8Kzqlgn1Gv+fNw+pMB9x18IzgAEhKxFxsWffnoaH21amam4tAOhpeewRIgdNtB0Cw=="], + + "@oven/bun-linux-aarch64": ["@oven/bun-linux-aarch64@1.3.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-rq0nNckobtS+ONoB95/Frfqr8jCtmSjjjEZlN4oyUx0KEBV11Vj4v3cDVaWzuI34ryL8FCog3HaqjfKn8R82Tw=="], + + "@oven/bun-linux-aarch64-musl": ["@oven/bun-linux-aarch64-musl@1.3.8", "", { "os": "linux", "cpu": "arm64" }, "sha512-HvJmhrfipL7GtuqFz6xNpmf27NGcCOMwCalPjNR6fvkLpe8A7Z1+QbxKKjOglelmlmZc3Vi2TgDUtxSqfqOToQ=="], + + "@oven/bun-linux-x64": ["@oven/bun-linux-x64@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-YDgqVx1MI8E0oDbCEUSkAMBKKGnUKfaRtMdLh9Bjhu7JQacQ/ZCpxwi4HPf5Q0O1TbWRrdxGw2tA2Ytxkn7s1Q=="], + + "@oven/bun-linux-x64-baseline": ["@oven/bun-linux-x64-baseline@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-3IkS3TuVOzMqPW6Gg9/8FEoKF/rpKZ9DZUfNy9GQ54+k4PGcXpptU3+dy8D4iDFCt4qe6bvoiAOdM44OOsZ+Wg=="], + + "@oven/bun-linux-x64-musl": ["@oven/bun-linux-x64-musl@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-o7Jm5zL4aw9UBs3BcZLVbgGm2V4F10MzAQAV+ziKzoEfYmYtvDqRVxgKEq7BzUOVy4LgfrfwzEXw5gAQGRrhQQ=="], + + "@oven/bun-linux-x64-musl-baseline": ["@oven/bun-linux-x64-musl-baseline@1.3.8", "", { "os": "linux", "cpu": "x64" }, "sha512-5g8XJwHhcTh8SGoKO7pR54ILYDbuFkGo+68DOMTiVB5eLxuLET+Or/camHgk4QWp3nUS5kNjip4G8BE8i0rHVQ=="], + + "@oven/bun-windows-x64": ["@oven/bun-windows-x64@1.3.8", "", { "os": "win32", "cpu": "x64" }, "sha512-UDI3rowMm/tI6DIynpE4XqrOhr+1Ztk1NG707Wxv2nygup+anTswgCwjfjgmIe78LdoRNFrux2GpeolhQGW6vQ=="], + + "@oven/bun-windows-x64-baseline": ["@oven/bun-windows-x64-baseline@1.3.8", "", { "os": "win32", "cpu": "x64" }, "sha512-K6qBUKAZLXsjAwFxGTG87dsWlDjyDl2fqjJr7+x7lmv2m+aSEzmLOK+Z5pSvGkpjBp3LXV35UUgj8G0UTd0pPg=="], + + "@pkgjs/parseargs": ["@pkgjs/parseargs@0.11.0", "", {}, "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg=="], + "@prisma/adapter-libsql": ["@prisma/adapter-libsql@7.3.0", "", { "dependencies": { "@libsql/client": "^0.8.1", "@prisma/driver-adapter-utils": "7.3.0", "async-mutex": "0.5.0" } }, "sha512-PKsnG/fmwP/lOuO7kb+oZDbGtmfGFxEiE0OXU9lk4V117H8fQ7Wy6qzFtGmojWEgSQIRN/4+XwhRe+KvY/beZw=="], "@prisma/client": ["@prisma/client@7.3.0", "", { "dependencies": { "@prisma/client-runtime-utils": "7.3.0" }, "peerDependencies": { "prisma": "*", "typescript": ">=5.4.0" }, "optionalPeers": ["prisma", "typescript"] }, "sha512-FXBIxirqQfdC6b6HnNgxGmU7ydCPEPk7maHMOduJJfnTP+MuOGa15X4omjR/zpPUUpm8ef/mEFQjJudOGkXFcQ=="], @@ -127,6 +225,26 @@ "@prisma/studio-core": ["@prisma/studio-core@0.13.1", "", { "peerDependencies": { "@types/react": "^18.0.0 || ^19.0.0", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" } }, "sha512-agdqaPEePRHcQ7CexEfkX1RvSH9uWDb6pXrZnhCRykhDFAV0/0P3d07WtfiY8hZWb7oRU4v+NkT4cGFHkQJIPg=="], + "@protobufjs/aspromise": ["@protobufjs/aspromise@1.1.2", "", {}, "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="], + + "@protobufjs/base64": ["@protobufjs/base64@1.1.2", "", {}, "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="], + + "@protobufjs/codegen": ["@protobufjs/codegen@2.0.4", "", {}, "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="], + + "@protobufjs/eventemitter": ["@protobufjs/eventemitter@1.1.0", "", {}, "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="], + + "@protobufjs/fetch": ["@protobufjs/fetch@1.1.0", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.1", "@protobufjs/inquire": "^1.1.0" } }, "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ=="], + + "@protobufjs/float": ["@protobufjs/float@1.0.2", "", {}, "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="], + + "@protobufjs/inquire": ["@protobufjs/inquire@1.1.0", "", {}, "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="], + + "@protobufjs/path": ["@protobufjs/path@1.1.2", "", {}, "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="], + + "@protobufjs/pool": ["@protobufjs/pool@1.1.0", "", {}, "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="], + + "@protobufjs/utf8": ["@protobufjs/utf8@1.1.0", "", {}, "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="], + "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], "@types/bun": ["@types/bun@1.3.8", "", { "dependencies": { "bun-types": "1.3.8" } }, "sha512-3LvWJ2q5GerAXYxO2mffLTqOzEu5qnhEAlh48Vnu8WQfnmSwbgagjGZV6BoHKJztENYEDn6QmVd949W4uESRJA=="], @@ -141,6 +259,8 @@ "@types/react": ["@types/react@19.2.13", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ=="], + "@types/react-dom": ["@types/react-dom@19.2.3", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ=="], + "@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], "@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.54.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.54.0", "@typescript-eslint/type-utils": "8.54.0", "@typescript-eslint/utils": "8.54.0", "@typescript-eslint/visitor-keys": "8.54.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.4.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.54.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ=="], @@ -167,16 +287,32 @@ "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], + "agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="], + "ajv": ["ajv@6.12.6", "", { "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" } }, "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="], + "ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="], + + "ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="], + "async-mutex": ["async-mutex@0.5.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA=="], "aws-ssl-profiles": ["aws-ssl-profiles@1.1.2", "", {}, "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g=="], "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "bignumber.js": ["bignumber.js@9.3.1", "", {}, "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ=="], + "brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], + "buffer-equal-constant-time": ["buffer-equal-constant-time@1.0.1", "", {}, "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="], + + "bun": ["bun@1.3.8", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.3.8", "@oven/bun-darwin-x64": "1.3.8", "@oven/bun-darwin-x64-baseline": "1.3.8", "@oven/bun-linux-aarch64": "1.3.8", "@oven/bun-linux-aarch64-musl": "1.3.8", "@oven/bun-linux-x64": "1.3.8", "@oven/bun-linux-x64-baseline": "1.3.8", "@oven/bun-linux-x64-musl": "1.3.8", "@oven/bun-linux-x64-musl-baseline": "1.3.8", "@oven/bun-windows-x64": "1.3.8", "@oven/bun-windows-x64-baseline": "1.3.8" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bunx.exe" } }, "sha512-TmmtMGQSXY3o0enSMMkvR5g7Dw/2n2oylAUprLVdqA8pDPBoKbzgOmmgHOtvnfRznFppl+Gu2cid3vgAjcNoSg=="], + + "bun-plugin-tailwind": ["bun-plugin-tailwind@0.1.2", "", { "peerDependencies": { "bun": ">=1.0.0" } }, "sha512-41jNC1tZRSK3s1o7pTNrLuQG8kL/0vR/JgiTmZAJ1eHwe0w5j6HFPKeqEk0WAD13jfrUC7+ULuewFBBCoADPpg=="], + "bun-types": ["bun-types@1.3.8", "", { "dependencies": { "@types/node": "*" } }, "sha512-fL99nxdOWvV4LqjmC+8Q9kW3M4QTtTR1eePs94v5ctGqU8OeceWrSUaRw3JYb7tU3FkMIAjkueehrHPPPGKi5Q=="], "c12": ["c12@3.1.0", "", { "dependencies": { "chokidar": "^4.0.3", "confbox": "^0.2.2", "defu": "^6.1.4", "dotenv": "^16.6.1", "exsolve": "^1.0.7", "giget": "^2.0.0", "jiti": "^2.4.2", "ohash": "^2.0.11", "pathe": "^2.0.3", "perfect-debounce": "^1.0.0", "pkg-types": "^2.2.0", "rc9": "^2.1.2" }, "peerDependencies": { "magicast": "^0.3.5" }, "optionalPeers": ["magicast"] }, "sha512-uWoS8OU1MEIsOv8p/5a82c3H31LsWVR5qiyXVfBNOzfffjUWtPnhAb4BYI2uG2HfGmZmFjCtui5XNWaps+iFuw=="], @@ -187,6 +323,14 @@ "citty": ["citty@0.1.6", "", { "dependencies": { "consola": "^3.2.3" } }, "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ=="], + "class-variance-authority": ["class-variance-authority@0.7.1", "", { "dependencies": { "clsx": "^2.1.1" } }, "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg=="], + + "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="], + + "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="], + + "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="], + "confbox": ["confbox@0.2.4", "", {}, "sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ=="], "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], @@ -211,12 +355,18 @@ "destr": ["destr@2.0.5", "", {}, "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="], - "detect-libc": ["detect-libc@2.0.2", "", {}, "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="], + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + "eastasianwidth": ["eastasianwidth@0.2.0", "", {}, "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="], + + "ecdsa-sig-formatter": ["ecdsa-sig-formatter@1.0.11", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ=="], + "effect": ["effect@3.18.4", "", { "dependencies": { "@standard-schema/spec": "^1.0.0", "fast-check": "^3.23.1" } }, "sha512-b1LXQJLe9D11wfnOKAk3PKxuqYshQ0Heez+y5pnkd3jLj1yx9QhM72zZ9uUrOQyNvrs2GZZd/3maL0ZV18YuDA=="], + "emoji-regex": ["emoji-regex@9.2.2", "", {}, "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="], + "empathic": ["empathic@2.0.0", "", {}, "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="], "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], @@ -241,6 +391,8 @@ "exsolve": ["exsolve@1.0.8", "", {}, "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA=="], + "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="], + "fast-check": ["fast-check@3.23.2", "", { "dependencies": { "pure-rand": "^6.1.0" } }, "sha512-h5+1OzzfCC3Ef7VbtKdcv7zsstUQwUDlYpUTvjeUsJAssPgLn7QzbboPtL5ro04Mq0rPOsMzl7q5hIbRs2wD1A=="], "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], @@ -265,24 +417,40 @@ "formdata-polyfill": ["formdata-polyfill@4.0.10", "", { "dependencies": { "fetch-blob": "^3.1.2" } }, "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g=="], + "framer-motion": ["framer-motion@12.33.0", "", { "dependencies": { "motion-dom": "^12.33.0", "motion-utils": "^12.29.2", "tslib": "^2.4.0" }, "peerDependencies": { "@emotion/is-prop-valid": "*", "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "optionalPeers": ["@emotion/is-prop-valid", "react", "react-dom"] }, "sha512-ca8d+rRPcDP5iIF+MoT3WNc0KHJMjIyFAbtVLvM9eA7joGSpeqDfiNH/kCs1t4CHi04njYvWyj0jS4QlEK/rJQ=="], + + "gaxios": ["gaxios@7.1.3", "", { "dependencies": { "extend": "^3.0.2", "https-proxy-agent": "^7.0.1", "node-fetch": "^3.3.2", "rimraf": "^5.0.1" } }, "sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ=="], + + "gcp-metadata": ["gcp-metadata@8.1.2", "", { "dependencies": { "gaxios": "^7.0.0", "google-logging-utils": "^1.0.0", "json-bigint": "^1.0.0" } }, "sha512-zV/5HKTfCeKWnxG0Dmrw51hEWFGfcF2xiXqcA3+J90WDuP0SvoiSO5ORvcBsifmx/FoIjgQN3oNOGaQ5PhLFkg=="], + "generate-function": ["generate-function@2.3.1", "", { "dependencies": { "is-property": "^1.0.2" } }, "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="], "get-port-please": ["get-port-please@3.2.0", "", {}, "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A=="], "giget": ["giget@2.0.0", "", { "dependencies": { "citty": "^0.1.6", "consola": "^3.4.0", "defu": "^6.1.4", "node-fetch-native": "^1.6.6", "nypm": "^0.6.0", "pathe": "^2.0.3" }, "bin": { "giget": "dist/cli.mjs" } }, "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA=="], + "glob": ["glob@10.5.0", "", { "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", "minimatch": "^9.0.4", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" } }, "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg=="], + "glob-parent": ["glob-parent@6.0.2", "", { "dependencies": { "is-glob": "^4.0.3" } }, "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A=="], + "google-auth-library": ["google-auth-library@10.5.0", "", { "dependencies": { "base64-js": "^1.3.0", "ecdsa-sig-formatter": "^1.0.11", "gaxios": "^7.0.0", "gcp-metadata": "^8.0.0", "google-logging-utils": "^1.0.0", "gtoken": "^8.0.0", "jws": "^4.0.0" } }, "sha512-7ABviyMOlX5hIVD60YOfHw4/CxOfBhyduaYB+wbFWCWoni4N7SLcV46hrVRktuBbZjFC9ONyqamZITN7q3n32w=="], + + "google-logging-utils": ["google-logging-utils@1.1.3", "", {}, "sha512-eAmLkjDjAFCVXg7A1unxHsLf961m6y17QFqXqAXGj/gVkKFrEICfStRfwUlGNfeCEjNRa32JEWOUTlYXPyyKvA=="], + "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], "grammex": ["grammex@3.1.12", "", {}, "sha512-6ufJOsSA7LcQehIJNCO7HIBykfM7DXQual0Ny780/DEcJIpBlHRvcqEBWGPYd7hrXL2GJ3oJI1MIhaXjWmLQOQ=="], "graphmatch": ["graphmatch@1.1.0", "", {}, "sha512-0E62MaTW5rPZVRLyIJZG/YejmdA/Xr1QydHEw3Vt+qOKkMIOE8WDLc9ZX2bmAjtJFZcId4lEdrdmASsEy7D1QA=="], + "gtoken": ["gtoken@8.0.0", "", { "dependencies": { "gaxios": "^7.0.0", "jws": "^4.0.0" } }, "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw=="], + "hono": ["hono@4.11.8", "", {}, "sha512-eVkB/CYCCei7K2WElZW9yYQFWssG0DhaDhVvr7wy5jJ22K+ck8fWW0EsLpB0sITUTvPnc97+rrbQqIr5iqiy9Q=="], "http-status-codes": ["http-status-codes@2.3.0", "", {}, "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA=="], + "https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="], + "iconv-lite": ["iconv-lite@0.7.2", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw=="], "ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], @@ -291,22 +459,32 @@ "is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="], + "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="], + "is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="], "is-property": ["is-property@1.0.2", "", {}, "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g=="], "isexe": ["isexe@2.0.0", "", {}, "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="], + "jackspeak": ["jackspeak@3.4.3", "", { "dependencies": { "@isaacs/cliui": "^8.0.2" }, "optionalDependencies": { "@pkgjs/parseargs": "^0.11.0" } }, "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw=="], + "jiti": ["jiti@2.6.1", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ=="], "js-base64": ["js-base64@3.7.8", "", {}, "sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow=="], + "json-bigint": ["json-bigint@1.0.0", "", { "dependencies": { "bignumber.js": "^9.0.0" } }, "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ=="], + "json-buffer": ["json-buffer@3.0.1", "", {}, "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="], "json-schema-traverse": ["json-schema-traverse@0.4.1", "", {}, "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="], "json-stable-stringify-without-jsonify": ["json-stable-stringify-without-jsonify@1.0.1", "", {}, "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="], + "jwa": ["jwa@2.0.1", "", { "dependencies": { "buffer-equal-constant-time": "^1.0.1", "ecdsa-sig-formatter": "1.0.11", "safe-buffer": "^5.0.1" } }, "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg=="], + + "jws": ["jws@4.0.1", "", { "dependencies": { "jwa": "^2.0.1", "safe-buffer": "^5.0.1" } }, "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA=="], + "keyv": ["keyv@4.5.4", "", { "dependencies": { "json-buffer": "3.0.1" } }, "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw=="], "layerr": ["layerr@3.0.0", "", {}, "sha512-tv754Ki2dXpPVApOrjTyRo4/QegVb9eVFq4mjqp4+NM5NaX7syQvN5BBNfV/ZpAHCEHV24XdUVrBAoka4jt3pA=="], @@ -323,10 +501,20 @@ "long": ["long@5.3.2", "", {}, "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA=="], + "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], + "lru.min": ["lru.min@1.1.4", "", {}, "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA=="], + "lucide-react": ["lucide-react@0.563.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-8dXPB2GI4dI8jV4MgUDGBeLdGk8ekfqVZ0BdLcrRzocGgG75ltNEmWS+gE7uokKF/0oSUuczNDT+g9hFJ23FkA=="], + "minimatch": ["minimatch@10.1.2", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.1" } }, "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw=="], + "minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="], + + "motion-dom": ["motion-dom@12.33.0", "", { "dependencies": { "motion-utils": "^12.29.2" } }, "sha512-XRPebVypsl0UM+7v0Hr8o9UAj0S2djsQWRdHBd5iVouVpMrQqAI0C/rDAT3QaYnXnHuC5hMcwDHCboNeyYjPoQ=="], + + "motion-utils": ["motion-utils@12.29.2", "", {}, "sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A=="], + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], "mysql2": ["mysql2@3.15.3", "", { "dependencies": { "aws-ssl-profiles": "^1.1.1", "denque": "^2.1.0", "generate-function": "^2.3.1", "iconv-lite": "^0.7.0", "long": "^5.2.1", "lru.min": "^1.0.0", "named-placeholders": "^1.1.3", "seq-queue": "^0.0.5", "sqlstring": "^2.3.2" } }, "sha512-FBrGau0IXmuqg4haEZRBfHNWB5mUARw6hNwPDXXGg0XzVJ50mr/9hb267lvpVMnhZ1FON3qNd4Xfcez1rbFwSg=="], @@ -351,10 +539,14 @@ "p-locate": ["p-locate@5.0.0", "", { "dependencies": { "p-limit": "^3.0.2" } }, "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw=="], + "package-json-from-dist": ["package-json-from-dist@1.0.1", "", {}, "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw=="], + "path-exists": ["path-exists@4.0.0", "", {}, "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="], "path-key": ["path-key@3.1.1", "", {}, "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="], + "path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="], @@ -375,6 +567,8 @@ "proper-lockfile": ["proper-lockfile@4.1.2", "", { "dependencies": { "graceful-fs": "^4.2.4", "retry": "^0.12.0", "signal-exit": "^3.0.2" } }, "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA=="], + "protobufjs": ["protobufjs@7.5.4", "", { "dependencies": { "@protobufjs/aspromise": "^1.1.2", "@protobufjs/base64": "^1.1.2", "@protobufjs/codegen": "^2.0.4", "@protobufjs/eventemitter": "^1.1.0", "@protobufjs/fetch": "^1.1.0", "@protobufjs/float": "^1.0.2", "@protobufjs/inquire": "^1.1.0", "@protobufjs/path": "^1.1.2", "@protobufjs/pool": "^1.1.0", "@protobufjs/utf8": "^1.1.0", "@types/node": ">=13.7.0", "long": "^5.0.0" } }, "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg=="], + "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], "pure-rand": ["pure-rand@6.1.0", "", {}, "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA=="], @@ -393,6 +587,10 @@ "retry": ["retry@0.12.0", "", {}, "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow=="], + "rimraf": ["rimraf@5.0.10", "", { "dependencies": { "glob": "^10.3.7" }, "bin": { "rimraf": "dist/esm/bin.mjs" } }, "sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], @@ -401,6 +599,8 @@ "seq-queue": ["seq-queue@0.0.5", "", {}, "sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q=="], + "sharp": ["sharp@0.34.5", "", { "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", "semver": "^7.7.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.34.5", "@img/sharp-darwin-x64": "0.34.5", "@img/sharp-libvips-darwin-arm64": "1.2.4", "@img/sharp-libvips-darwin-x64": "1.2.4", "@img/sharp-libvips-linux-arm": "1.2.4", "@img/sharp-libvips-linux-arm64": "1.2.4", "@img/sharp-libvips-linux-ppc64": "1.2.4", "@img/sharp-libvips-linux-riscv64": "1.2.4", "@img/sharp-libvips-linux-s390x": "1.2.4", "@img/sharp-libvips-linux-x64": "1.2.4", "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", "@img/sharp-libvips-linuxmusl-x64": "1.2.4", "@img/sharp-linux-arm": "0.34.5", "@img/sharp-linux-arm64": "0.34.5", "@img/sharp-linux-ppc64": "0.34.5", "@img/sharp-linux-riscv64": "0.34.5", "@img/sharp-linux-s390x": "0.34.5", "@img/sharp-linux-x64": "0.34.5", "@img/sharp-linuxmusl-arm64": "0.34.5", "@img/sharp-linuxmusl-x64": "0.34.5", "@img/sharp-wasm32": "0.34.5", "@img/sharp-win32-arm64": "0.34.5", "@img/sharp-win32-ia32": "0.34.5", "@img/sharp-win32-x64": "0.34.5" } }, "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg=="], + "shebang-command": ["shebang-command@2.0.0", "", { "dependencies": { "shebang-regex": "^3.0.0" } }, "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="], "shebang-regex": ["shebang-regex@3.0.0", "", {}, "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="], @@ -411,6 +611,18 @@ "std-env": ["std-env@3.10.0", "", {}, "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg=="], + "string-width": ["string-width@5.1.2", "", { "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", "strip-ansi": "^7.0.1" } }, "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA=="], + + "string-width-cjs": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="], + + "strip-ansi-cjs": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "tailwind-merge": ["tailwind-merge@3.4.0", "", {}, "sha512-uSaO4gnW+b3Y2aWoWfFpX62vn2sR3skfhbjsEnaBI81WD1wBLlHZe5sWf0AqjksNdYTbGBEd0UasQMT3SNV15g=="], + + "tailwindcss": ["tailwindcss@4.1.18", "", {}, "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw=="], + "tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], @@ -445,12 +657,20 @@ "word-wrap": ["word-wrap@1.2.5", "", {}, "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA=="], + "wrap-ansi": ["wrap-ansi@8.1.0", "", { "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", "strip-ansi": "^7.0.1" } }, "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ=="], + + "wrap-ansi-cjs": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="], + "ws": ["ws@8.19.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="], "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], "zeptomatch": ["zeptomatch@2.1.0", "", { "dependencies": { "grammex": "^3.1.11", "graphmatch": "^1.1.0" } }, "sha512-KiGErG2J0G82LSpniV0CtIzjlJ10E04j02VOudJsPyPwNZgGnRKQy7I1R7GMyg/QswnE4l7ohSGrQbQbjXPPDA=="], + "zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="], + + "zod-to-json-schema": ["zod-to-json-schema@3.25.1", "", { "peerDependencies": { "zod": "^3.25 || ^4" } }, "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA=="], + "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], "@prisma/adapter-libsql/@libsql/client": ["@libsql/client@0.8.1", "", { "dependencies": { "@libsql/core": "^0.8.1", "@libsql/hrana-client": "^0.6.2", "js-base64": "^3.7.5", "libsql": "^0.3.10", "promise-limit": "^2.7.0" } }, "sha512-xGg0F4iTDFpeBZ0r4pA6icGsYa5rG6RAG+i/iLDnpCAnSuTqEWMDdPlVseiq4Z/91lWI9jvvKKiKpovqJ1kZWA=="], @@ -471,16 +691,38 @@ "eslint/ignore": ["ignore@5.3.2", "", {}, "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="], + "glob/minimatch": ["minimatch@9.0.5", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow=="], + + "libsql/detect-libc": ["detect-libc@2.0.2", "", {}, "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="], + "nypm/citty": ["citty@0.2.0", "", {}, "sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA=="], "proper-lockfile/signal-exit": ["signal-exit@3.0.7", "", {}, "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ=="], + "string-width-cjs/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "string-width-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + + "strip-ansi-cjs/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "wrap-ansi-cjs/ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="], + + "wrap-ansi-cjs/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="], + + "wrap-ansi-cjs/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], + "@prisma/adapter-libsql/@libsql/client/@libsql/core": ["@libsql/core@0.8.1", "", { "dependencies": { "js-base64": "^3.7.5" } }, "sha512-u6nrj6HZMTPsgJ9EBhLzO2uhqhlHQJQmVHV+0yFLvfGf3oSP8w7TjZCNUgu1G8jHISx6KFi7bmcrdXW9lRt++A=="], "@prisma/adapter-libsql/@libsql/client/@libsql/hrana-client": ["@libsql/hrana-client@0.6.2", "", { "dependencies": { "@libsql/isomorphic-fetch": "^0.2.1", "@libsql/isomorphic-ws": "^0.1.5", "js-base64": "^3.7.5", "node-fetch": "^3.3.2" } }, "sha512-MWxgD7mXLNf9FXXiM0bc90wCjZSpErWKr5mGza7ERy2FJNNMXd7JIOv+DepBA1FQTIfI8TFO4/QDYgaQC0goNw=="], "@prisma/adapter-libsql/@libsql/client/libsql": ["libsql@0.3.19", "", { "dependencies": { "@neon-rs/load": "^0.0.4", "detect-libc": "2.0.2", "libsql": "^0.3.15" }, "optionalDependencies": { "@libsql/darwin-arm64": "0.3.19", "@libsql/darwin-x64": "0.3.19", "@libsql/linux-arm64-gnu": "0.3.19", "@libsql/linux-arm64-musl": "0.3.19", "@libsql/linux-x64-gnu": "0.3.19", "@libsql/linux-x64-musl": "0.3.19", "@libsql/win32-x64-msvc": "0.3.19" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ] }, "sha512-Aj5cQ5uk/6fHdmeW0TiXK42FqUlwx7ytmMLPSaUQPin5HKKKuUPD62MAbN4OEweGBBI7q1BekoEN4gPUEL6MZA=="], + "string-width-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + + "wrap-ansi-cjs/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="], + + "wrap-ansi-cjs/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], + "@prisma/adapter-libsql/@libsql/client/libsql/@libsql/darwin-arm64": ["@libsql/darwin-arm64@0.3.19", "", { "os": "darwin", "cpu": "arm64" }, "sha512-rmOqsLcDI65zzxlUOoEiPJLhqmbFsZF6p4UJQ2kMqB+Kc0Rt5/A1OAdOZ/Wo8fQfJWjR1IbkbpEINFioyKf+nQ=="], "@prisma/adapter-libsql/@libsql/client/libsql/@libsql/darwin-x64": ["@libsql/darwin-x64@0.3.19", "", { "os": "darwin", "cpu": "x64" }, "sha512-q9O55B646zU+644SMmOQL3FIfpmEvdWpRpzubwFc2trsa+zoBlSkHuzU9v/C+UNoPHQVRMP7KQctJ455I/h/xw=="], @@ -494,5 +736,7 @@ "@prisma/adapter-libsql/@libsql/client/libsql/@libsql/linux-x64-musl": ["@libsql/linux-x64-musl@0.3.19", "", { "os": "linux", "cpu": "x64" }, "sha512-BLsXyJaL8gZD8+3W2LU08lDEd9MIgGds0yPy5iNPp8tfhXx3pV/Fge2GErN0FC+nzt4DYQtjL+A9GUMglQefXQ=="], "@prisma/adapter-libsql/@libsql/client/libsql/@libsql/win32-x64-msvc": ["@libsql/win32-x64-msvc@0.3.19", "", { "os": "win32", "cpu": "x64" }, "sha512-ay1X9AobE4BpzG0XPw1gplyLZPGHIgJOovvW23gUrukRegiUP62uzhpRbKNogLlUOynyXeq//prHgPXiebUfWg=="], + + "@prisma/adapter-libsql/@libsql/client/libsql/detect-libc": ["detect-libc@2.0.2", "", {}, "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw=="], } } diff --git a/bunfig.toml b/bunfig.toml new file mode 100644 index 0000000..16b7966 --- /dev/null +++ b/bunfig.toml @@ -0,0 +1,5 @@ +[serve.static] +plugins = ["bun-plugin-tailwind"] + +# Optional: Environment variables to expose to client +# env = "PUBLIC_*" diff --git a/package.json b/package.json index b2793c1..dd0e71e 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,27 @@ "typecheck": "tsc --noEmit" }, "dependencies": { + "@google/genai": "^1.40.0", + "@hono/zod-validator": "^0.7.6", "@libsql/client": "^0.17.0", "@prisma/adapter-libsql": "^7.3.0", "@prisma/client": "^7.3.0", + "@types/react": "^19.2.13", + "@types/react-dom": "^19.2.3", + "bun-plugin-tailwind": "^0.1.2", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "framer-motion": "^12.33.0", "hono": "^4.11.8", - "ulidx": "^2.4.1" + "lucide-react": "^0.563.0", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "sharp": "^0.34.5", + "tailwind-merge": "^3.4.0", + "tailwindcss": "^4.1.18", + "ulidx": "^2.4.1", + "zod": "^4.3.6", + "zod-to-json-schema": "^3.25.1" }, "devDependencies": { "@eslint/js": "^10.0.1", diff --git a/src/api/equipment.ts b/src/api/equipment.ts index c18f742..c9293ec 100644 --- a/src/api/equipment.ts +++ b/src/api/equipment.ts @@ -1,18 +1,25 @@ import { Hono } from 'hono' +import { zValidator } from '@hono/zod-validator' +import { z } from 'zod' import { EquipmentService } from '../service/equipment' const equipment = new Hono() -equipment.get('/', async (c) => { - const page = parseInt(c.req.query('page') || '1') - const limit = parseInt(c.req.query('limit') || '10') - const categoryId = c.req.query('categoryId') - const subCategoryId = c.req.query('subCategoryId') +const listSchema = z.object({ + page: z.coerce.number().optional().default(1), + limit: z.coerce.number().optional().default(20), + categoryId: z.string().optional(), + subCategoryId: z.string().optional(), +}) + +equipment.get('/', zValidator('query', listSchema), async (c) => { + const { page, limit, categoryId, subCategoryId } = c.req.valid('query') const result = await EquipmentService.listEquipments( { page, limit }, - { categoryId, subCategoryId }, + { categoryId, subCategoryId } ) + return c.json(result) }) diff --git a/src/api/extract.ts b/src/api/extract.ts new file mode 100644 index 0000000..1c7a4ec --- /dev/null +++ b/src/api/extract.ts @@ -0,0 +1,139 @@ +import { Hono } from 'hono' +import { streamSSE } from 'hono/streaming' +import { zValidator } from '@hono/zod-validator' +import { z } from 'zod' +import { ExtractionService } from '../service/extraction' +import { FileService } from '../service/file' +import { EquipmentService } from '../service/equipment' +import { CategoryService } from '../service/category' +import { AssetService } from '../service/asset' + +const extract = new Hono() + +const extractSchema = z.object({ + image: z.instanceof(File), +}) + +extract.post('/', zValidator('form', extractSchema), async (c) => { + const { image } = c.req.valid('form') + const file = image as File + + return streamSSE(c, async (stream) => { + try { + // 1. Analyze + await stream.writeSSE({ + event: 'status', + data: JSON.stringify({ status: 'analyzing', message: 'Analyzing character assets...' }) + }) + + let analysis; + try { + analysis = await ExtractionService.analyzeImage(file) + } catch (err: unknown) { + const error = err instanceof Error ? err : new Error(String(err)); + throw new Error("Analysis failed: " + error.message, { cause: error }); + } + + if (!analysis.assets || analysis.assets.length === 0) { + await stream.writeSSE({ + event: 'complete', + data: JSON.stringify({ assets: [] }) + }) + return + } + + // 2. Generate Texture Sheet + await stream.writeSSE({ + event: 'status', + data: JSON.stringify({ status: 'generating', message: 'Generating texture sheet...' }) + }) + + let sheetBase64: string; + try { + sheetBase64 = await ExtractionService.generateTextureSheet(file, analysis.assets) + } catch (err: unknown) { + const error = err instanceof Error ? err : new Error(String(err)); + throw new Error("Generation failed: " + error.message, { cause: error }); + } + + // 3. Detect Bounding Boxes + await stream.writeSSE({ + event: 'status', + data: JSON.stringify({ status: 'splitting', message: 'Detecting asset boundaries...' }) + }) + + let boxes; + try { + boxes = await ExtractionService.detectBoundingBoxes(sheetBase64) + } catch (err: unknown) { + const error = err instanceof Error ? err : new Error(String(err)); + throw new Error("Detection failed: " + error.message, { cause: error }); + } + + // 4. Crop Assets + const crops = await ExtractionService.cropAssets(sheetBase64, boxes) + + // 5. Refine & Save + await stream.writeSSE({ + event: 'status', + data: JSON.stringify({ status: 'refining', message: 'Refining and saving assets...' }) + }) + + const refinedAssets = [] + + for (const crop of crops) { + // Find matching asset from analysis to get category/description + const originalMeta = analysis.assets.find(a => a.item_name === crop.name) || { + item_name: crop.name, + description: "Extracted asset", + category: "Uncategorized", + background_color: "unknown" + } + + // Refine image + const refinedBase64 = await ExtractionService.refineAsset(crop.base64) + + // Save to file system + const savedFile = await FileService.saveBase64Image(refinedBase64) + + // Create Asset record (AssetService now has createAssetRecord) + const asset = await AssetService.createAssetRecord({ + name: originalMeta.item_name, + type: 'image/webp', + path: savedFile.filename + }) + + // Find or create category + const categoryId = await CategoryService.findOrCreate(originalMeta.category) + + // Create Equipment record linked to Asset and Category + const equipment = await EquipmentService.createEquipment({ + name: originalMeta.item_name, + description: originalMeta.description, + imageId: asset.id, + categoryId: categoryId + }) + + refinedAssets.push({ + ...equipment, + imageUrl: `/files/${savedFile.filename}`, // Frontend needs URL + }) + } + + await stream.writeSSE({ + event: 'complete', + data: JSON.stringify({ assets: refinedAssets }) + }) + + } catch (e: unknown) { + console.error(e) + const error = e instanceof Error ? e : new Error(String(e)); + await stream.writeSSE({ + event: 'error', + data: JSON.stringify({ message: error.message || 'Extraction failed' }) + }) + } + }) +}) + +export default extract diff --git a/src/generated/prisma/browser.ts b/src/generated/prisma/browser.ts index 57f08ae..721deaa 100644 --- a/src/generated/prisma/browser.ts +++ b/src/generated/prisma/browser.ts @@ -1,5 +1,6 @@ -/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* @@ -12,10 +13,10 @@ * 🟢 You can import this file directly. */ -import * as Prisma from './internal/prismaNamespaceBrowser.js' +import * as Prisma from './internal/prismaNamespaceBrowser.ts' export { Prisma } -export * as $Enums from './enums.js' -export * from './enums.js' +export * as $Enums from './enums.ts' +export * from './enums.ts'; /** * Model Asset * diff --git a/src/generated/prisma/client.ts b/src/generated/prisma/client.ts index 3fe4676..4fccf02 100644 --- a/src/generated/prisma/client.ts +++ b/src/generated/prisma/client.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -14,13 +15,13 @@ import * as path from 'node:path' import { fileURLToPath } from 'node:url' globalThis['__dirname'] = path.dirname(fileURLToPath(import.meta.url)) -import * as runtime from '@prisma/client/runtime/client' -import * as $Enums from './enums.js' -import * as $Class from './internal/class.js' -import * as Prisma from './internal/prismaNamespace.js' +import * as runtime from "@prisma/client/runtime/client" +import * as $Enums from "./enums.ts" +import * as $Class from "./internal/class.ts" +import * as Prisma from "./internal/prismaNamespace.ts" -export * as $Enums from './enums.js' -export * from './enums.js' +export * as $Enums from './enums.ts' +export * from "./enums.ts" /** * ## Prisma Client * @@ -35,11 +36,7 @@ export * from './enums.js' * Read more in our [docs](https://pris.ly/d/client). */ export const PrismaClient = $Class.getPrismaClientClass() -export type PrismaClient< - LogOpts extends Prisma.LogLevel = never, - OmitOpts extends Prisma.PrismaClientOptions['omit'] = Prisma.PrismaClientOptions['omit'], - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = $Class.PrismaClient +export type PrismaClient = $Class.PrismaClient export { Prisma } /** diff --git a/src/generated/prisma/commonInputTypes.ts b/src/generated/prisma/commonInputTypes.ts index b37f1fb..e9bb4b6 100644 --- a/src/generated/prisma/commonInputTypes.ts +++ b/src/generated/prisma/commonInputTypes.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -8,9 +9,10 @@ * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import * as $Enums from './enums.js' -import type * as Prisma from './internal/prismaNamespace.js' +import type * as runtime from "@prisma/client/runtime/client" +import * as $Enums from "./enums.ts" +import type * as Prisma from "./internal/prismaNamespace.ts" + export type StringFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> diff --git a/src/generated/prisma/enums.ts b/src/generated/prisma/enums.ts index d8f41de..a696c2e 100644 --- a/src/generated/prisma/enums.ts +++ b/src/generated/prisma/enums.ts @@ -1,12 +1,15 @@ -/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* - * This file exports all enum related types from the schema. - * - * 🟢 You can import this file directly. - */ +* This file exports all enum related types from the schema. +* +* 🟢 You can import this file directly. +*/ + + // This file is empty because there are no enums in the schema. export {} diff --git a/src/generated/prisma/internal/class.ts b/src/generated/prisma/internal/class.ts index 1a0d337..94f0788 100644 --- a/src/generated/prisma/internal/class.ts +++ b/src/generated/prisma/internal/class.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -10,26 +11,26 @@ * Please import the `PrismaClient` class from the `client.ts` file instead. */ -import * as runtime from '@prisma/client/runtime/client' -import type * as Prisma from './prismaNamespace.js' +import * as runtime from "@prisma/client/runtime/client" +import type * as Prisma from "./prismaNamespace.ts" + const config: runtime.GetPrismaClientConfig = { - previewFeatures: ['driverAdapters'], - clientVersion: '7.3.0', - engineVersion: '9d6ad21cbbceab97458517b147a6a09ff43aa735', - activeProvider: 'sqlite', - inlineSchema: - '// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = "prisma-client"\n output = "../src/generated/prisma"\n previewFeatures = ["driverAdapters"]\n}\n\ndatasource db {\n provider = "sqlite"\n}\n\nmodel Asset {\n id String @id\n name String\n type String\n path String\n createdAt DateTime @default(now()) @map("created_at")\n updatedAt DateTime @updatedAt @map("updated_at")\n\n // Relations\n characters Character[]\n equipments Equipment[]\n generations Generation[]\n\n @@map("assets")\n}\n\nmodel Character {\n id String @id\n name String\n description String?\n imageId String @map("image_id")\n createdAt DateTime @default(now()) @map("created_at")\n updatedAt DateTime @updatedAt @map("updated_at")\n\n // Relations\n image Asset @relation(fields: [imageId], references: [id])\n generations Generation[]\n\n @@map("characters")\n}\n\nmodel Category {\n id String @id\n name String\n parentId String? @map("parent_id")\n createdAt DateTime @default(now()) @map("created_at")\n updatedAt DateTime @updatedAt @map("updated_at")\n\n // Relations\n parent Category? @relation("CategoryToSubCategory", fields: [parentId], references: [id])\n subCategories Category[] @relation("CategoryToSubCategory")\n equipmentsAsMain Equipment[] @relation("CategoryMain")\n equipmentsAsSub Equipment[] @relation("CategorySub")\n\n @@map("categories")\n}\n\nmodel Equipment {\n id String @id\n name String\n description String\n categoryId String @map("category_id")\n subCategoryId String? @map("sub_category_id")\n imageId String @map("image_id")\n createdAt DateTime @default(now()) @map("created_at")\n updatedAt DateTime @updatedAt @map("updated_at")\n\n // Relations\n category Category @relation("CategoryMain", fields: [categoryId], references: [id])\n subCategory Category? @relation("CategorySub", fields: [subCategoryId], references: [id])\n image Asset @relation(fields: [imageId], references: [id])\n generations GenerationEquipment[]\n\n @@map("equipments")\n}\n\nmodel Generation {\n id String @id\n characterId String @map("character_id")\n imageId String @map("image_id")\n createdAt DateTime @default(now()) @map("created_at")\n updatedAt DateTime @updatedAt @map("updated_at")\n\n // Relations\n character Character @relation(fields: [characterId], references: [id])\n image Asset @relation(fields: [imageId], references: [id])\n equipments GenerationEquipment[]\n\n @@map("generations")\n}\n\nmodel GenerationEquipment {\n generationId String @map("generation_id")\n equipmentId String @map("equipment_id")\n\n generation Generation @relation(fields: [generationId], references: [id])\n equipment Equipment @relation(fields: [equipmentId], references: [id])\n\n @@id([generationId, equipmentId])\n @@map("generation_equipments")\n}\n', - runtimeDataModel: { - models: {}, - enums: {}, - types: {}, - }, + "previewFeatures": [ + "driverAdapters" + ], + "clientVersion": "7.3.0", + "engineVersion": "9d6ad21cbbceab97458517b147a6a09ff43aa735", + "activeProvider": "sqlite", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n previewFeatures = [\"driverAdapters\"]\n}\n\ndatasource db {\n provider = \"sqlite\"\n}\n\nmodel Asset {\n id String @id\n name String\n type String\n path String\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n // Relations\n characters Character[]\n equipments Equipment[]\n generations Generation[]\n\n @@map(\"assets\")\n}\n\nmodel Character {\n id String @id\n name String\n description String?\n imageId String @map(\"image_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n // Relations\n image Asset @relation(fields: [imageId], references: [id])\n generations Generation[]\n\n @@map(\"characters\")\n}\n\nmodel Category {\n id String @id\n name String\n parentId String? @map(\"parent_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n // Relations\n parent Category? @relation(\"CategoryToSubCategory\", fields: [parentId], references: [id])\n subCategories Category[] @relation(\"CategoryToSubCategory\")\n equipmentsAsMain Equipment[] @relation(\"CategoryMain\")\n equipmentsAsSub Equipment[] @relation(\"CategorySub\")\n\n @@map(\"categories\")\n}\n\nmodel Equipment {\n id String @id\n name String\n description String\n categoryId String @map(\"category_id\")\n subCategoryId String? @map(\"sub_category_id\")\n imageId String @map(\"image_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n // Relations\n category Category @relation(\"CategoryMain\", fields: [categoryId], references: [id])\n subCategory Category? @relation(\"CategorySub\", fields: [subCategoryId], references: [id])\n image Asset @relation(fields: [imageId], references: [id])\n generations GenerationEquipment[]\n\n @@map(\"equipments\")\n}\n\nmodel Generation {\n id String @id\n characterId String @map(\"character_id\")\n imageId String @map(\"image_id\")\n createdAt DateTime @default(now()) @map(\"created_at\")\n updatedAt DateTime @updatedAt @map(\"updated_at\")\n\n // Relations\n character Character @relation(fields: [characterId], references: [id])\n image Asset @relation(fields: [imageId], references: [id])\n equipments GenerationEquipment[]\n\n @@map(\"generations\")\n}\n\nmodel GenerationEquipment {\n generationId String @map(\"generation_id\")\n equipmentId String @map(\"equipment_id\")\n\n generation Generation @relation(fields: [generationId], references: [id])\n equipment Equipment @relation(fields: [equipmentId], references: [id])\n\n @@id([generationId, equipmentId])\n @@map(\"generation_equipments\")\n}\n", + "runtimeDataModel": { + "models": {}, + "enums": {}, + "types": {} + } } -config.runtimeDataModel = JSON.parse( - '{"models":{"Asset":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"type","kind":"scalar","type":"String"},{"name":"path","kind":"scalar","type":"String"},{"name":"createdAt","kind":"scalar","type":"DateTime","dbName":"created_at"},{"name":"updatedAt","kind":"scalar","type":"DateTime","dbName":"updated_at"},{"name":"characters","kind":"object","type":"Character","relationName":"AssetToCharacter"},{"name":"equipments","kind":"object","type":"Equipment","relationName":"AssetToEquipment"},{"name":"generations","kind":"object","type":"Generation","relationName":"AssetToGeneration"}],"dbName":"assets"},"Character":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"imageId","kind":"scalar","type":"String","dbName":"image_id"},{"name":"createdAt","kind":"scalar","type":"DateTime","dbName":"created_at"},{"name":"updatedAt","kind":"scalar","type":"DateTime","dbName":"updated_at"},{"name":"image","kind":"object","type":"Asset","relationName":"AssetToCharacter"},{"name":"generations","kind":"object","type":"Generation","relationName":"CharacterToGeneration"}],"dbName":"characters"},"Category":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"parentId","kind":"scalar","type":"String","dbName":"parent_id"},{"name":"createdAt","kind":"scalar","type":"DateTime","dbName":"created_at"},{"name":"updatedAt","kind":"scalar","type":"DateTime","dbName":"updated_at"},{"name":"parent","kind":"object","type":"Category","relationName":"CategoryToSubCategory"},{"name":"subCategories","kind":"object","type":"Category","relationName":"CategoryToSubCategory"},{"name":"equipmentsAsMain","kind":"object","type":"Equipment","relationName":"CategoryMain"},{"name":"equipmentsAsSub","kind":"object","type":"Equipment","relationName":"CategorySub"}],"dbName":"categories"},"Equipment":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"name","kind":"scalar","type":"String"},{"name":"description","kind":"scalar","type":"String"},{"name":"categoryId","kind":"scalar","type":"String","dbName":"category_id"},{"name":"subCategoryId","kind":"scalar","type":"String","dbName":"sub_category_id"},{"name":"imageId","kind":"scalar","type":"String","dbName":"image_id"},{"name":"createdAt","kind":"scalar","type":"DateTime","dbName":"created_at"},{"name":"updatedAt","kind":"scalar","type":"DateTime","dbName":"updated_at"},{"name":"category","kind":"object","type":"Category","relationName":"CategoryMain"},{"name":"subCategory","kind":"object","type":"Category","relationName":"CategorySub"},{"name":"image","kind":"object","type":"Asset","relationName":"AssetToEquipment"},{"name":"generations","kind":"object","type":"GenerationEquipment","relationName":"EquipmentToGenerationEquipment"}],"dbName":"equipments"},"Generation":{"fields":[{"name":"id","kind":"scalar","type":"String"},{"name":"characterId","kind":"scalar","type":"String","dbName":"character_id"},{"name":"imageId","kind":"scalar","type":"String","dbName":"image_id"},{"name":"createdAt","kind":"scalar","type":"DateTime","dbName":"created_at"},{"name":"updatedAt","kind":"scalar","type":"DateTime","dbName":"updated_at"},{"name":"character","kind":"object","type":"Character","relationName":"CharacterToGeneration"},{"name":"image","kind":"object","type":"Asset","relationName":"AssetToGeneration"},{"name":"equipments","kind":"object","type":"GenerationEquipment","relationName":"GenerationToGenerationEquipment"}],"dbName":"generations"},"GenerationEquipment":{"fields":[{"name":"generationId","kind":"scalar","type":"String","dbName":"generation_id"},{"name":"equipmentId","kind":"scalar","type":"String","dbName":"equipment_id"},{"name":"generation","kind":"object","type":"Generation","relationName":"GenerationToGenerationEquipment"},{"name":"equipment","kind":"object","type":"Equipment","relationName":"EquipmentToGenerationEquipment"}],"dbName":"generation_equipments"}},"enums":{},"types":{}}', -) +config.runtimeDataModel = JSON.parse("{\"models\":{\"Asset\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"characters\",\"kind\":\"object\",\"type\":\"Character\",\"relationName\":\"AssetToCharacter\"},{\"name\":\"equipments\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"AssetToEquipment\"},{\"name\":\"generations\",\"kind\":\"object\",\"type\":\"Generation\",\"relationName\":\"AssetToGeneration\"}],\"dbName\":\"assets\"},\"Character\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"imageId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"image_id\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"image\",\"kind\":\"object\",\"type\":\"Asset\",\"relationName\":\"AssetToCharacter\"},{\"name\":\"generations\",\"kind\":\"object\",\"type\":\"Generation\",\"relationName\":\"CharacterToGeneration\"}],\"dbName\":\"characters\"},\"Category\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"parent_id\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"Category\",\"relationName\":\"CategoryToSubCategory\"},{\"name\":\"subCategories\",\"kind\":\"object\",\"type\":\"Category\",\"relationName\":\"CategoryToSubCategory\"},{\"name\":\"equipmentsAsMain\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"CategoryMain\"},{\"name\":\"equipmentsAsSub\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"CategorySub\"}],\"dbName\":\"categories\"},\"Equipment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"categoryId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"category_id\"},{\"name\":\"subCategoryId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"sub_category_id\"},{\"name\":\"imageId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"image_id\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"category\",\"kind\":\"object\",\"type\":\"Category\",\"relationName\":\"CategoryMain\"},{\"name\":\"subCategory\",\"kind\":\"object\",\"type\":\"Category\",\"relationName\":\"CategorySub\"},{\"name\":\"image\",\"kind\":\"object\",\"type\":\"Asset\",\"relationName\":\"AssetToEquipment\"},{\"name\":\"generations\",\"kind\":\"object\",\"type\":\"GenerationEquipment\",\"relationName\":\"EquipmentToGenerationEquipment\"}],\"dbName\":\"equipments\"},\"Generation\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"characterId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"character_id\"},{\"name\":\"imageId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"image_id\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"created_at\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\",\"dbName\":\"updated_at\"},{\"name\":\"character\",\"kind\":\"object\",\"type\":\"Character\",\"relationName\":\"CharacterToGeneration\"},{\"name\":\"image\",\"kind\":\"object\",\"type\":\"Asset\",\"relationName\":\"AssetToGeneration\"},{\"name\":\"equipments\",\"kind\":\"object\",\"type\":\"GenerationEquipment\",\"relationName\":\"GenerationToGenerationEquipment\"}],\"dbName\":\"generations\"},\"GenerationEquipment\":{\"fields\":[{\"name\":\"generationId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"generation_id\"},{\"name\":\"equipmentId\",\"kind\":\"scalar\",\"type\":\"String\",\"dbName\":\"equipment_id\"},{\"name\":\"generation\",\"kind\":\"object\",\"type\":\"Generation\",\"relationName\":\"GenerationToGenerationEquipment\"},{\"name\":\"equipment\",\"kind\":\"object\",\"type\":\"Equipment\",\"relationName\":\"EquipmentToGenerationEquipment\"}],\"dbName\":\"generation_equipments\"}},\"enums\":{},\"types\":{}}") async function decodeBase64AsWasm(wasmBase64: string): Promise { const { Buffer } = await import('node:buffer') @@ -38,26 +39,23 @@ async function decodeBase64AsWasm(wasmBase64: string): Promise await import('@prisma/client/runtime/query_compiler_fast_bg.sqlite.mjs'), + getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.sqlite.mjs"), getQueryCompilerWasmModule: async () => { - const { wasm } = - await import('@prisma/client/runtime/query_compiler_fast_bg.sqlite.wasm-base64.mjs') + const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.sqlite.wasm-base64.mjs") return await decodeBase64AsWasm(wasm) }, - importName: './query_compiler_fast_bg.js', + importName: "./query_compiler_fast_bg.js" } + + export type LogOptions = - 'log' extends keyof ClientOptions - ? ClientOptions['log'] extends Array - ? Prisma.GetEvents - : never - : never + 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never export interface PrismaClientConstructor { - /** + /** * ## Prisma Client * * Type-safe database client for TypeScript @@ -74,13 +72,9 @@ export interface PrismaClientConstructor { new < Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, LogOpts extends LogOptions = LogOptions, - OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } - ? U - : Prisma.PrismaClientOptions['omit'], - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - >( - options: Prisma.Subset, - ): PrismaClient + OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'], + ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs + >(options: Prisma.Subset ): PrismaClient } /** @@ -100,27 +94,23 @@ export interface PrismaClientConstructor { export interface PrismaClient< in LogOpts extends Prisma.LogLevel = never, in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined, - in out ExtArgs extends runtime.Types.Extensions.InternalArgs = - runtime.Types.Extensions.DefaultArgs, + in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs > { [K: symbol]: { types: Prisma.TypeMap['other'] } - $on( - eventType: V, - callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void, - ): PrismaClient + $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; /** * Connect with the database */ - $connect(): runtime.Types.Utils.JsPromise + $connect(): runtime.Types.Utils.JsPromise; /** * Disconnect from the database */ - $disconnect(): runtime.Types.Utils.JsPromise + $disconnect(): runtime.Types.Utils.JsPromise; - /** +/** * Executes a prepared raw query and returns the number of affected rows. * @example * ``` @@ -129,10 +119,7 @@ export interface PrismaClient< * * Read more in our [docs](https://pris.ly/d/raw-queries). */ - $executeRaw( - query: TemplateStringsArray | Prisma.Sql, - ...values: any[] - ): Prisma.PrismaPromise + $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Executes a raw query and returns the number of affected rows. @@ -144,7 +131,7 @@ export interface PrismaClient< * * Read more in our [docs](https://pris.ly/d/raw-queries). */ - $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise + $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; /** * Performs a prepared raw query and returns the `SELECT` data. @@ -155,10 +142,7 @@ export interface PrismaClient< * * Read more in our [docs](https://pris.ly/d/raw-queries). */ - $queryRaw( - query: TemplateStringsArray | Prisma.Sql, - ...values: any[] - ): Prisma.PrismaPromise + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; /** * Performs a raw query and returns the `SELECT` data. @@ -170,7 +154,8 @@ export interface PrismaClient< * * Read more in our [docs](https://pris.ly/d/raw-queries). */ - $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise + $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + /** * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole. @@ -185,91 +170,73 @@ export interface PrismaClient< * * Read more in our [docs](https://www.prisma.io/docs/concepts/components/prisma-client/transactions). */ - $transaction

[]>( - arg: [...P], - options?: { isolationLevel?: Prisma.TransactionIsolationLevel }, - ): runtime.Types.Utils.JsPromise> + $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise> - $transaction( - fn: (prisma: Omit) => runtime.Types.Utils.JsPromise, - options?: { - maxWait?: number - timeout?: number - isolationLevel?: Prisma.TransactionIsolationLevel - }, - ): runtime.Types.Utils.JsPromise + $transaction(fn: (prisma: Omit) => runtime.Types.Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise - $extends: runtime.Types.Extensions.ExtendsHook< - 'extends', - Prisma.TypeMapCb, - ExtArgs, - runtime.Types.Utils.Call< - Prisma.TypeMapCb, - { - extArgs: ExtArgs - } - > - > + $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, runtime.Types.Utils.Call, { + extArgs: ExtArgs + }>> - /** + /** * `prisma.asset`: Exposes CRUD operations for the **Asset** model. - * Example usage: - * ```ts - * // Fetch zero or more Assets - * const assets = await prisma.asset.findMany() - * ``` - */ - get asset(): Prisma.AssetDelegate + * Example usage: + * ```ts + * // Fetch zero or more Assets + * const assets = await prisma.asset.findMany() + * ``` + */ + get asset(): Prisma.AssetDelegate; /** * `prisma.character`: Exposes CRUD operations for the **Character** model. - * Example usage: - * ```ts - * // Fetch zero or more Characters - * const characters = await prisma.character.findMany() - * ``` - */ - get character(): Prisma.CharacterDelegate + * Example usage: + * ```ts + * // Fetch zero or more Characters + * const characters = await prisma.character.findMany() + * ``` + */ + get character(): Prisma.CharacterDelegate; /** * `prisma.category`: Exposes CRUD operations for the **Category** model. - * Example usage: - * ```ts - * // Fetch zero or more Categories - * const categories = await prisma.category.findMany() - * ``` - */ - get category(): Prisma.CategoryDelegate + * Example usage: + * ```ts + * // Fetch zero or more Categories + * const categories = await prisma.category.findMany() + * ``` + */ + get category(): Prisma.CategoryDelegate; /** * `prisma.equipment`: Exposes CRUD operations for the **Equipment** model. - * Example usage: - * ```ts - * // Fetch zero or more Equipment - * const equipment = await prisma.equipment.findMany() - * ``` - */ - get equipment(): Prisma.EquipmentDelegate + * Example usage: + * ```ts + * // Fetch zero or more Equipment + * const equipment = await prisma.equipment.findMany() + * ``` + */ + get equipment(): Prisma.EquipmentDelegate; /** * `prisma.generation`: Exposes CRUD operations for the **Generation** model. - * Example usage: - * ```ts - * // Fetch zero or more Generations - * const generations = await prisma.generation.findMany() - * ``` - */ - get generation(): Prisma.GenerationDelegate + * Example usage: + * ```ts + * // Fetch zero or more Generations + * const generations = await prisma.generation.findMany() + * ``` + */ + get generation(): Prisma.GenerationDelegate; /** * `prisma.generationEquipment`: Exposes CRUD operations for the **GenerationEquipment** model. - * Example usage: - * ```ts - * // Fetch zero or more GenerationEquipments - * const generationEquipments = await prisma.generationEquipment.findMany() - * ``` - */ - get generationEquipment(): Prisma.GenerationEquipmentDelegate + * Example usage: + * ```ts + * // Fetch zero or more GenerationEquipments + * const generationEquipments = await prisma.generationEquipment.findMany() + * ``` + */ + get generationEquipment(): Prisma.GenerationEquipmentDelegate; } export function getPrismaClientClass(): PrismaClientConstructor { diff --git a/src/generated/prisma/internal/prismaNamespace.ts b/src/generated/prisma/internal/prismaNamespace.ts index 4b8c863..39d09f1 100644 --- a/src/generated/prisma/internal/prismaNamespace.ts +++ b/src/generated/prisma/internal/prismaNamespace.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -14,11 +15,11 @@ * model files in the `model` directory! */ -import * as runtime from '@prisma/client/runtime/client' -import type * as Prisma from '../models.js' -import { type PrismaClient } from './class.js' +import * as runtime from "@prisma/client/runtime/client" +import type * as Prisma from "../models.ts" +import { type PrismaClient } from "./class.ts" -export type * from '../models.js' +export type * from '../models.ts' export type DMMF = typeof runtime.DMMF @@ -53,6 +54,8 @@ export const raw = runtime.raw export const Sql = runtime.Sql export type Sql = runtime.Sql + + /** * Decimal.js */ @@ -62,8 +65,8 @@ export type Decimal = runtime.Decimal export type DecimalJsLike = runtime.DecimalJsLike /** - * Extensions - */ +* Extensions +*/ export type Extension = runtime.Types.Extensions.UserArgs export const getExtensionContext = runtime.Extensions.getExtensionContext export type Args = runtime.Types.Public.Args @@ -81,8 +84,8 @@ export type PrismaVersion = { * Query Engine version: 9d6ad21cbbceab97458517b147a6a09ff43aa735 */ export const prismaVersion: PrismaVersion = { - client: '7.3.0', - engine: '9d6ad21cbbceab97458517b147a6a09ff43aa735', + client: "7.3.0", + engine: "9d6ad21cbbceab97458517b147a6a09ff43aa735" } /** @@ -97,10 +100,11 @@ export type InputJsonObject = runtime.InputJsonObject export type InputJsonArray = runtime.InputJsonArray export type InputJsonValue = runtime.InputJsonValue + export const NullTypes = { - DbNull: runtime.NullTypes.DbNull as new (secret: never) => typeof runtime.DbNull, - JsonNull: runtime.NullTypes.JsonNull as new (secret: never) => typeof runtime.JsonNull, - AnyNull: runtime.NullTypes.AnyNull as new (secret: never) => typeof runtime.AnyNull, + DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull), + JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull), + AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull), } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) @@ -123,6 +127,7 @@ export const JsonNull = runtime.JsonNull */ export const AnyNull = runtime.AnyNull + type SelectAndInclude = { select: any include: any @@ -137,18 +142,18 @@ type SelectAndOmit = { * From T, pick a set of properties whose keys are in the union K */ type Prisma__Pick = { - [P in K]: T[P] -} + [P in K]: T[P]; +}; -export type Enumerable = T | Array +export type Enumerable = T | Array; /** * Subset * @desc From `T` pick properties that exist in `U`. Simple version of Intersection */ export type Subset = { - [key in keyof T]: key extends keyof U ? T[key] : never -} + [key in keyof T]: key extends keyof U ? T[key] : never; +}; /** * SelectSubset @@ -157,11 +162,12 @@ export type Subset = { */ export type SelectSubset = { [key in keyof T]: key extends keyof U ? T[key] : never -} & (T extends SelectAndInclude - ? 'Please either choose `select` or `include`.' - : T extends SelectAndOmit - ? 'Please either choose `select` or `omit`.' - : {}) +} & + (T extends SelectAndInclude + ? 'Please either choose `select` or `include`.' + : T extends SelectAndOmit + ? 'Please either choose `select` or `omit`.' + : {}) /** * Subset + Intersection @@ -169,35 +175,37 @@ export type SelectSubset = { */ export type SubsetIntersection = { [key in keyof T]: key extends keyof U ? T[key] : never -} & K +} & + K -type Without = { [P in Exclude]?: never } +type Without = { [P in Exclude]?: never }; /** * XOR is needed to have a real mutually exclusive union type * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types */ -export type XOR = T extends object - ? U extends object - ? (Without & U) | (Without & T) - : U - : T +export type XOR = + T extends object ? + U extends object ? + (Without & U) | (Without & T) + : U : T + /** * Is T a Record? */ -type IsObject = - T extends Array - ? False - : T extends Date - ? False - : T extends Uint8Array - ? False - : T extends BigInt - ? False - : T extends object - ? True - : False +type IsObject = T extends Array +? False +: T extends Date +? False +: T extends Uint8Array +? False +: T extends BigInt +? False +: T extends object +? True +: False + /** * If it's T[], return T @@ -218,14 +226,20 @@ type EitherStrict = Strict<__Either> type EitherLoose = ComputeRaw<__Either> -type _Either = { +type _Either< + O extends object, + K extends Key, + strict extends Boolean +> = { 1: EitherStrict 0: EitherLoose }[strict] -export type Either = O extends unknown - ? _Either - : never +export type Either< + O extends object, + K extends Key, + strict extends Boolean = 1 +> = O extends unknown ? _Either : never export type Union = any @@ -234,67 +248,56 @@ export type PatchUndefined = { } & {} /** Helper Types for "Merge" **/ -export type IntersectOf = (U extends unknown ? (k: U) => void : never) extends ( - k: infer I, -) => void +export type IntersectOf = ( + U extends unknown ? (k: U) => void : never +) extends (k: infer I) => void ? I : never export type Overwrite = { - [K in keyof O]: K extends keyof O1 ? O1[K] : O[K] -} & {} + [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; +} & {}; -type _Merge = IntersectOf< - Overwrite< - U, - { - [K in keyof U]-?: At - } - > -> +type _Merge = IntersectOf; +}>>; -type Key = string | number | symbol -type AtStrict = O[K & keyof O] -type AtLoose = O extends unknown ? AtStrict : never +type Key = string | number | symbol; +type AtStrict = O[K & keyof O]; +type AtLoose = O extends unknown ? AtStrict : never; export type At = { - 1: AtStrict - 0: AtLoose -}[strict] + 1: AtStrict; + 0: AtLoose; +}[strict]; -export type ComputeRaw = A extends Function - ? A - : { - [K in keyof A]: A[K] - } & {} +export type ComputeRaw = A extends Function ? A : { + [K in keyof A]: A[K]; +} & {}; export type OptionalFlat = { - [K in keyof O]?: O[K] -} & {} + [K in keyof O]?: O[K]; +} & {}; type _Record = { - [P in K]: T -} + [P in K]: T; +}; // cause typescript not to expand types and preserve names -type NoExpand = T extends unknown ? T : never +type NoExpand = T extends unknown ? T : never; // this type assumes the passed object is entirely optional export type AtLeast = NoExpand< O extends unknown - ? - | (K extends keyof O ? { [P in K]: O[P] } & O : O) - | ({ [P in keyof O as P extends K ? P : never]-?: O[P] } & O) - : never -> + ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) + | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O + : never>; -type _Strict = U extends unknown - ? U & OptionalFlat<_Record, keyof U>, never>> - : never +type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; -export type Strict = ComputeRaw<_Strict> +export type Strict = ComputeRaw<_Strict>; /** End Helper Types for "Merge" **/ -export type Merge = ComputeRaw<_Merge>> +export type Merge = ComputeRaw<_Merge>>; export type Boolean = True | False @@ -310,10 +313,12 @@ export type Not = { export type Extends = [A1] extends [never] ? 0 // anything `never` is false : A1 extends A2 - ? 1 - : 0 + ? 1 + : 0 -export type Has = Not, U1>> +export type Has = Not< + Extends, U1> +> export type Or = { 0: { @@ -328,17 +333,22 @@ export type Or = { export type Keys = U extends unknown ? keyof U : never -export type GetScalarType = O extends object - ? { - [P in keyof T]: P extends keyof O ? O[P] : never - } - : never +export type GetScalarType = O extends object ? { + [P in keyof T]: P extends keyof O + ? O[P] + : never +} : never -type FieldPaths> = - IsObject extends True ? U : T +type FieldPaths< + T, + U = Omit +> = IsObject extends True ? U : T export type GetHavingFields = { - [K in keyof T]: Or, Extends<'AND', K>>, Extends<'NOT', K>> extends True + [K in keyof T]: Or< + Or, Extends<'AND', K>>, + Extends<'NOT', K> + > extends True ? // infer is only needed to not hit TS limit // based on the brilliant idea of Pierre-Antoine Mills // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 @@ -346,8 +356,8 @@ export type GetHavingFields = { ? GetHavingFields extends object ? Merge> : never> : never : {} extends FieldPaths - ? never - : K + ? never + : K }[keyof T] /** @@ -360,53 +370,42 @@ export type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T /** * Like `Pick`, but additionally can also accept an array of keys */ -export type PickEnumerable | keyof T> = Prisma__Pick< - T, - MaybeTupleToUnion -> +export type PickEnumerable | keyof T> = Prisma__Pick> /** * Exclude all keys with underscores */ export type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T + export type FieldRef = runtime.FieldRef type FieldRefInputType = Model extends never ? never : FieldRef + export const ModelName = { Asset: 'Asset', Character: 'Character', Category: 'Category', Equipment: 'Equipment', Generation: 'Generation', - GenerationEquipment: 'GenerationEquipment', + GenerationEquipment: 'GenerationEquipment' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] -export interface TypeMapCb extends runtime.Types.Utils.Fn< - { extArgs: runtime.Types.Extensions.InternalArgs }, - runtime.Types.Utils.Record -> { + + +export interface TypeMapCb extends runtime.Types.Utils.Fn<{extArgs: runtime.Types.Extensions.InternalArgs }, runtime.Types.Utils.Record> { returns: TypeMap } -export type TypeMap< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> = { +export type TypeMap = { globalOmitOptions: { omit: GlobalOmitOptions } meta: { - modelProps: - | 'asset' - | 'character' - | 'category' - | 'equipment' - | 'generation' - | 'generationEquipment' + modelProps: "asset" | "character" | "category" | "equipment" | "generation" | "generationEquipment" txIsolationLevel: TransactionIsolationLevel } model: { @@ -850,9 +849,7 @@ export type TypeMap< } count: { args: Prisma.GenerationEquipmentCountArgs - result: - | runtime.Types.Utils.Optional - | number + result: runtime.Types.Utils.Optional | number } } } @@ -862,19 +859,19 @@ export type TypeMap< payload: any operations: { $executeRaw: { - args: [query: TemplateStringsArray | Sql, ...values: any[]] + args: [query: TemplateStringsArray | Sql, ...values: any[]], result: any } $executeRawUnsafe: { - args: [query: string, ...values: any[]] + args: [query: string, ...values: any[]], result: any } $queryRaw: { - args: [query: TemplateStringsArray | Sql, ...values: any[]] + args: [query: TemplateStringsArray | Sql, ...values: any[]], result: any } $queryRawUnsafe: { - args: [query: string, ...values: any[]] + args: [query: string, ...values: any[]], result: any } } @@ -886,11 +883,11 @@ export type TypeMap< */ export const TransactionIsolationLevel = runtime.makeStrictEnum({ - Serializable: 'Serializable', + Serializable: 'Serializable' } as const) -export type TransactionIsolationLevel = - (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] +export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + export const AssetScalarFieldEnum = { id: 'id', @@ -898,33 +895,34 @@ export const AssetScalarFieldEnum = { type: 'type', path: 'path', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const export type AssetScalarFieldEnum = (typeof AssetScalarFieldEnum)[keyof typeof AssetScalarFieldEnum] + export const CharacterScalarFieldEnum = { id: 'id', name: 'name', description: 'description', imageId: 'imageId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type CharacterScalarFieldEnum = - (typeof CharacterScalarFieldEnum)[keyof typeof CharacterScalarFieldEnum] +export type CharacterScalarFieldEnum = (typeof CharacterScalarFieldEnum)[keyof typeof CharacterScalarFieldEnum] + export const CategoryScalarFieldEnum = { id: 'id', name: 'name', parentId: 'parentId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type CategoryScalarFieldEnum = - (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] +export type CategoryScalarFieldEnum = (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] + export const EquipmentScalarFieldEnum = { id: 'id', @@ -934,64 +932,73 @@ export const EquipmentScalarFieldEnum = { subCategoryId: 'subCategoryId', imageId: 'imageId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type EquipmentScalarFieldEnum = - (typeof EquipmentScalarFieldEnum)[keyof typeof EquipmentScalarFieldEnum] +export type EquipmentScalarFieldEnum = (typeof EquipmentScalarFieldEnum)[keyof typeof EquipmentScalarFieldEnum] + export const GenerationScalarFieldEnum = { id: 'id', characterId: 'characterId', imageId: 'imageId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type GenerationScalarFieldEnum = - (typeof GenerationScalarFieldEnum)[keyof typeof GenerationScalarFieldEnum] +export type GenerationScalarFieldEnum = (typeof GenerationScalarFieldEnum)[keyof typeof GenerationScalarFieldEnum] + export const GenerationEquipmentScalarFieldEnum = { generationId: 'generationId', - equipmentId: 'equipmentId', + equipmentId: 'equipmentId' } as const -export type GenerationEquipmentScalarFieldEnum = - (typeof GenerationEquipmentScalarFieldEnum)[keyof typeof GenerationEquipmentScalarFieldEnum] +export type GenerationEquipmentScalarFieldEnum = (typeof GenerationEquipmentScalarFieldEnum)[keyof typeof GenerationEquipmentScalarFieldEnum] + export const SortOrder = { asc: 'asc', - desc: 'desc', + desc: 'desc' } as const export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + export const NullsOrder = { first: 'first', - last: 'last', + last: 'last' } as const export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + + /** * Field references */ + /** * Reference to a field of type 'String' */ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> + + /** * Reference to a field of type 'DateTime' */ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + /** * Reference to a field of type 'Int' */ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> + /** * Batch Payload for updateMany & deleteMany & createMany */ @@ -999,30 +1006,22 @@ export type BatchPayload = { count: number } -export const defineExtension = runtime.Extensions - .defineExtension as unknown as runtime.Types.Extensions.ExtendsHook< - 'define', - TypeMapCb, - runtime.Types.Extensions.DefaultArgs -> +export const defineExtension = runtime.Extensions.defineExtension as unknown as runtime.Types.Extensions.ExtendsHook<"define", TypeMapCb, runtime.Types.Extensions.DefaultArgs> export type DefaultPrismaClient = PrismaClient export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' -export type PrismaClientOptions = ( - | { - /** - * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`. - */ - adapter: runtime.SqlDriverAdapterFactory - accelerateUrl?: never - } - | { - /** - * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database. - */ - accelerateUrl: string - adapter?: never - } -) & { +export type PrismaClientOptions = ({ + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`. + */ + adapter: runtime.SqlDriverAdapterFactory + accelerateUrl?: never +} | { + /** + * Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database. + */ + accelerateUrl: string + adapter?: never +}) & { /** * @default "colorless" */ @@ -1110,12 +1109,15 @@ export type LogDefinition = { emit: 'stdout' | 'event' } -export type CheckIsLogLevel = T extends LogLevel ? T : never +export type CheckIsLogLevel = T extends LogLevel ? T : never; -export type GetLogType = CheckIsLogLevel +export type GetLogType = CheckIsLogLevel< + T extends LogDefinition ? T['level'] : T +>; -export type GetEvents = - T extends Array ? GetLogType : never +export type GetEvents = T extends Array + ? GetLogType + : never; export type QueryEvent = { timestamp: Date @@ -1132,6 +1134,7 @@ export type LogEvent = { } /* End Types for Logging */ + export type PrismaAction = | 'findUnique' | 'findUniqueOrThrow' diff --git a/src/generated/prisma/internal/prismaNamespaceBrowser.ts b/src/generated/prisma/internal/prismaNamespaceBrowser.ts index b5073a9..0f5e89b 100644 --- a/src/generated/prisma/internal/prismaNamespaceBrowser.ts +++ b/src/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -1,5 +1,6 @@ -/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* @@ -14,17 +15,18 @@ * model files in the `model` directory! */ -import * as runtime from '@prisma/client/runtime/index-browser' +import * as runtime from "@prisma/client/runtime/index-browser" -export type * from '../models.js' -export type * from './prismaNamespace.js' +export type * from '../models.ts' +export type * from './prismaNamespace.ts' export const Decimal = runtime.Decimal + export const NullTypes = { - DbNull: runtime.NullTypes.DbNull as new (secret: never) => typeof runtime.DbNull, - JsonNull: runtime.NullTypes.JsonNull as new (secret: never) => typeof runtime.JsonNull, - AnyNull: runtime.NullTypes.AnyNull as new (secret: never) => typeof runtime.AnyNull, + DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull), + JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull), + AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull), } /** * Helper for filtering JSON entries that have `null` on the database (empty on the db) @@ -47,13 +49,14 @@ export const JsonNull = runtime.JsonNull */ export const AnyNull = runtime.AnyNull + export const ModelName = { Asset: 'Asset', Character: 'Character', Category: 'Category', Equipment: 'Equipment', Generation: 'Generation', - GenerationEquipment: 'GenerationEquipment', + GenerationEquipment: 'GenerationEquipment' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -63,11 +66,11 @@ export type ModelName = (typeof ModelName)[keyof typeof ModelName] */ export const TransactionIsolationLevel = runtime.makeStrictEnum({ - Serializable: 'Serializable', + Serializable: 'Serializable' } as const) -export type TransactionIsolationLevel = - (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] +export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + export const AssetScalarFieldEnum = { id: 'id', @@ -75,33 +78,34 @@ export const AssetScalarFieldEnum = { type: 'type', path: 'path', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const export type AssetScalarFieldEnum = (typeof AssetScalarFieldEnum)[keyof typeof AssetScalarFieldEnum] + export const CharacterScalarFieldEnum = { id: 'id', name: 'name', description: 'description', imageId: 'imageId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type CharacterScalarFieldEnum = - (typeof CharacterScalarFieldEnum)[keyof typeof CharacterScalarFieldEnum] +export type CharacterScalarFieldEnum = (typeof CharacterScalarFieldEnum)[keyof typeof CharacterScalarFieldEnum] + export const CategoryScalarFieldEnum = { id: 'id', name: 'name', parentId: 'parentId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type CategoryScalarFieldEnum = - (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] +export type CategoryScalarFieldEnum = (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum] + export const EquipmentScalarFieldEnum = { id: 'id', @@ -111,41 +115,42 @@ export const EquipmentScalarFieldEnum = { subCategoryId: 'subCategoryId', imageId: 'imageId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type EquipmentScalarFieldEnum = - (typeof EquipmentScalarFieldEnum)[keyof typeof EquipmentScalarFieldEnum] +export type EquipmentScalarFieldEnum = (typeof EquipmentScalarFieldEnum)[keyof typeof EquipmentScalarFieldEnum] + export const GenerationScalarFieldEnum = { id: 'id', characterId: 'characterId', imageId: 'imageId', createdAt: 'createdAt', - updatedAt: 'updatedAt', + updatedAt: 'updatedAt' } as const -export type GenerationScalarFieldEnum = - (typeof GenerationScalarFieldEnum)[keyof typeof GenerationScalarFieldEnum] +export type GenerationScalarFieldEnum = (typeof GenerationScalarFieldEnum)[keyof typeof GenerationScalarFieldEnum] + export const GenerationEquipmentScalarFieldEnum = { generationId: 'generationId', - equipmentId: 'equipmentId', + equipmentId: 'equipmentId' } as const -export type GenerationEquipmentScalarFieldEnum = - (typeof GenerationEquipmentScalarFieldEnum)[keyof typeof GenerationEquipmentScalarFieldEnum] +export type GenerationEquipmentScalarFieldEnum = (typeof GenerationEquipmentScalarFieldEnum)[keyof typeof GenerationEquipmentScalarFieldEnum] + export const SortOrder = { asc: 'asc', - desc: 'desc', + desc: 'desc' } as const export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + export const NullsOrder = { first: 'first', - last: 'last', + last: 'last' } as const export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] diff --git a/src/generated/prisma/models.ts b/src/generated/prisma/models.ts index 1bad99a..faf91be 100644 --- a/src/generated/prisma/models.ts +++ b/src/generated/prisma/models.ts @@ -1,5 +1,6 @@ -/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ // biome-ignore-all lint: generated file // @ts-nocheck /* @@ -7,10 +8,10 @@ * * 🟢 You can import this file directly. */ -export type * from './models/Asset.js' -export type * from './models/Character.js' -export type * from './models/Category.js' -export type * from './models/Equipment.js' -export type * from './models/Generation.js' -export type * from './models/GenerationEquipment.js' -export type * from './commonInputTypes.js' +export type * from './models/Asset.ts' +export type * from './models/Character.ts' +export type * from './models/Category.ts' +export type * from './models/Equipment.ts' +export type * from './models/Generation.ts' +export type * from './models/GenerationEquipment.ts' +export type * from './commonInputTypes.ts' \ No newline at end of file diff --git a/src/generated/prisma/models/Asset.ts b/src/generated/prisma/models/Asset.ts index b3d04e5..8f5f84f 100644 --- a/src/generated/prisma/models/Asset.ts +++ b/src/generated/prisma/models/Asset.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -7,9 +8,9 @@ * * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import type * as $Enums from '../enums.js' -import type * as Prisma from '../internal/prismaNamespace.js' +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 Asset @@ -51,6 +52,7 @@ export type AssetCountAggregateOutputType = { _all: number } + export type AssetMinAggregateInputType = { id?: true name?: true @@ -79,9 +81,7 @@ export type AssetCountAggregateInputType = { _all?: true } -export type AssetAggregateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetAggregateArgs = { /** * Filter which Asset to aggregate. */ @@ -114,33 +114,34 @@ export type AssetAggregateArgs< * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Assets - **/ + **/ _count?: true | AssetCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value - **/ + **/ _min?: AssetMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value - **/ + **/ _max?: AssetMaxAggregateInputType } export type GetAssetAggregateType = { - [P in keyof T & keyof AggregateAsset]: P extends '_count' | 'count' + [P in keyof T & keyof AggregateAsset]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } -export type AssetGroupByArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { + + + +export type AssetGroupByArgs = { where?: Prisma.AssetWhereInput orderBy?: Prisma.AssetOrderByWithAggregationInput | Prisma.AssetOrderByWithAggregationInput[] by: Prisma.AssetScalarFieldEnum[] | Prisma.AssetScalarFieldEnum @@ -166,26 +167,29 @@ export type AssetGroupByOutputType = { type GetAssetGroupByPayload = Prisma.PrismaPromise< Array< - Prisma.PickEnumerable & { - [P in keyof T & keyof AssetGroupByOutputType]: P extends '_count' - ? T[P] extends boolean - ? number + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof AssetGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType : Prisma.GetScalarType - : Prisma.GetScalarType - } + } + > > -> + + export type AssetWhereInput = { AND?: Prisma.AssetWhereInput | Prisma.AssetWhereInput[] OR?: Prisma.AssetWhereInput[] NOT?: Prisma.AssetWhereInput | Prisma.AssetWhereInput[] - id?: Prisma.StringFilter<'Asset'> | string - name?: Prisma.StringFilter<'Asset'> | string - type?: Prisma.StringFilter<'Asset'> | string - path?: Prisma.StringFilter<'Asset'> | string - createdAt?: Prisma.DateTimeFilter<'Asset'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Asset'> | Date | string + id?: Prisma.StringFilter<"Asset"> | string + name?: Prisma.StringFilter<"Asset"> | string + type?: Prisma.StringFilter<"Asset"> | string + path?: Prisma.StringFilter<"Asset"> | string + createdAt?: Prisma.DateTimeFilter<"Asset"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Asset"> | Date | string characters?: Prisma.CharacterListRelationFilter equipments?: Prisma.EquipmentListRelationFilter generations?: Prisma.GenerationListRelationFilter @@ -203,23 +207,20 @@ export type AssetOrderByWithRelationInput = { generations?: Prisma.GenerationOrderByRelationAggregateInput } -export type AssetWhereUniqueInput = Prisma.AtLeast< - { - id?: string - AND?: Prisma.AssetWhereInput | Prisma.AssetWhereInput[] - OR?: Prisma.AssetWhereInput[] - NOT?: Prisma.AssetWhereInput | Prisma.AssetWhereInput[] - name?: Prisma.StringFilter<'Asset'> | string - type?: Prisma.StringFilter<'Asset'> | string - path?: Prisma.StringFilter<'Asset'> | string - createdAt?: Prisma.DateTimeFilter<'Asset'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Asset'> | Date | string - characters?: Prisma.CharacterListRelationFilter - equipments?: Prisma.EquipmentListRelationFilter - generations?: Prisma.GenerationListRelationFilter - }, - 'id' -> +export type AssetWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.AssetWhereInput | Prisma.AssetWhereInput[] + OR?: Prisma.AssetWhereInput[] + NOT?: Prisma.AssetWhereInput | Prisma.AssetWhereInput[] + name?: Prisma.StringFilter<"Asset"> | string + type?: Prisma.StringFilter<"Asset"> | string + path?: Prisma.StringFilter<"Asset"> | string + createdAt?: Prisma.DateTimeFilter<"Asset"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Asset"> | Date | string + characters?: Prisma.CharacterListRelationFilter + equipments?: Prisma.EquipmentListRelationFilter + generations?: Prisma.GenerationListRelationFilter +}, "id"> export type AssetOrderByWithAggregationInput = { id?: Prisma.SortOrder @@ -237,12 +238,12 @@ export type AssetScalarWhereWithAggregatesInput = { AND?: Prisma.AssetScalarWhereWithAggregatesInput | Prisma.AssetScalarWhereWithAggregatesInput[] OR?: Prisma.AssetScalarWhereWithAggregatesInput[] NOT?: Prisma.AssetScalarWhereWithAggregatesInput | Prisma.AssetScalarWhereWithAggregatesInput[] - id?: Prisma.StringWithAggregatesFilter<'Asset'> | string - name?: Prisma.StringWithAggregatesFilter<'Asset'> | string - type?: Prisma.StringWithAggregatesFilter<'Asset'> | string - path?: Prisma.StringWithAggregatesFilter<'Asset'> | string - createdAt?: Prisma.DateTimeWithAggregatesFilter<'Asset'> | Date | string - updatedAt?: Prisma.DateTimeWithAggregatesFilter<'Asset'> | Date | string + id?: Prisma.StringWithAggregatesFilter<"Asset"> | string + name?: Prisma.StringWithAggregatesFilter<"Asset"> | string + type?: Prisma.StringWithAggregatesFilter<"Asset"> | string + path?: Prisma.StringWithAggregatesFilter<"Asset"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Asset"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Asset"> | Date | string } export type AssetCreateInput = { @@ -361,81 +362,45 @@ export type DateTimeFieldUpdateOperationsInput = { } export type AssetCreateNestedOneWithoutCharactersInput = { - create?: Prisma.XOR< - Prisma.AssetCreateWithoutCharactersInput, - Prisma.AssetUncheckedCreateWithoutCharactersInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.AssetCreateOrConnectWithoutCharactersInput connect?: Prisma.AssetWhereUniqueInput } export type AssetUpdateOneRequiredWithoutCharactersNestedInput = { - create?: Prisma.XOR< - Prisma.AssetCreateWithoutCharactersInput, - Prisma.AssetUncheckedCreateWithoutCharactersInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.AssetCreateOrConnectWithoutCharactersInput upsert?: Prisma.AssetUpsertWithoutCharactersInput connect?: Prisma.AssetWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.AssetUpdateToOneWithWhereWithoutCharactersInput, - Prisma.AssetUpdateWithoutCharactersInput - >, - Prisma.AssetUncheckedUpdateWithoutCharactersInput - > + update?: Prisma.XOR, Prisma.AssetUncheckedUpdateWithoutCharactersInput> } export type AssetCreateNestedOneWithoutEquipmentsInput = { - create?: Prisma.XOR< - Prisma.AssetCreateWithoutEquipmentsInput, - Prisma.AssetUncheckedCreateWithoutEquipmentsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.AssetCreateOrConnectWithoutEquipmentsInput connect?: Prisma.AssetWhereUniqueInput } export type AssetUpdateOneRequiredWithoutEquipmentsNestedInput = { - create?: Prisma.XOR< - Prisma.AssetCreateWithoutEquipmentsInput, - Prisma.AssetUncheckedCreateWithoutEquipmentsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.AssetCreateOrConnectWithoutEquipmentsInput upsert?: Prisma.AssetUpsertWithoutEquipmentsInput connect?: Prisma.AssetWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.AssetUpdateToOneWithWhereWithoutEquipmentsInput, - Prisma.AssetUpdateWithoutEquipmentsInput - >, - Prisma.AssetUncheckedUpdateWithoutEquipmentsInput - > + update?: Prisma.XOR, Prisma.AssetUncheckedUpdateWithoutEquipmentsInput> } export type AssetCreateNestedOneWithoutGenerationsInput = { - create?: Prisma.XOR< - Prisma.AssetCreateWithoutGenerationsInput, - Prisma.AssetUncheckedCreateWithoutGenerationsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.AssetCreateOrConnectWithoutGenerationsInput connect?: Prisma.AssetWhereUniqueInput } export type AssetUpdateOneRequiredWithoutGenerationsNestedInput = { - create?: Prisma.XOR< - Prisma.AssetCreateWithoutGenerationsInput, - Prisma.AssetUncheckedCreateWithoutGenerationsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.AssetCreateOrConnectWithoutGenerationsInput upsert?: Prisma.AssetUpsertWithoutGenerationsInput connect?: Prisma.AssetWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.AssetUpdateToOneWithWhereWithoutGenerationsInput, - Prisma.AssetUpdateWithoutGenerationsInput - >, - Prisma.AssetUncheckedUpdateWithoutGenerationsInput - > + update?: Prisma.XOR, Prisma.AssetUncheckedUpdateWithoutGenerationsInput> } export type AssetCreateWithoutCharactersInput = { @@ -462,30 +427,18 @@ export type AssetUncheckedCreateWithoutCharactersInput = { export type AssetCreateOrConnectWithoutCharactersInput = { where: Prisma.AssetWhereUniqueInput - create: Prisma.XOR< - Prisma.AssetCreateWithoutCharactersInput, - Prisma.AssetUncheckedCreateWithoutCharactersInput - > + create: Prisma.XOR } export type AssetUpsertWithoutCharactersInput = { - update: Prisma.XOR< - Prisma.AssetUpdateWithoutCharactersInput, - Prisma.AssetUncheckedUpdateWithoutCharactersInput - > - create: Prisma.XOR< - Prisma.AssetCreateWithoutCharactersInput, - Prisma.AssetUncheckedCreateWithoutCharactersInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.AssetWhereInput } export type AssetUpdateToOneWithWhereWithoutCharactersInput = { where?: Prisma.AssetWhereInput - data: Prisma.XOR< - Prisma.AssetUpdateWithoutCharactersInput, - Prisma.AssetUncheckedUpdateWithoutCharactersInput - > + data: Prisma.XOR } export type AssetUpdateWithoutCharactersInput = { @@ -534,30 +487,18 @@ export type AssetUncheckedCreateWithoutEquipmentsInput = { export type AssetCreateOrConnectWithoutEquipmentsInput = { where: Prisma.AssetWhereUniqueInput - create: Prisma.XOR< - Prisma.AssetCreateWithoutEquipmentsInput, - Prisma.AssetUncheckedCreateWithoutEquipmentsInput - > + create: Prisma.XOR } export type AssetUpsertWithoutEquipmentsInput = { - update: Prisma.XOR< - Prisma.AssetUpdateWithoutEquipmentsInput, - Prisma.AssetUncheckedUpdateWithoutEquipmentsInput - > - create: Prisma.XOR< - Prisma.AssetCreateWithoutEquipmentsInput, - Prisma.AssetUncheckedCreateWithoutEquipmentsInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.AssetWhereInput } export type AssetUpdateToOneWithWhereWithoutEquipmentsInput = { where?: Prisma.AssetWhereInput - data: Prisma.XOR< - Prisma.AssetUpdateWithoutEquipmentsInput, - Prisma.AssetUncheckedUpdateWithoutEquipmentsInput - > + data: Prisma.XOR } export type AssetUpdateWithoutEquipmentsInput = { @@ -606,30 +547,18 @@ export type AssetUncheckedCreateWithoutGenerationsInput = { export type AssetCreateOrConnectWithoutGenerationsInput = { where: Prisma.AssetWhereUniqueInput - create: Prisma.XOR< - Prisma.AssetCreateWithoutGenerationsInput, - Prisma.AssetUncheckedCreateWithoutGenerationsInput - > + create: Prisma.XOR } export type AssetUpsertWithoutGenerationsInput = { - update: Prisma.XOR< - Prisma.AssetUpdateWithoutGenerationsInput, - Prisma.AssetUncheckedUpdateWithoutGenerationsInput - > - create: Prisma.XOR< - Prisma.AssetCreateWithoutGenerationsInput, - Prisma.AssetUncheckedCreateWithoutGenerationsInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.AssetWhereInput } export type AssetUpdateToOneWithWhereWithoutGenerationsInput = { where?: Prisma.AssetWhereInput - data: Prisma.XOR< - Prisma.AssetUpdateWithoutGenerationsInput, - Prisma.AssetUncheckedUpdateWithoutGenerationsInput - > + data: Prisma.XOR } export type AssetUpdateWithoutGenerationsInput = { @@ -654,6 +583,7 @@ export type AssetUncheckedUpdateWithoutGenerationsInput = { equipments?: Prisma.EquipmentUncheckedUpdateManyWithoutImageNestedInput } + /** * Count Type AssetCountOutputType */ @@ -664,9 +594,7 @@ export type AssetCountOutputType = { generations: number } -export type AssetCountOutputTypeSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCountOutputTypeSelect = { characters?: boolean | AssetCountOutputTypeCountCharactersArgs equipments?: boolean | AssetCountOutputTypeCountEquipmentsArgs generations?: boolean | AssetCountOutputTypeCountGenerationsArgs @@ -675,9 +603,7 @@ export type AssetCountOutputTypeSelect< /** * AssetCountOutputType without action */ -export type AssetCountOutputTypeDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the AssetCountOutputType */ @@ -687,75 +613,55 @@ export type AssetCountOutputTypeDefaultArgs< /** * AssetCountOutputType without action */ -export type AssetCountOutputTypeCountCharactersArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCountOutputTypeCountCharactersArgs = { where?: Prisma.CharacterWhereInput } /** * AssetCountOutputType without action */ -export type AssetCountOutputTypeCountEquipmentsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCountOutputTypeCountEquipmentsArgs = { where?: Prisma.EquipmentWhereInput } /** * AssetCountOutputType without action */ -export type AssetCountOutputTypeCountGenerationsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCountOutputTypeCountGenerationsArgs = { where?: Prisma.GenerationWhereInput } -export type AssetSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - type?: boolean - path?: boolean - createdAt?: boolean - updatedAt?: boolean - characters?: boolean | Prisma.Asset$charactersArgs - equipments?: boolean | Prisma.Asset$equipmentsArgs - generations?: boolean | Prisma.Asset$generationsArgs - _count?: boolean | Prisma.AssetCountOutputTypeDefaultArgs - }, - ExtArgs['result']['asset'] -> -export type AssetSelectCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - type?: boolean - path?: boolean - createdAt?: boolean - updatedAt?: boolean - }, - ExtArgs['result']['asset'] -> +export type AssetSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + type?: boolean + path?: boolean + createdAt?: boolean + updatedAt?: boolean + characters?: boolean | Prisma.Asset$charactersArgs + equipments?: boolean | Prisma.Asset$equipmentsArgs + generations?: boolean | Prisma.Asset$generationsArgs + _count?: boolean | Prisma.AssetCountOutputTypeDefaultArgs +}, ExtArgs["result"]["asset"]> -export type AssetSelectUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - type?: boolean - path?: boolean - createdAt?: boolean - updatedAt?: boolean - }, - ExtArgs['result']['asset'] -> +export type AssetSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + type?: boolean + path?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["asset"]> + +export type AssetSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + type?: boolean + path?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["asset"]> export type AssetSelectScalar = { id?: boolean @@ -766,64 +672,43 @@ export type AssetSelectScalar = { updatedAt?: boolean } -export type AssetOmit< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetOmit< - 'id' | 'name' | 'type' | 'path' | 'createdAt' | 'updatedAt', - ExtArgs['result']['asset'] -> -export type AssetInclude< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "type" | "path" | "createdAt" | "updatedAt", ExtArgs["result"]["asset"]> +export type AssetInclude = { characters?: boolean | Prisma.Asset$charactersArgs equipments?: boolean | Prisma.Asset$equipmentsArgs generations?: boolean | Prisma.Asset$generationsArgs _count?: boolean | Prisma.AssetCountOutputTypeDefaultArgs } -export type AssetIncludeCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = {} -export type AssetIncludeUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = {} +export type AssetIncludeCreateManyAndReturn = {} +export type AssetIncludeUpdateManyAndReturn = {} -export type $AssetPayload< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { - name: 'Asset' +export type $AssetPayload = { + name: "Asset" objects: { characters: Prisma.$CharacterPayload[] equipments: Prisma.$EquipmentPayload[] generations: Prisma.$GenerationPayload[] } - scalars: runtime.Types.Extensions.GetPayloadResult< - { - id: string - name: string - type: string - path: string - createdAt: Date - updatedAt: Date - }, - ExtArgs['result']['asset'] - > + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + type: string + path: string + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["asset"]> composites: {} } -export type AssetGetPayload = - runtime.Types.Result.GetResult +export type AssetGetPayload = runtime.Types.Result.GetResult -export type AssetCountArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = Omit & { - select?: AssetCountAggregateInputType | true -} +export type AssetCountArgs = + Omit & { + select?: AssetCountAggregateInputType | true + } -export interface AssetDelegate< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> { - [K: symbol]: { types: Prisma.TypeMap['model']['Asset']; meta: { name: 'Asset' } } +export interface AssetDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Asset'], meta: { name: 'Asset' } } /** * Find zero or one Asset that matches the filter. * @param {AssetFindUniqueArgs} args - Arguments to find a Asset @@ -835,19 +720,7 @@ export interface AssetDelegate< * } * }) */ - findUnique( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findUnique', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Asset that matches the filter or throw an error with `error.code='P2025'` @@ -861,19 +734,7 @@ export interface AssetDelegate< * } * }) */ - findUniqueOrThrow( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Asset that matches the filter. @@ -888,19 +749,7 @@ export interface AssetDelegate< * } * }) */ - findFirst( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findFirst', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Asset that matches the filter or @@ -916,19 +765,7 @@ export interface AssetDelegate< * } * }) */ - findFirstOrThrow( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findFirstOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Assets that matches the filter. @@ -946,11 +783,7 @@ export interface AssetDelegate< * const assetWithIdOnly = await prisma.asset.findMany({ select: { id: true } }) * */ - findMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult, T, 'findMany', GlobalOmitOptions> - > + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a Asset. @@ -964,14 +797,7 @@ export interface AssetDelegate< * }) * */ - create( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult, T, 'create', GlobalOmitOptions>, - never, - ExtArgs, - GlobalOmitOptions - > + create(args: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Assets. @@ -985,9 +811,7 @@ export interface AssetDelegate< * }) * */ - createMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many Assets and returns the data saved in the database. @@ -1011,16 +835,7 @@ export interface AssetDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'createManyAndReturn', - GlobalOmitOptions - > - > + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Asset. @@ -1034,14 +849,7 @@ export interface AssetDelegate< * }) * */ - delete( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult, T, 'delete', GlobalOmitOptions>, - never, - ExtArgs, - GlobalOmitOptions - > + delete(args: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Asset. @@ -1058,14 +866,7 @@ export interface AssetDelegate< * }) * */ - update( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult, T, 'update', GlobalOmitOptions>, - never, - ExtArgs, - GlobalOmitOptions - > + update(args: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Assets. @@ -1079,9 +880,7 @@ export interface AssetDelegate< * }) * */ - deleteMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Assets. @@ -1100,9 +899,7 @@ export interface AssetDelegate< * }) * */ - updateMany( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Assets and returns the data updated in the database. @@ -1132,16 +929,7 @@ export interface AssetDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'updateManyAndReturn', - GlobalOmitOptions - > - > + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Asset. @@ -1160,14 +948,8 @@ export interface AssetDelegate< * } * }) */ - upsert( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__AssetClient< - runtime.Types.Result.GetResult, T, 'upsert', GlobalOmitOptions>, - never, - ExtArgs, - GlobalOmitOptions - > + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__AssetClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + /** * Count the number of Assets. @@ -1181,7 +963,7 @@ export interface AssetDelegate< * // ... the filter for the Assets we want to count * } * }) - **/ + **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< @@ -1215,10 +997,8 @@ export interface AssetDelegate< * }, * take: 10, * }) - **/ - aggregate( - args: Prisma.Subset, - ): Prisma.PrismaPromise> + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by Asset. @@ -1237,7 +1017,7 @@ export interface AssetDelegate< * }, * }) * - **/ + **/ groupBy< T extends AssetGroupByArgs, HasSelectOrTake extends Prisma.Or< @@ -1247,58 +1027,59 @@ export interface AssetDelegate< OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: AssetGroupByArgs['orderBy'] } : { orderBy?: AssetGroupByArgs['orderBy'] }, - OrderFields extends Prisma.ExcludeUnderscoreKeys< - Prisma.Keys> - >, + 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 + ? `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 - : 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 ? GetAssetGroupByPayload : Prisma.PrismaPromise - /** - * Fields of the Asset model - */ - readonly fields: AssetFieldRefs + : `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 ? GetAssetGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Asset model + */ +readonly fields: AssetFieldRefs; } /** @@ -1307,64 +1088,24 @@ export interface AssetDelegate< * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ -export interface Prisma__AssetClient< - T, - Null = never, - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise' - characters = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > - equipments = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > - generations = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > +export interface Prisma__AssetClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + characters = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + equipments = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + generations = {}>(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. * @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 + 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 + 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. @@ -1374,25 +1115,27 @@ export interface Prisma__AssetClient< finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } + + + /** * Fields of the Asset model */ export interface AssetFieldRefs { - readonly id: Prisma.FieldRef<'Asset', 'String'> - readonly name: Prisma.FieldRef<'Asset', 'String'> - readonly type: Prisma.FieldRef<'Asset', 'String'> - readonly path: Prisma.FieldRef<'Asset', 'String'> - readonly createdAt: Prisma.FieldRef<'Asset', 'DateTime'> - readonly updatedAt: Prisma.FieldRef<'Asset', 'DateTime'> + readonly id: Prisma.FieldRef<"Asset", 'String'> + readonly name: Prisma.FieldRef<"Asset", 'String'> + readonly type: Prisma.FieldRef<"Asset", 'String'> + readonly path: Prisma.FieldRef<"Asset", 'String'> + readonly createdAt: Prisma.FieldRef<"Asset", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Asset", 'DateTime'> } + // Custom InputTypes /** * Asset findUnique */ -export type AssetFindUniqueArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetFindUniqueArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1414,9 +1157,7 @@ export type AssetFindUniqueArgs< /** * Asset findUniqueOrThrow */ -export type AssetFindUniqueOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1438,9 +1179,7 @@ export type AssetFindUniqueOrThrowArgs< /** * Asset findFirst */ -export type AssetFindFirstArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetFindFirstArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1492,9 +1231,7 @@ export type AssetFindFirstArgs< /** * Asset findFirstOrThrow */ -export type AssetFindFirstOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1546,9 +1283,7 @@ export type AssetFindFirstOrThrowArgs< /** * Asset findMany */ -export type AssetFindManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetFindManyArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1595,9 +1330,7 @@ export type AssetFindManyArgs< /** * Asset create */ -export type AssetCreateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCreateArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1619,9 +1352,7 @@ export type AssetCreateArgs< /** * Asset createMany */ -export type AssetCreateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCreateManyArgs = { /** * The data used to create many Assets. */ @@ -1631,9 +1362,7 @@ export type AssetCreateManyArgs< /** * Asset createManyAndReturn */ -export type AssetCreateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1651,9 +1380,7 @@ export type AssetCreateManyAndReturnArgs< /** * Asset update */ -export type AssetUpdateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetUpdateArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1679,9 +1406,7 @@ export type AssetUpdateArgs< /** * Asset updateMany */ -export type AssetUpdateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetUpdateManyArgs = { /** * The data used to update Assets. */ @@ -1699,9 +1424,7 @@ export type AssetUpdateManyArgs< /** * Asset updateManyAndReturn */ -export type AssetUpdateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1727,9 +1450,7 @@ export type AssetUpdateManyAndReturnArgs< /** * Asset upsert */ -export type AssetUpsertArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetUpsertArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1759,9 +1480,7 @@ export type AssetUpsertArgs< /** * Asset delete */ -export type AssetDeleteArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetDeleteArgs = { /** * Select specific fields to fetch from the Asset */ @@ -1783,9 +1502,7 @@ export type AssetDeleteArgs< /** * Asset deleteMany */ -export type AssetDeleteManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetDeleteManyArgs = { /** * Filter which Assets to delete */ @@ -1799,9 +1516,7 @@ export type AssetDeleteManyArgs< /** * Asset.characters */ -export type Asset$charactersArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Asset$charactersArgs = { /** * Select specific fields to fetch from the Character */ @@ -1825,9 +1540,7 @@ export type Asset$charactersArgs< /** * Asset.equipments */ -export type Asset$equipmentsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Asset$equipmentsArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -1851,9 +1564,7 @@ export type Asset$equipmentsArgs< /** * Asset.generations */ -export type Asset$generationsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Asset$generationsArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1877,9 +1588,7 @@ export type Asset$generationsArgs< /** * Asset without action */ -export type AssetDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type AssetDefaultArgs = { /** * Select specific fields to fetch from the Asset */ diff --git a/src/generated/prisma/models/Category.ts b/src/generated/prisma/models/Category.ts index 8c103fd..a26a7c5 100644 --- a/src/generated/prisma/models/Category.ts +++ b/src/generated/prisma/models/Category.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -7,9 +8,9 @@ * * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import type * as $Enums from '../enums.js' -import type * as Prisma from '../internal/prismaNamespace.js' +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 Category @@ -48,6 +49,7 @@ export type CategoryCountAggregateOutputType = { _all: number } + export type CategoryMinAggregateInputType = { id?: true name?: true @@ -73,9 +75,7 @@ export type CategoryCountAggregateInputType = { _all?: true } -export type CategoryAggregateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryAggregateArgs = { /** * Filter which Category to aggregate. */ @@ -108,37 +108,36 @@ export type CategoryAggregateArgs< * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Categories - **/ + **/ _count?: true | CategoryCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value - **/ + **/ _min?: CategoryMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value - **/ + **/ _max?: CategoryMaxAggregateInputType } export type GetCategoryAggregateType = { - [P in keyof T & keyof AggregateCategory]: P extends '_count' | 'count' + [P in keyof T & keyof AggregateCategory]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } -export type CategoryGroupByArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { + + + +export type CategoryGroupByArgs = { where?: Prisma.CategoryWhereInput - orderBy?: - | Prisma.CategoryOrderByWithAggregationInput - | Prisma.CategoryOrderByWithAggregationInput[] + orderBy?: Prisma.CategoryOrderByWithAggregationInput | Prisma.CategoryOrderByWithAggregationInput[] by: Prisma.CategoryScalarFieldEnum[] | Prisma.CategoryScalarFieldEnum having?: Prisma.CategoryScalarWhereWithAggregatesInput take?: number @@ -161,25 +160,28 @@ export type CategoryGroupByOutputType = { type GetCategoryGroupByPayload = Prisma.PrismaPromise< Array< - Prisma.PickEnumerable & { - [P in keyof T & keyof CategoryGroupByOutputType]: P extends '_count' - ? T[P] extends boolean - ? number + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof CategoryGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType : Prisma.GetScalarType - : Prisma.GetScalarType - } + } + > > -> + + export type CategoryWhereInput = { AND?: Prisma.CategoryWhereInput | Prisma.CategoryWhereInput[] OR?: Prisma.CategoryWhereInput[] NOT?: Prisma.CategoryWhereInput | Prisma.CategoryWhereInput[] - id?: Prisma.StringFilter<'Category'> | string - name?: Prisma.StringFilter<'Category'> | string - parentId?: Prisma.StringNullableFilter<'Category'> | string | null - createdAt?: Prisma.DateTimeFilter<'Category'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Category'> | Date | string + id?: Prisma.StringFilter<"Category"> | string + name?: Prisma.StringFilter<"Category"> | string + parentId?: Prisma.StringNullableFilter<"Category"> | string | null + createdAt?: Prisma.DateTimeFilter<"Category"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Category"> | Date | string parent?: Prisma.XOR | null subCategories?: Prisma.CategoryListRelationFilter equipmentsAsMain?: Prisma.EquipmentListRelationFilter @@ -198,26 +200,20 @@ export type CategoryOrderByWithRelationInput = { equipmentsAsSub?: Prisma.EquipmentOrderByRelationAggregateInput } -export type CategoryWhereUniqueInput = Prisma.AtLeast< - { - id?: string - AND?: Prisma.CategoryWhereInput | Prisma.CategoryWhereInput[] - OR?: Prisma.CategoryWhereInput[] - NOT?: Prisma.CategoryWhereInput | Prisma.CategoryWhereInput[] - name?: Prisma.StringFilter<'Category'> | string - parentId?: Prisma.StringNullableFilter<'Category'> | string | null - createdAt?: Prisma.DateTimeFilter<'Category'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Category'> | Date | string - parent?: Prisma.XOR< - Prisma.CategoryNullableScalarRelationFilter, - Prisma.CategoryWhereInput - > | null - subCategories?: Prisma.CategoryListRelationFilter - equipmentsAsMain?: Prisma.EquipmentListRelationFilter - equipmentsAsSub?: Prisma.EquipmentListRelationFilter - }, - 'id' -> +export type CategoryWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.CategoryWhereInput | Prisma.CategoryWhereInput[] + OR?: Prisma.CategoryWhereInput[] + NOT?: Prisma.CategoryWhereInput | Prisma.CategoryWhereInput[] + name?: Prisma.StringFilter<"Category"> | string + parentId?: Prisma.StringNullableFilter<"Category"> | string | null + createdAt?: Prisma.DateTimeFilter<"Category"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Category"> | Date | string + parent?: Prisma.XOR | null + subCategories?: Prisma.CategoryListRelationFilter + equipmentsAsMain?: Prisma.EquipmentListRelationFilter + equipmentsAsSub?: Prisma.EquipmentListRelationFilter +}, "id"> export type CategoryOrderByWithAggregationInput = { id?: Prisma.SortOrder @@ -231,18 +227,14 @@ export type CategoryOrderByWithAggregationInput = { } export type CategoryScalarWhereWithAggregatesInput = { - AND?: - | Prisma.CategoryScalarWhereWithAggregatesInput - | Prisma.CategoryScalarWhereWithAggregatesInput[] + AND?: Prisma.CategoryScalarWhereWithAggregatesInput | Prisma.CategoryScalarWhereWithAggregatesInput[] OR?: Prisma.CategoryScalarWhereWithAggregatesInput[] - NOT?: - | Prisma.CategoryScalarWhereWithAggregatesInput - | Prisma.CategoryScalarWhereWithAggregatesInput[] - id?: Prisma.StringWithAggregatesFilter<'Category'> | string - name?: Prisma.StringWithAggregatesFilter<'Category'> | string - parentId?: Prisma.StringNullableWithAggregatesFilter<'Category'> | string | null - createdAt?: Prisma.DateTimeWithAggregatesFilter<'Category'> | Date | string - updatedAt?: Prisma.DateTimeWithAggregatesFilter<'Category'> | Date | string + NOT?: Prisma.CategoryScalarWhereWithAggregatesInput | Prisma.CategoryScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Category"> | string + name?: Prisma.StringWithAggregatesFilter<"Category"> | string + parentId?: Prisma.StringNullableWithAggregatesFilter<"Category"> | string | null + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Category"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Category"> | Date | string } export type CategoryCreateInput = { @@ -357,171 +349,91 @@ export type CategoryScalarRelationFilter = { } export type CategoryCreateNestedOneWithoutSubCategoriesInput = { - create?: Prisma.XOR< - Prisma.CategoryCreateWithoutSubCategoriesInput, - Prisma.CategoryUncheckedCreateWithoutSubCategoriesInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutSubCategoriesInput connect?: Prisma.CategoryWhereUniqueInput } export type CategoryCreateNestedManyWithoutParentInput = { - create?: - | Prisma.XOR< - Prisma.CategoryCreateWithoutParentInput, - Prisma.CategoryUncheckedCreateWithoutParentInput - > - | Prisma.CategoryCreateWithoutParentInput[] - | Prisma.CategoryUncheckedCreateWithoutParentInput[] - connectOrCreate?: - | Prisma.CategoryCreateOrConnectWithoutParentInput - | Prisma.CategoryCreateOrConnectWithoutParentInput[] + create?: Prisma.XOR | Prisma.CategoryCreateWithoutParentInput[] | Prisma.CategoryUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutParentInput | Prisma.CategoryCreateOrConnectWithoutParentInput[] createMany?: Prisma.CategoryCreateManyParentInputEnvelope connect?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] } export type CategoryUncheckedCreateNestedManyWithoutParentInput = { - create?: - | Prisma.XOR< - Prisma.CategoryCreateWithoutParentInput, - Prisma.CategoryUncheckedCreateWithoutParentInput - > - | Prisma.CategoryCreateWithoutParentInput[] - | Prisma.CategoryUncheckedCreateWithoutParentInput[] - connectOrCreate?: - | Prisma.CategoryCreateOrConnectWithoutParentInput - | Prisma.CategoryCreateOrConnectWithoutParentInput[] + create?: Prisma.XOR | Prisma.CategoryCreateWithoutParentInput[] | Prisma.CategoryUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutParentInput | Prisma.CategoryCreateOrConnectWithoutParentInput[] createMany?: Prisma.CategoryCreateManyParentInputEnvelope connect?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] } export type CategoryUpdateOneWithoutSubCategoriesNestedInput = { - create?: Prisma.XOR< - Prisma.CategoryCreateWithoutSubCategoriesInput, - Prisma.CategoryUncheckedCreateWithoutSubCategoriesInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutSubCategoriesInput upsert?: Prisma.CategoryUpsertWithoutSubCategoriesInput disconnect?: Prisma.CategoryWhereInput | boolean delete?: Prisma.CategoryWhereInput | boolean connect?: Prisma.CategoryWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.CategoryUpdateToOneWithWhereWithoutSubCategoriesInput, - Prisma.CategoryUpdateWithoutSubCategoriesInput - >, - Prisma.CategoryUncheckedUpdateWithoutSubCategoriesInput - > + update?: Prisma.XOR, Prisma.CategoryUncheckedUpdateWithoutSubCategoriesInput> } export type CategoryUpdateManyWithoutParentNestedInput = { - create?: - | Prisma.XOR< - Prisma.CategoryCreateWithoutParentInput, - Prisma.CategoryUncheckedCreateWithoutParentInput - > - | Prisma.CategoryCreateWithoutParentInput[] - | Prisma.CategoryUncheckedCreateWithoutParentInput[] - connectOrCreate?: - | Prisma.CategoryCreateOrConnectWithoutParentInput - | Prisma.CategoryCreateOrConnectWithoutParentInput[] - upsert?: - | Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput - | Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput[] + create?: Prisma.XOR | Prisma.CategoryCreateWithoutParentInput[] | Prisma.CategoryUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutParentInput | Prisma.CategoryCreateOrConnectWithoutParentInput[] + upsert?: Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput | Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput[] createMany?: Prisma.CategoryCreateManyParentInputEnvelope set?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] disconnect?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] delete?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] connect?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] - update?: - | Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput - | Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput[] - updateMany?: - | Prisma.CategoryUpdateManyWithWhereWithoutParentInput - | Prisma.CategoryUpdateManyWithWhereWithoutParentInput[] + update?: Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput | Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput[] + updateMany?: Prisma.CategoryUpdateManyWithWhereWithoutParentInput | Prisma.CategoryUpdateManyWithWhereWithoutParentInput[] deleteMany?: Prisma.CategoryScalarWhereInput | Prisma.CategoryScalarWhereInput[] } export type CategoryUncheckedUpdateManyWithoutParentNestedInput = { - create?: - | Prisma.XOR< - Prisma.CategoryCreateWithoutParentInput, - Prisma.CategoryUncheckedCreateWithoutParentInput - > - | Prisma.CategoryCreateWithoutParentInput[] - | Prisma.CategoryUncheckedCreateWithoutParentInput[] - connectOrCreate?: - | Prisma.CategoryCreateOrConnectWithoutParentInput - | Prisma.CategoryCreateOrConnectWithoutParentInput[] - upsert?: - | Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput - | Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput[] + create?: Prisma.XOR | Prisma.CategoryCreateWithoutParentInput[] | Prisma.CategoryUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutParentInput | Prisma.CategoryCreateOrConnectWithoutParentInput[] + upsert?: Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput | Prisma.CategoryUpsertWithWhereUniqueWithoutParentInput[] createMany?: Prisma.CategoryCreateManyParentInputEnvelope set?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] disconnect?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] delete?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] connect?: Prisma.CategoryWhereUniqueInput | Prisma.CategoryWhereUniqueInput[] - update?: - | Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput - | Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput[] - updateMany?: - | Prisma.CategoryUpdateManyWithWhereWithoutParentInput - | Prisma.CategoryUpdateManyWithWhereWithoutParentInput[] + update?: Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput | Prisma.CategoryUpdateWithWhereUniqueWithoutParentInput[] + updateMany?: Prisma.CategoryUpdateManyWithWhereWithoutParentInput | Prisma.CategoryUpdateManyWithWhereWithoutParentInput[] deleteMany?: Prisma.CategoryScalarWhereInput | Prisma.CategoryScalarWhereInput[] } export type CategoryCreateNestedOneWithoutEquipmentsAsMainInput = { - create?: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsMainInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsMainInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutEquipmentsAsMainInput connect?: Prisma.CategoryWhereUniqueInput } export type CategoryCreateNestedOneWithoutEquipmentsAsSubInput = { - create?: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsSubInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsSubInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutEquipmentsAsSubInput connect?: Prisma.CategoryWhereUniqueInput } export type CategoryUpdateOneRequiredWithoutEquipmentsAsMainNestedInput = { - create?: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsMainInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsMainInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutEquipmentsAsMainInput upsert?: Prisma.CategoryUpsertWithoutEquipmentsAsMainInput connect?: Prisma.CategoryWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.CategoryUpdateToOneWithWhereWithoutEquipmentsAsMainInput, - Prisma.CategoryUpdateWithoutEquipmentsAsMainInput - >, - Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsMainInput - > + update?: Prisma.XOR, Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsMainInput> } export type CategoryUpdateOneWithoutEquipmentsAsSubNestedInput = { - create?: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsSubInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsSubInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CategoryCreateOrConnectWithoutEquipmentsAsSubInput upsert?: Prisma.CategoryUpsertWithoutEquipmentsAsSubInput disconnect?: Prisma.CategoryWhereInput | boolean delete?: Prisma.CategoryWhereInput | boolean connect?: Prisma.CategoryWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.CategoryUpdateToOneWithWhereWithoutEquipmentsAsSubInput, - Prisma.CategoryUpdateWithoutEquipmentsAsSubInput - >, - Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsSubInput - > + update?: Prisma.XOR, Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsSubInput> } export type CategoryCreateWithoutSubCategoriesInput = { @@ -546,10 +458,7 @@ export type CategoryUncheckedCreateWithoutSubCategoriesInput = { export type CategoryCreateOrConnectWithoutSubCategoriesInput = { where: Prisma.CategoryWhereUniqueInput - create: Prisma.XOR< - Prisma.CategoryCreateWithoutSubCategoriesInput, - Prisma.CategoryUncheckedCreateWithoutSubCategoriesInput - > + create: Prisma.XOR } export type CategoryCreateWithoutParentInput = { @@ -574,10 +483,7 @@ export type CategoryUncheckedCreateWithoutParentInput = { export type CategoryCreateOrConnectWithoutParentInput = { where: Prisma.CategoryWhereUniqueInput - create: Prisma.XOR< - Prisma.CategoryCreateWithoutParentInput, - Prisma.CategoryUncheckedCreateWithoutParentInput - > + create: Prisma.XOR } export type CategoryCreateManyParentInputEnvelope = { @@ -585,23 +491,14 @@ export type CategoryCreateManyParentInputEnvelope = { } export type CategoryUpsertWithoutSubCategoriesInput = { - update: Prisma.XOR< - Prisma.CategoryUpdateWithoutSubCategoriesInput, - Prisma.CategoryUncheckedUpdateWithoutSubCategoriesInput - > - create: Prisma.XOR< - Prisma.CategoryCreateWithoutSubCategoriesInput, - Prisma.CategoryUncheckedCreateWithoutSubCategoriesInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutSubCategoriesInput = { where?: Prisma.CategoryWhereInput - data: Prisma.XOR< - Prisma.CategoryUpdateWithoutSubCategoriesInput, - Prisma.CategoryUncheckedUpdateWithoutSubCategoriesInput - > + data: Prisma.XOR } export type CategoryUpdateWithoutSubCategoriesInput = { @@ -626,41 +523,29 @@ export type CategoryUncheckedUpdateWithoutSubCategoriesInput = { export type CategoryUpsertWithWhereUniqueWithoutParentInput = { where: Prisma.CategoryWhereUniqueInput - update: Prisma.XOR< - Prisma.CategoryUpdateWithoutParentInput, - Prisma.CategoryUncheckedUpdateWithoutParentInput - > - create: Prisma.XOR< - Prisma.CategoryCreateWithoutParentInput, - Prisma.CategoryUncheckedCreateWithoutParentInput - > + update: Prisma.XOR + create: Prisma.XOR } export type CategoryUpdateWithWhereUniqueWithoutParentInput = { where: Prisma.CategoryWhereUniqueInput - data: Prisma.XOR< - Prisma.CategoryUpdateWithoutParentInput, - Prisma.CategoryUncheckedUpdateWithoutParentInput - > + data: Prisma.XOR } export type CategoryUpdateManyWithWhereWithoutParentInput = { where: Prisma.CategoryScalarWhereInput - data: Prisma.XOR< - Prisma.CategoryUpdateManyMutationInput, - Prisma.CategoryUncheckedUpdateManyWithoutParentInput - > + data: Prisma.XOR } export type CategoryScalarWhereInput = { AND?: Prisma.CategoryScalarWhereInput | Prisma.CategoryScalarWhereInput[] OR?: Prisma.CategoryScalarWhereInput[] NOT?: Prisma.CategoryScalarWhereInput | Prisma.CategoryScalarWhereInput[] - id?: Prisma.StringFilter<'Category'> | string - name?: Prisma.StringFilter<'Category'> | string - parentId?: Prisma.StringNullableFilter<'Category'> | string | null - createdAt?: Prisma.DateTimeFilter<'Category'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Category'> | Date | string + id?: Prisma.StringFilter<"Category"> | string + name?: Prisma.StringFilter<"Category"> | string + parentId?: Prisma.StringNullableFilter<"Category"> | string | null + createdAt?: Prisma.DateTimeFilter<"Category"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Category"> | Date | string } export type CategoryCreateWithoutEquipmentsAsMainInput = { @@ -685,10 +570,7 @@ export type CategoryUncheckedCreateWithoutEquipmentsAsMainInput = { export type CategoryCreateOrConnectWithoutEquipmentsAsMainInput = { where: Prisma.CategoryWhereUniqueInput - create: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsMainInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsMainInput - > + create: Prisma.XOR } export type CategoryCreateWithoutEquipmentsAsSubInput = { @@ -713,30 +595,18 @@ export type CategoryUncheckedCreateWithoutEquipmentsAsSubInput = { export type CategoryCreateOrConnectWithoutEquipmentsAsSubInput = { where: Prisma.CategoryWhereUniqueInput - create: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsSubInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsSubInput - > + create: Prisma.XOR } export type CategoryUpsertWithoutEquipmentsAsMainInput = { - update: Prisma.XOR< - Prisma.CategoryUpdateWithoutEquipmentsAsMainInput, - Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsMainInput - > - create: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsMainInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsMainInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutEquipmentsAsMainInput = { where?: Prisma.CategoryWhereInput - data: Prisma.XOR< - Prisma.CategoryUpdateWithoutEquipmentsAsMainInput, - Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsMainInput - > + data: Prisma.XOR } export type CategoryUpdateWithoutEquipmentsAsMainInput = { @@ -760,23 +630,14 @@ export type CategoryUncheckedUpdateWithoutEquipmentsAsMainInput = { } export type CategoryUpsertWithoutEquipmentsAsSubInput = { - update: Prisma.XOR< - Prisma.CategoryUpdateWithoutEquipmentsAsSubInput, - Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsSubInput - > - create: Prisma.XOR< - Prisma.CategoryCreateWithoutEquipmentsAsSubInput, - Prisma.CategoryUncheckedCreateWithoutEquipmentsAsSubInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.CategoryWhereInput } export type CategoryUpdateToOneWithWhereWithoutEquipmentsAsSubInput = { where?: Prisma.CategoryWhereInput - data: Prisma.XOR< - Prisma.CategoryUpdateWithoutEquipmentsAsSubInput, - Prisma.CategoryUncheckedUpdateWithoutEquipmentsAsSubInput - > + data: Prisma.XOR } export type CategoryUpdateWithoutEquipmentsAsSubInput = { @@ -833,6 +694,7 @@ export type CategoryUncheckedUpdateManyWithoutParentInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } + /** * Count Type CategoryCountOutputType */ @@ -843,9 +705,7 @@ export type CategoryCountOutputType = { equipmentsAsSub: number } -export type CategoryCountOutputTypeSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCountOutputTypeSelect = { subCategories?: boolean | CategoryCountOutputTypeCountSubCategoriesArgs equipmentsAsMain?: boolean | CategoryCountOutputTypeCountEquipmentsAsMainArgs equipmentsAsSub?: boolean | CategoryCountOutputTypeCountEquipmentsAsSubArgs @@ -854,9 +714,7 @@ export type CategoryCountOutputTypeSelect< /** * CategoryCountOutputType without action */ -export type CategoryCountOutputTypeDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CategoryCountOutputType */ @@ -866,75 +724,55 @@ export type CategoryCountOutputTypeDefaultArgs< /** * CategoryCountOutputType without action */ -export type CategoryCountOutputTypeCountSubCategoriesArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCountOutputTypeCountSubCategoriesArgs = { where?: Prisma.CategoryWhereInput } /** * CategoryCountOutputType without action */ -export type CategoryCountOutputTypeCountEquipmentsAsMainArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCountOutputTypeCountEquipmentsAsMainArgs = { where?: Prisma.EquipmentWhereInput } /** * CategoryCountOutputType without action */ -export type CategoryCountOutputTypeCountEquipmentsAsSubArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCountOutputTypeCountEquipmentsAsSubArgs = { where?: Prisma.EquipmentWhereInput } -export type CategorySelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - parentId?: boolean - createdAt?: boolean - updatedAt?: boolean - parent?: boolean | Prisma.Category$parentArgs - subCategories?: boolean | Prisma.Category$subCategoriesArgs - equipmentsAsMain?: boolean | Prisma.Category$equipmentsAsMainArgs - equipmentsAsSub?: boolean | Prisma.Category$equipmentsAsSubArgs - _count?: boolean | Prisma.CategoryCountOutputTypeDefaultArgs - }, - ExtArgs['result']['category'] -> -export type CategorySelectCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - parentId?: boolean - createdAt?: boolean - updatedAt?: boolean - parent?: boolean | Prisma.Category$parentArgs - }, - ExtArgs['result']['category'] -> +export type CategorySelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + parentId?: boolean + createdAt?: boolean + updatedAt?: boolean + parent?: boolean | Prisma.Category$parentArgs + subCategories?: boolean | Prisma.Category$subCategoriesArgs + equipmentsAsMain?: boolean | Prisma.Category$equipmentsAsMainArgs + equipmentsAsSub?: boolean | Prisma.Category$equipmentsAsSubArgs + _count?: boolean | Prisma.CategoryCountOutputTypeDefaultArgs +}, ExtArgs["result"]["category"]> -export type CategorySelectUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - parentId?: boolean - createdAt?: boolean - updatedAt?: boolean - parent?: boolean | Prisma.Category$parentArgs - }, - ExtArgs['result']['category'] -> +export type CategorySelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + parentId?: boolean + createdAt?: boolean + updatedAt?: boolean + parent?: boolean | Prisma.Category$parentArgs +}, ExtArgs["result"]["category"]> + +export type CategorySelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + parentId?: boolean + createdAt?: boolean + updatedAt?: boolean + parent?: boolean | Prisma.Category$parentArgs +}, ExtArgs["result"]["category"]> export type CategorySelectScalar = { id?: boolean @@ -944,69 +782,48 @@ export type CategorySelectScalar = { updatedAt?: boolean } -export type CategoryOmit< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetOmit< - 'id' | 'name' | 'parentId' | 'createdAt' | 'updatedAt', - ExtArgs['result']['category'] -> -export type CategoryInclude< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "parentId" | "createdAt" | "updatedAt", ExtArgs["result"]["category"]> +export type CategoryInclude = { parent?: boolean | Prisma.Category$parentArgs subCategories?: boolean | Prisma.Category$subCategoriesArgs equipmentsAsMain?: boolean | Prisma.Category$equipmentsAsMainArgs equipmentsAsSub?: boolean | Prisma.Category$equipmentsAsSubArgs _count?: boolean | Prisma.CategoryCountOutputTypeDefaultArgs } -export type CategoryIncludeCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryIncludeCreateManyAndReturn = { parent?: boolean | Prisma.Category$parentArgs } -export type CategoryIncludeUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryIncludeUpdateManyAndReturn = { parent?: boolean | Prisma.Category$parentArgs } -export type $CategoryPayload< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { - name: 'Category' +export type $CategoryPayload = { + name: "Category" objects: { parent: Prisma.$CategoryPayload | null subCategories: Prisma.$CategoryPayload[] equipmentsAsMain: Prisma.$EquipmentPayload[] equipmentsAsSub: Prisma.$EquipmentPayload[] } - scalars: runtime.Types.Extensions.GetPayloadResult< - { - id: string - name: string - parentId: string | null - createdAt: Date - updatedAt: Date - }, - ExtArgs['result']['category'] - > + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + parentId: string | null + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["category"]> composites: {} } -export type CategoryGetPayload = - runtime.Types.Result.GetResult +export type CategoryGetPayload = runtime.Types.Result.GetResult -export type CategoryCountArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = Omit & { - select?: CategoryCountAggregateInputType | true -} +export type CategoryCountArgs = + Omit & { + select?: CategoryCountAggregateInputType | true + } -export interface CategoryDelegate< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> { - [K: symbol]: { types: Prisma.TypeMap['model']['Category']; meta: { name: 'Category' } } +export interface CategoryDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Category'], meta: { name: 'Category' } } /** * Find zero or one Category that matches the filter. * @param {CategoryFindUniqueArgs} args - Arguments to find a Category @@ -1018,19 +835,7 @@ export interface CategoryDelegate< * } * }) */ - findUnique( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findUnique', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Category that matches the filter or throw an error with `error.code='P2025'` @@ -1044,19 +849,7 @@ export interface CategoryDelegate< * } * }) */ - findUniqueOrThrow( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Category that matches the filter. @@ -1071,19 +864,7 @@ export interface CategoryDelegate< * } * }) */ - findFirst( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findFirst', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Category that matches the filter or @@ -1099,19 +880,7 @@ export interface CategoryDelegate< * } * }) */ - findFirstOrThrow( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findFirstOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Categories that matches the filter. @@ -1129,16 +898,7 @@ export interface CategoryDelegate< * const categoryWithIdOnly = await prisma.category.findMany({ select: { id: true } }) * */ - findMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findMany', - GlobalOmitOptions - > - > + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a Category. @@ -1152,19 +912,7 @@ export interface CategoryDelegate< * }) * */ - create( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'create', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + create(args: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Categories. @@ -1178,9 +926,7 @@ export interface CategoryDelegate< * }) * */ - createMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many Categories and returns the data saved in the database. @@ -1204,16 +950,7 @@ export interface CategoryDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'createManyAndReturn', - GlobalOmitOptions - > - > + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Category. @@ -1227,19 +964,7 @@ export interface CategoryDelegate< * }) * */ - delete( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'delete', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + delete(args: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Category. @@ -1256,19 +981,7 @@ export interface CategoryDelegate< * }) * */ - update( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'update', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + update(args: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Categories. @@ -1282,9 +995,7 @@ export interface CategoryDelegate< * }) * */ - deleteMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Categories. @@ -1303,9 +1014,7 @@ export interface CategoryDelegate< * }) * */ - updateMany( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Categories and returns the data updated in the database. @@ -1335,16 +1044,7 @@ export interface CategoryDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'updateManyAndReturn', - GlobalOmitOptions - > - > + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Category. @@ -1363,19 +1063,8 @@ export interface CategoryDelegate< * } * }) */ - upsert( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'upsert', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__CategoryClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + /** * Count the number of Categories. @@ -1389,7 +1078,7 @@ export interface CategoryDelegate< * // ... the filter for the Categories we want to count * } * }) - **/ + **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< @@ -1423,10 +1112,8 @@ export interface CategoryDelegate< * }, * take: 10, * }) - **/ - aggregate( - args: Prisma.Subset, - ): Prisma.PrismaPromise> + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by Category. @@ -1445,7 +1132,7 @@ export interface CategoryDelegate< * }, * }) * - **/ + **/ groupBy< T extends CategoryGroupByArgs, HasSelectOrTake extends Prisma.Or< @@ -1455,58 +1142,59 @@ export interface CategoryDelegate< OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: CategoryGroupByArgs['orderBy'] } : { orderBy?: CategoryGroupByArgs['orderBy'] }, - OrderFields extends Prisma.ExcludeUnderscoreKeys< - Prisma.Keys> - >, + 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 + ? `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 - : 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 ? GetCategoryGroupByPayload : Prisma.PrismaPromise - /** - * Fields of the Category model - */ - readonly fields: CategoryFieldRefs + : `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 ? GetCategoryGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Category model + */ +readonly fields: CategoryFieldRefs; } /** @@ -1515,77 +1203,25 @@ export interface CategoryDelegate< * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ -export interface Prisma__CategoryClient< - T, - Null = never, - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise' - parent = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > - subCategories = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > - equipmentsAsMain = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > - equipmentsAsSub = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > +export interface Prisma__CategoryClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + parent = {}>(args?: Prisma.Subset>): Prisma.Prisma__CategoryClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + subCategories = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + equipmentsAsMain = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + equipmentsAsSub = {}>(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. * @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 + 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 + 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. @@ -1595,24 +1231,26 @@ export interface Prisma__CategoryClient< finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } + + + /** * Fields of the Category model */ export interface CategoryFieldRefs { - readonly id: Prisma.FieldRef<'Category', 'String'> - readonly name: Prisma.FieldRef<'Category', 'String'> - readonly parentId: Prisma.FieldRef<'Category', 'String'> - readonly createdAt: Prisma.FieldRef<'Category', 'DateTime'> - readonly updatedAt: Prisma.FieldRef<'Category', 'DateTime'> + readonly id: Prisma.FieldRef<"Category", 'String'> + readonly name: Prisma.FieldRef<"Category", 'String'> + readonly parentId: Prisma.FieldRef<"Category", 'String'> + readonly createdAt: Prisma.FieldRef<"Category", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Category", 'DateTime'> } + // Custom InputTypes /** * Category findUnique */ -export type CategoryFindUniqueArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryFindUniqueArgs = { /** * Select specific fields to fetch from the Category */ @@ -1634,9 +1272,7 @@ export type CategoryFindUniqueArgs< /** * Category findUniqueOrThrow */ -export type CategoryFindUniqueOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Category */ @@ -1658,9 +1294,7 @@ export type CategoryFindUniqueOrThrowArgs< /** * Category findFirst */ -export type CategoryFindFirstArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryFindFirstArgs = { /** * Select specific fields to fetch from the Category */ @@ -1712,9 +1346,7 @@ export type CategoryFindFirstArgs< /** * Category findFirstOrThrow */ -export type CategoryFindFirstOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Category */ @@ -1766,9 +1398,7 @@ export type CategoryFindFirstOrThrowArgs< /** * Category findMany */ -export type CategoryFindManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryFindManyArgs = { /** * Select specific fields to fetch from the Category */ @@ -1815,9 +1445,7 @@ export type CategoryFindManyArgs< /** * Category create */ -export type CategoryCreateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCreateArgs = { /** * Select specific fields to fetch from the Category */ @@ -1839,9 +1467,7 @@ export type CategoryCreateArgs< /** * Category createMany */ -export type CategoryCreateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCreateManyArgs = { /** * The data used to create many Categories. */ @@ -1851,9 +1477,7 @@ export type CategoryCreateManyArgs< /** * Category createManyAndReturn */ -export type CategoryCreateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Category */ @@ -1875,9 +1499,7 @@ export type CategoryCreateManyAndReturnArgs< /** * Category update */ -export type CategoryUpdateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryUpdateArgs = { /** * Select specific fields to fetch from the Category */ @@ -1903,9 +1525,7 @@ export type CategoryUpdateArgs< /** * Category updateMany */ -export type CategoryUpdateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryUpdateManyArgs = { /** * The data used to update Categories. */ @@ -1923,9 +1543,7 @@ export type CategoryUpdateManyArgs< /** * Category updateManyAndReturn */ -export type CategoryUpdateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Category */ @@ -1955,9 +1573,7 @@ export type CategoryUpdateManyAndReturnArgs< /** * Category upsert */ -export type CategoryUpsertArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryUpsertArgs = { /** * Select specific fields to fetch from the Category */ @@ -1987,9 +1603,7 @@ export type CategoryUpsertArgs< /** * Category delete */ -export type CategoryDeleteArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryDeleteArgs = { /** * Select specific fields to fetch from the Category */ @@ -2011,9 +1625,7 @@ export type CategoryDeleteArgs< /** * Category deleteMany */ -export type CategoryDeleteManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryDeleteManyArgs = { /** * Filter which Categories to delete */ @@ -2027,9 +1639,7 @@ export type CategoryDeleteManyArgs< /** * Category.parent */ -export type Category$parentArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Category$parentArgs = { /** * Select specific fields to fetch from the Category */ @@ -2048,9 +1658,7 @@ export type Category$parentArgs< /** * Category.subCategories */ -export type Category$subCategoriesArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Category$subCategoriesArgs = { /** * Select specific fields to fetch from the Category */ @@ -2074,9 +1682,7 @@ export type Category$subCategoriesArgs< /** * Category.equipmentsAsMain */ -export type Category$equipmentsAsMainArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Category$equipmentsAsMainArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2100,9 +1706,7 @@ export type Category$equipmentsAsMainArgs< /** * Category.equipmentsAsSub */ -export type Category$equipmentsAsSubArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Category$equipmentsAsSubArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2126,9 +1730,7 @@ export type Category$equipmentsAsSubArgs< /** * Category without action */ -export type CategoryDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CategoryDefaultArgs = { /** * Select specific fields to fetch from the Category */ diff --git a/src/generated/prisma/models/Character.ts b/src/generated/prisma/models/Character.ts index 143a97f..f328342 100644 --- a/src/generated/prisma/models/Character.ts +++ b/src/generated/prisma/models/Character.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -7,9 +8,9 @@ * * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import type * as $Enums from '../enums.js' -import type * as Prisma from '../internal/prismaNamespace.js' +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 Character @@ -51,6 +52,7 @@ export type CharacterCountAggregateOutputType = { _all: number } + export type CharacterMinAggregateInputType = { id?: true name?: true @@ -79,9 +81,7 @@ export type CharacterCountAggregateInputType = { _all?: true } -export type CharacterAggregateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterAggregateArgs = { /** * Filter which Character to aggregate. */ @@ -114,37 +114,36 @@ export type CharacterAggregateArgs< * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Characters - **/ + **/ _count?: true | CharacterCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value - **/ + **/ _min?: CharacterMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value - **/ + **/ _max?: CharacterMaxAggregateInputType } export type GetCharacterAggregateType = { - [P in keyof T & keyof AggregateCharacter]: P extends '_count' | 'count' + [P in keyof T & keyof AggregateCharacter]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } -export type CharacterGroupByArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { + + + +export type CharacterGroupByArgs = { where?: Prisma.CharacterWhereInput - orderBy?: - | Prisma.CharacterOrderByWithAggregationInput - | Prisma.CharacterOrderByWithAggregationInput[] + orderBy?: Prisma.CharacterOrderByWithAggregationInput | Prisma.CharacterOrderByWithAggregationInput[] by: Prisma.CharacterScalarFieldEnum[] | Prisma.CharacterScalarFieldEnum having?: Prisma.CharacterScalarWhereWithAggregatesInput take?: number @@ -168,26 +167,29 @@ export type CharacterGroupByOutputType = { type GetCharacterGroupByPayload = Prisma.PrismaPromise< Array< - Prisma.PickEnumerable & { - [P in keyof T & keyof CharacterGroupByOutputType]: P extends '_count' - ? T[P] extends boolean - ? number + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof CharacterGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType : Prisma.GetScalarType - : Prisma.GetScalarType - } + } + > > -> + + export type CharacterWhereInput = { AND?: Prisma.CharacterWhereInput | Prisma.CharacterWhereInput[] OR?: Prisma.CharacterWhereInput[] NOT?: Prisma.CharacterWhereInput | Prisma.CharacterWhereInput[] - id?: Prisma.StringFilter<'Character'> | string - name?: Prisma.StringFilter<'Character'> | string - description?: Prisma.StringNullableFilter<'Character'> | string | null - imageId?: Prisma.StringFilter<'Character'> | string - createdAt?: Prisma.DateTimeFilter<'Character'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Character'> | Date | string + id?: Prisma.StringFilter<"Character"> | string + name?: Prisma.StringFilter<"Character"> | string + description?: Prisma.StringNullableFilter<"Character"> | string | null + imageId?: Prisma.StringFilter<"Character"> | string + createdAt?: Prisma.DateTimeFilter<"Character"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Character"> | Date | string image?: Prisma.XOR generations?: Prisma.GenerationListRelationFilter } @@ -203,22 +205,19 @@ export type CharacterOrderByWithRelationInput = { generations?: Prisma.GenerationOrderByRelationAggregateInput } -export type CharacterWhereUniqueInput = Prisma.AtLeast< - { - id?: string - AND?: Prisma.CharacterWhereInput | Prisma.CharacterWhereInput[] - OR?: Prisma.CharacterWhereInput[] - NOT?: Prisma.CharacterWhereInput | Prisma.CharacterWhereInput[] - name?: Prisma.StringFilter<'Character'> | string - description?: Prisma.StringNullableFilter<'Character'> | string | null - imageId?: Prisma.StringFilter<'Character'> | string - createdAt?: Prisma.DateTimeFilter<'Character'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Character'> | Date | string - image?: Prisma.XOR - generations?: Prisma.GenerationListRelationFilter - }, - 'id' -> +export type CharacterWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.CharacterWhereInput | Prisma.CharacterWhereInput[] + OR?: Prisma.CharacterWhereInput[] + NOT?: Prisma.CharacterWhereInput | Prisma.CharacterWhereInput[] + name?: Prisma.StringFilter<"Character"> | string + description?: Prisma.StringNullableFilter<"Character"> | string | null + imageId?: Prisma.StringFilter<"Character"> | string + createdAt?: Prisma.DateTimeFilter<"Character"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Character"> | Date | string + image?: Prisma.XOR + generations?: Prisma.GenerationListRelationFilter +}, "id"> export type CharacterOrderByWithAggregationInput = { id?: Prisma.SortOrder @@ -233,19 +232,15 @@ export type CharacterOrderByWithAggregationInput = { } export type CharacterScalarWhereWithAggregatesInput = { - AND?: - | Prisma.CharacterScalarWhereWithAggregatesInput - | Prisma.CharacterScalarWhereWithAggregatesInput[] + AND?: Prisma.CharacterScalarWhereWithAggregatesInput | Prisma.CharacterScalarWhereWithAggregatesInput[] OR?: Prisma.CharacterScalarWhereWithAggregatesInput[] - NOT?: - | Prisma.CharacterScalarWhereWithAggregatesInput - | Prisma.CharacterScalarWhereWithAggregatesInput[] - id?: Prisma.StringWithAggregatesFilter<'Character'> | string - name?: Prisma.StringWithAggregatesFilter<'Character'> | string - description?: Prisma.StringNullableWithAggregatesFilter<'Character'> | string | null - imageId?: Prisma.StringWithAggregatesFilter<'Character'> | string - createdAt?: Prisma.DateTimeWithAggregatesFilter<'Character'> | Date | string - updatedAt?: Prisma.DateTimeWithAggregatesFilter<'Character'> | Date | string + NOT?: Prisma.CharacterScalarWhereWithAggregatesInput | Prisma.CharacterScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Character"> | string + name?: Prisma.StringWithAggregatesFilter<"Character"> | string + description?: Prisma.StringNullableWithAggregatesFilter<"Character"> | string | null + imageId?: Prisma.StringWithAggregatesFilter<"Character"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Character"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Character"> | Date | string } export type CharacterCreateInput = { @@ -357,88 +352,44 @@ export type CharacterScalarRelationFilter = { } export type CharacterCreateNestedManyWithoutImageInput = { - create?: - | Prisma.XOR< - Prisma.CharacterCreateWithoutImageInput, - Prisma.CharacterUncheckedCreateWithoutImageInput - > - | Prisma.CharacterCreateWithoutImageInput[] - | Prisma.CharacterUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.CharacterCreateOrConnectWithoutImageInput - | Prisma.CharacterCreateOrConnectWithoutImageInput[] + create?: Prisma.XOR | Prisma.CharacterCreateWithoutImageInput[] | Prisma.CharacterUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.CharacterCreateOrConnectWithoutImageInput | Prisma.CharacterCreateOrConnectWithoutImageInput[] createMany?: Prisma.CharacterCreateManyImageInputEnvelope connect?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] } export type CharacterUncheckedCreateNestedManyWithoutImageInput = { - create?: - | Prisma.XOR< - Prisma.CharacterCreateWithoutImageInput, - Prisma.CharacterUncheckedCreateWithoutImageInput - > - | Prisma.CharacterCreateWithoutImageInput[] - | Prisma.CharacterUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.CharacterCreateOrConnectWithoutImageInput - | Prisma.CharacterCreateOrConnectWithoutImageInput[] + create?: Prisma.XOR | Prisma.CharacterCreateWithoutImageInput[] | Prisma.CharacterUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.CharacterCreateOrConnectWithoutImageInput | Prisma.CharacterCreateOrConnectWithoutImageInput[] createMany?: Prisma.CharacterCreateManyImageInputEnvelope connect?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] } export type CharacterUpdateManyWithoutImageNestedInput = { - create?: - | Prisma.XOR< - Prisma.CharacterCreateWithoutImageInput, - Prisma.CharacterUncheckedCreateWithoutImageInput - > - | Prisma.CharacterCreateWithoutImageInput[] - | Prisma.CharacterUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.CharacterCreateOrConnectWithoutImageInput - | Prisma.CharacterCreateOrConnectWithoutImageInput[] - upsert?: - | Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput - | Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput[] + create?: Prisma.XOR | Prisma.CharacterCreateWithoutImageInput[] | Prisma.CharacterUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.CharacterCreateOrConnectWithoutImageInput | Prisma.CharacterCreateOrConnectWithoutImageInput[] + upsert?: Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput | Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput[] createMany?: Prisma.CharacterCreateManyImageInputEnvelope set?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] disconnect?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] delete?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] connect?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] - update?: - | Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput - | Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput[] - updateMany?: - | Prisma.CharacterUpdateManyWithWhereWithoutImageInput - | Prisma.CharacterUpdateManyWithWhereWithoutImageInput[] + update?: Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput | Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput[] + updateMany?: Prisma.CharacterUpdateManyWithWhereWithoutImageInput | Prisma.CharacterUpdateManyWithWhereWithoutImageInput[] deleteMany?: Prisma.CharacterScalarWhereInput | Prisma.CharacterScalarWhereInput[] } export type CharacterUncheckedUpdateManyWithoutImageNestedInput = { - create?: - | Prisma.XOR< - Prisma.CharacterCreateWithoutImageInput, - Prisma.CharacterUncheckedCreateWithoutImageInput - > - | Prisma.CharacterCreateWithoutImageInput[] - | Prisma.CharacterUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.CharacterCreateOrConnectWithoutImageInput - | Prisma.CharacterCreateOrConnectWithoutImageInput[] - upsert?: - | Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput - | Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput[] + create?: Prisma.XOR | Prisma.CharacterCreateWithoutImageInput[] | Prisma.CharacterUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.CharacterCreateOrConnectWithoutImageInput | Prisma.CharacterCreateOrConnectWithoutImageInput[] + upsert?: Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput | Prisma.CharacterUpsertWithWhereUniqueWithoutImageInput[] createMany?: Prisma.CharacterCreateManyImageInputEnvelope set?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] disconnect?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] delete?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] connect?: Prisma.CharacterWhereUniqueInput | Prisma.CharacterWhereUniqueInput[] - update?: - | Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput - | Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput[] - updateMany?: - | Prisma.CharacterUpdateManyWithWhereWithoutImageInput - | Prisma.CharacterUpdateManyWithWhereWithoutImageInput[] + update?: Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput | Prisma.CharacterUpdateWithWhereUniqueWithoutImageInput[] + updateMany?: Prisma.CharacterUpdateManyWithWhereWithoutImageInput | Prisma.CharacterUpdateManyWithWhereWithoutImageInput[] deleteMany?: Prisma.CharacterScalarWhereInput | Prisma.CharacterScalarWhereInput[] } @@ -447,29 +398,17 @@ export type NullableStringFieldUpdateOperationsInput = { } export type CharacterCreateNestedOneWithoutGenerationsInput = { - create?: Prisma.XOR< - Prisma.CharacterCreateWithoutGenerationsInput, - Prisma.CharacterUncheckedCreateWithoutGenerationsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CharacterCreateOrConnectWithoutGenerationsInput connect?: Prisma.CharacterWhereUniqueInput } export type CharacterUpdateOneRequiredWithoutGenerationsNestedInput = { - create?: Prisma.XOR< - Prisma.CharacterCreateWithoutGenerationsInput, - Prisma.CharacterUncheckedCreateWithoutGenerationsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.CharacterCreateOrConnectWithoutGenerationsInput upsert?: Prisma.CharacterUpsertWithoutGenerationsInput connect?: Prisma.CharacterWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.CharacterUpdateToOneWithWhereWithoutGenerationsInput, - Prisma.CharacterUpdateWithoutGenerationsInput - >, - Prisma.CharacterUncheckedUpdateWithoutGenerationsInput - > + update?: Prisma.XOR, Prisma.CharacterUncheckedUpdateWithoutGenerationsInput> } export type CharacterCreateWithoutImageInput = { @@ -492,10 +431,7 @@ export type CharacterUncheckedCreateWithoutImageInput = { export type CharacterCreateOrConnectWithoutImageInput = { where: Prisma.CharacterWhereUniqueInput - create: Prisma.XOR< - Prisma.CharacterCreateWithoutImageInput, - Prisma.CharacterUncheckedCreateWithoutImageInput - > + create: Prisma.XOR } export type CharacterCreateManyImageInputEnvelope = { @@ -504,42 +440,30 @@ export type CharacterCreateManyImageInputEnvelope = { export type CharacterUpsertWithWhereUniqueWithoutImageInput = { where: Prisma.CharacterWhereUniqueInput - update: Prisma.XOR< - Prisma.CharacterUpdateWithoutImageInput, - Prisma.CharacterUncheckedUpdateWithoutImageInput - > - create: Prisma.XOR< - Prisma.CharacterCreateWithoutImageInput, - Prisma.CharacterUncheckedCreateWithoutImageInput - > + update: Prisma.XOR + create: Prisma.XOR } export type CharacterUpdateWithWhereUniqueWithoutImageInput = { where: Prisma.CharacterWhereUniqueInput - data: Prisma.XOR< - Prisma.CharacterUpdateWithoutImageInput, - Prisma.CharacterUncheckedUpdateWithoutImageInput - > + data: Prisma.XOR } export type CharacterUpdateManyWithWhereWithoutImageInput = { where: Prisma.CharacterScalarWhereInput - data: Prisma.XOR< - Prisma.CharacterUpdateManyMutationInput, - Prisma.CharacterUncheckedUpdateManyWithoutImageInput - > + data: Prisma.XOR } export type CharacterScalarWhereInput = { AND?: Prisma.CharacterScalarWhereInput | Prisma.CharacterScalarWhereInput[] OR?: Prisma.CharacterScalarWhereInput[] NOT?: Prisma.CharacterScalarWhereInput | Prisma.CharacterScalarWhereInput[] - id?: Prisma.StringFilter<'Character'> | string - name?: Prisma.StringFilter<'Character'> | string - description?: Prisma.StringNullableFilter<'Character'> | string | null - imageId?: Prisma.StringFilter<'Character'> | string - createdAt?: Prisma.DateTimeFilter<'Character'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Character'> | Date | string + id?: Prisma.StringFilter<"Character"> | string + name?: Prisma.StringFilter<"Character"> | string + description?: Prisma.StringNullableFilter<"Character"> | string | null + imageId?: Prisma.StringFilter<"Character"> | string + createdAt?: Prisma.DateTimeFilter<"Character"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Character"> | Date | string } export type CharacterCreateWithoutGenerationsInput = { @@ -562,30 +486,18 @@ export type CharacterUncheckedCreateWithoutGenerationsInput = { export type CharacterCreateOrConnectWithoutGenerationsInput = { where: Prisma.CharacterWhereUniqueInput - create: Prisma.XOR< - Prisma.CharacterCreateWithoutGenerationsInput, - Prisma.CharacterUncheckedCreateWithoutGenerationsInput - > + create: Prisma.XOR } export type CharacterUpsertWithoutGenerationsInput = { - update: Prisma.XOR< - Prisma.CharacterUpdateWithoutGenerationsInput, - Prisma.CharacterUncheckedUpdateWithoutGenerationsInput - > - create: Prisma.XOR< - Prisma.CharacterCreateWithoutGenerationsInput, - Prisma.CharacterUncheckedCreateWithoutGenerationsInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.CharacterWhereInput } export type CharacterUpdateToOneWithWhereWithoutGenerationsInput = { where?: Prisma.CharacterWhereInput - data: Prisma.XOR< - Prisma.CharacterUpdateWithoutGenerationsInput, - Prisma.CharacterUncheckedUpdateWithoutGenerationsInput - > + data: Prisma.XOR } export type CharacterUpdateWithoutGenerationsInput = { @@ -640,6 +552,7 @@ export type CharacterUncheckedUpdateManyWithoutImageInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } + /** * Count Type CharacterCountOutputType */ @@ -648,18 +561,14 @@ export type CharacterCountOutputType = { generations: number } -export type CharacterCountOutputTypeSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterCountOutputTypeSelect = { generations?: boolean | CharacterCountOutputTypeCountGenerationsArgs } /** * CharacterCountOutputType without action */ -export type CharacterCountOutputTypeDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the CharacterCountOutputType */ @@ -669,58 +578,42 @@ export type CharacterCountOutputTypeDefaultArgs< /** * CharacterCountOutputType without action */ -export type CharacterCountOutputTypeCountGenerationsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterCountOutputTypeCountGenerationsArgs = { where?: Prisma.GenerationWhereInput } -export type CharacterSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - description?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - image?: boolean | Prisma.AssetDefaultArgs - generations?: boolean | Prisma.Character$generationsArgs - _count?: boolean | Prisma.CharacterCountOutputTypeDefaultArgs - }, - ExtArgs['result']['character'] -> -export type CharacterSelectCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - description?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - image?: boolean | Prisma.AssetDefaultArgs - }, - ExtArgs['result']['character'] -> +export type CharacterSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + image?: boolean | Prisma.AssetDefaultArgs + generations?: boolean | Prisma.Character$generationsArgs + _count?: boolean | Prisma.CharacterCountOutputTypeDefaultArgs +}, ExtArgs["result"]["character"]> -export type CharacterSelectUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - description?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - image?: boolean | Prisma.AssetDefaultArgs - }, - ExtArgs['result']['character'] -> +export type CharacterSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + image?: boolean | Prisma.AssetDefaultArgs +}, ExtArgs["result"]["character"]> + +export type CharacterSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + image?: boolean | Prisma.AssetDefaultArgs +}, ExtArgs["result"]["character"]> export type CharacterSelectScalar = { id?: boolean @@ -731,66 +624,45 @@ export type CharacterSelectScalar = { updatedAt?: boolean } -export type CharacterOmit< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetOmit< - 'id' | 'name' | 'description' | 'imageId' | 'createdAt' | 'updatedAt', - ExtArgs['result']['character'] -> -export type CharacterInclude< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "imageId" | "createdAt" | "updatedAt", ExtArgs["result"]["character"]> +export type CharacterInclude = { image?: boolean | Prisma.AssetDefaultArgs generations?: boolean | Prisma.Character$generationsArgs _count?: boolean | Prisma.CharacterCountOutputTypeDefaultArgs } -export type CharacterIncludeCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterIncludeCreateManyAndReturn = { image?: boolean | Prisma.AssetDefaultArgs } -export type CharacterIncludeUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterIncludeUpdateManyAndReturn = { image?: boolean | Prisma.AssetDefaultArgs } -export type $CharacterPayload< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { - name: 'Character' +export type $CharacterPayload = { + name: "Character" objects: { image: Prisma.$AssetPayload generations: Prisma.$GenerationPayload[] } - scalars: runtime.Types.Extensions.GetPayloadResult< - { - id: string - name: string - description: string | null - imageId: string - createdAt: Date - updatedAt: Date - }, - ExtArgs['result']['character'] - > + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + description: string | null + imageId: string + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["character"]> composites: {} } -export type CharacterGetPayload = - runtime.Types.Result.GetResult +export type CharacterGetPayload = runtime.Types.Result.GetResult -export type CharacterCountArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = Omit & { - select?: CharacterCountAggregateInputType | true -} +export type CharacterCountArgs = + Omit & { + select?: CharacterCountAggregateInputType | true + } -export interface CharacterDelegate< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> { - [K: symbol]: { types: Prisma.TypeMap['model']['Character']; meta: { name: 'Character' } } +export interface CharacterDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Character'], meta: { name: 'Character' } } /** * Find zero or one Character that matches the filter. * @param {CharacterFindUniqueArgs} args - Arguments to find a Character @@ -802,19 +674,7 @@ export interface CharacterDelegate< * } * }) */ - findUnique( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findUnique', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Character that matches the filter or throw an error with `error.code='P2025'` @@ -828,19 +688,7 @@ export interface CharacterDelegate< * } * }) */ - findUniqueOrThrow( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Character that matches the filter. @@ -855,19 +703,7 @@ export interface CharacterDelegate< * } * }) */ - findFirst( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findFirst', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Character that matches the filter or @@ -883,19 +719,7 @@ export interface CharacterDelegate< * } * }) */ - findFirstOrThrow( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findFirstOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Characters that matches the filter. @@ -913,16 +737,7 @@ export interface CharacterDelegate< * const characterWithIdOnly = await prisma.character.findMany({ select: { id: true } }) * */ - findMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findMany', - GlobalOmitOptions - > - > + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a Character. @@ -936,19 +751,7 @@ export interface CharacterDelegate< * }) * */ - create( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'create', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + create(args: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Characters. @@ -962,9 +765,7 @@ export interface CharacterDelegate< * }) * */ - createMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many Characters and returns the data saved in the database. @@ -988,16 +789,7 @@ export interface CharacterDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'createManyAndReturn', - GlobalOmitOptions - > - > + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Character. @@ -1011,19 +803,7 @@ export interface CharacterDelegate< * }) * */ - delete( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'delete', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + delete(args: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Character. @@ -1040,19 +820,7 @@ export interface CharacterDelegate< * }) * */ - update( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'update', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + update(args: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Characters. @@ -1066,9 +834,7 @@ export interface CharacterDelegate< * }) * */ - deleteMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Characters. @@ -1087,9 +853,7 @@ export interface CharacterDelegate< * }) * */ - updateMany( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Characters and returns the data updated in the database. @@ -1119,16 +883,7 @@ export interface CharacterDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'updateManyAndReturn', - GlobalOmitOptions - > - > + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Character. @@ -1147,19 +902,8 @@ export interface CharacterDelegate< * } * }) */ - upsert( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__CharacterClient< - runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'upsert', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__CharacterClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + /** * Count the number of Characters. @@ -1173,7 +917,7 @@ export interface CharacterDelegate< * // ... the filter for the Characters we want to count * } * }) - **/ + **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< @@ -1207,10 +951,8 @@ export interface CharacterDelegate< * }, * take: 10, * }) - **/ - aggregate( - args: Prisma.Subset, - ): Prisma.PrismaPromise> + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by Character. @@ -1229,7 +971,7 @@ export interface CharacterDelegate< * }, * }) * - **/ + **/ groupBy< T extends CharacterGroupByArgs, HasSelectOrTake extends Prisma.Or< @@ -1239,58 +981,59 @@ export interface CharacterDelegate< OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: CharacterGroupByArgs['orderBy'] } : { orderBy?: CharacterGroupByArgs['orderBy'] }, - OrderFields extends Prisma.ExcludeUnderscoreKeys< - Prisma.Keys> - >, + 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 + ? `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 - : 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 ? GetCharacterGroupByPayload : Prisma.PrismaPromise - /** - * Fields of the Character model - */ - readonly fields: CharacterFieldRefs + : `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 ? GetCharacterGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Character model + */ +readonly fields: CharacterFieldRefs; } /** @@ -1299,56 +1042,23 @@ export interface CharacterDelegate< * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ -export interface Prisma__CharacterClient< - T, - Null = never, - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise' - image = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__AssetClient< - | runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > - generations = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > +export interface Prisma__CharacterClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + image = {}>(args?: Prisma.Subset>): Prisma.Prisma__AssetClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + generations = {}>(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. * @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 + 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 + 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. @@ -1358,25 +1068,27 @@ export interface Prisma__CharacterClient< finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } + + + /** * Fields of the Character model */ export interface CharacterFieldRefs { - readonly id: Prisma.FieldRef<'Character', 'String'> - readonly name: Prisma.FieldRef<'Character', 'String'> - readonly description: Prisma.FieldRef<'Character', 'String'> - readonly imageId: Prisma.FieldRef<'Character', 'String'> - readonly createdAt: Prisma.FieldRef<'Character', 'DateTime'> - readonly updatedAt: Prisma.FieldRef<'Character', 'DateTime'> + readonly id: Prisma.FieldRef<"Character", 'String'> + readonly name: Prisma.FieldRef<"Character", 'String'> + readonly description: Prisma.FieldRef<"Character", 'String'> + readonly imageId: Prisma.FieldRef<"Character", 'String'> + readonly createdAt: Prisma.FieldRef<"Character", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Character", 'DateTime'> } + // Custom InputTypes /** * Character findUnique */ -export type CharacterFindUniqueArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterFindUniqueArgs = { /** * Select specific fields to fetch from the Character */ @@ -1398,9 +1110,7 @@ export type CharacterFindUniqueArgs< /** * Character findUniqueOrThrow */ -export type CharacterFindUniqueOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Character */ @@ -1422,9 +1132,7 @@ export type CharacterFindUniqueOrThrowArgs< /** * Character findFirst */ -export type CharacterFindFirstArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterFindFirstArgs = { /** * Select specific fields to fetch from the Character */ @@ -1476,9 +1184,7 @@ export type CharacterFindFirstArgs< /** * Character findFirstOrThrow */ -export type CharacterFindFirstOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Character */ @@ -1530,9 +1236,7 @@ export type CharacterFindFirstOrThrowArgs< /** * Character findMany */ -export type CharacterFindManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterFindManyArgs = { /** * Select specific fields to fetch from the Character */ @@ -1579,9 +1283,7 @@ export type CharacterFindManyArgs< /** * Character create */ -export type CharacterCreateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterCreateArgs = { /** * Select specific fields to fetch from the Character */ @@ -1603,9 +1305,7 @@ export type CharacterCreateArgs< /** * Character createMany */ -export type CharacterCreateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterCreateManyArgs = { /** * The data used to create many Characters. */ @@ -1615,9 +1315,7 @@ export type CharacterCreateManyArgs< /** * Character createManyAndReturn */ -export type CharacterCreateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Character */ @@ -1639,9 +1337,7 @@ export type CharacterCreateManyAndReturnArgs< /** * Character update */ -export type CharacterUpdateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterUpdateArgs = { /** * Select specific fields to fetch from the Character */ @@ -1667,16 +1363,11 @@ export type CharacterUpdateArgs< /** * Character updateMany */ -export type CharacterUpdateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterUpdateManyArgs = { /** * The data used to update Characters. */ - data: Prisma.XOR< - Prisma.CharacterUpdateManyMutationInput, - Prisma.CharacterUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which Characters to update */ @@ -1690,9 +1381,7 @@ export type CharacterUpdateManyArgs< /** * Character updateManyAndReturn */ -export type CharacterUpdateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Character */ @@ -1704,10 +1393,7 @@ export type CharacterUpdateManyAndReturnArgs< /** * The data used to update Characters. */ - data: Prisma.XOR< - Prisma.CharacterUpdateManyMutationInput, - Prisma.CharacterUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which Characters to update */ @@ -1725,9 +1411,7 @@ export type CharacterUpdateManyAndReturnArgs< /** * Character upsert */ -export type CharacterUpsertArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterUpsertArgs = { /** * Select specific fields to fetch from the Character */ @@ -1757,9 +1441,7 @@ export type CharacterUpsertArgs< /** * Character delete */ -export type CharacterDeleteArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterDeleteArgs = { /** * Select specific fields to fetch from the Character */ @@ -1781,9 +1463,7 @@ export type CharacterDeleteArgs< /** * Character deleteMany */ -export type CharacterDeleteManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterDeleteManyArgs = { /** * Filter which Characters to delete */ @@ -1797,9 +1477,7 @@ export type CharacterDeleteManyArgs< /** * Character.generations */ -export type Character$generationsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Character$generationsArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1823,9 +1501,7 @@ export type Character$generationsArgs< /** * Character without action */ -export type CharacterDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type CharacterDefaultArgs = { /** * Select specific fields to fetch from the Character */ diff --git a/src/generated/prisma/models/Equipment.ts b/src/generated/prisma/models/Equipment.ts index 97b720c..d948aab 100644 --- a/src/generated/prisma/models/Equipment.ts +++ b/src/generated/prisma/models/Equipment.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -7,9 +8,9 @@ * * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import type * as $Enums from '../enums.js' -import type * as Prisma from '../internal/prismaNamespace.js' +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 Equipment @@ -57,6 +58,7 @@ export type EquipmentCountAggregateOutputType = { _all: number } + export type EquipmentMinAggregateInputType = { id?: true name?: true @@ -91,9 +93,7 @@ export type EquipmentCountAggregateInputType = { _all?: true } -export type EquipmentAggregateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentAggregateArgs = { /** * Filter which Equipment to aggregate. */ @@ -126,37 +126,36 @@ export type EquipmentAggregateArgs< * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Equipment - **/ + **/ _count?: true | EquipmentCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value - **/ + **/ _min?: EquipmentMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value - **/ + **/ _max?: EquipmentMaxAggregateInputType } export type GetEquipmentAggregateType = { - [P in keyof T & keyof AggregateEquipment]: P extends '_count' | 'count' + [P in keyof T & keyof AggregateEquipment]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } -export type EquipmentGroupByArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { + + + +export type EquipmentGroupByArgs = { where?: Prisma.EquipmentWhereInput - orderBy?: - | Prisma.EquipmentOrderByWithAggregationInput - | Prisma.EquipmentOrderByWithAggregationInput[] + orderBy?: Prisma.EquipmentOrderByWithAggregationInput | Prisma.EquipmentOrderByWithAggregationInput[] by: Prisma.EquipmentScalarFieldEnum[] | Prisma.EquipmentScalarFieldEnum having?: Prisma.EquipmentScalarWhereWithAggregatesInput take?: number @@ -182,33 +181,33 @@ export type EquipmentGroupByOutputType = { type GetEquipmentGroupByPayload = Prisma.PrismaPromise< Array< - Prisma.PickEnumerable & { - [P in keyof T & keyof EquipmentGroupByOutputType]: P extends '_count' - ? T[P] extends boolean - ? number + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof EquipmentGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType : Prisma.GetScalarType - : Prisma.GetScalarType - } + } + > > -> + + export type EquipmentWhereInput = { AND?: Prisma.EquipmentWhereInput | Prisma.EquipmentWhereInput[] OR?: Prisma.EquipmentWhereInput[] NOT?: Prisma.EquipmentWhereInput | Prisma.EquipmentWhereInput[] - id?: Prisma.StringFilter<'Equipment'> | string - name?: Prisma.StringFilter<'Equipment'> | string - description?: Prisma.StringFilter<'Equipment'> | string - categoryId?: Prisma.StringFilter<'Equipment'> | string - subCategoryId?: Prisma.StringNullableFilter<'Equipment'> | string | null - imageId?: Prisma.StringFilter<'Equipment'> | string - createdAt?: Prisma.DateTimeFilter<'Equipment'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Equipment'> | Date | string + id?: Prisma.StringFilter<"Equipment"> | string + name?: Prisma.StringFilter<"Equipment"> | string + description?: Prisma.StringFilter<"Equipment"> | string + categoryId?: Prisma.StringFilter<"Equipment"> | string + subCategoryId?: Prisma.StringNullableFilter<"Equipment"> | string | null + imageId?: Prisma.StringFilter<"Equipment"> | string + createdAt?: Prisma.DateTimeFilter<"Equipment"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Equipment"> | Date | string category?: Prisma.XOR - subCategory?: Prisma.XOR< - Prisma.CategoryNullableScalarRelationFilter, - Prisma.CategoryWhereInput - > | null + subCategory?: Prisma.XOR | null image?: Prisma.XOR generations?: Prisma.GenerationEquipmentListRelationFilter } @@ -228,29 +227,23 @@ export type EquipmentOrderByWithRelationInput = { generations?: Prisma.GenerationEquipmentOrderByRelationAggregateInput } -export type EquipmentWhereUniqueInput = Prisma.AtLeast< - { - id?: string - AND?: Prisma.EquipmentWhereInput | Prisma.EquipmentWhereInput[] - OR?: Prisma.EquipmentWhereInput[] - NOT?: Prisma.EquipmentWhereInput | Prisma.EquipmentWhereInput[] - name?: Prisma.StringFilter<'Equipment'> | string - description?: Prisma.StringFilter<'Equipment'> | string - categoryId?: Prisma.StringFilter<'Equipment'> | string - subCategoryId?: Prisma.StringNullableFilter<'Equipment'> | string | null - imageId?: Prisma.StringFilter<'Equipment'> | string - createdAt?: Prisma.DateTimeFilter<'Equipment'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Equipment'> | Date | string - category?: Prisma.XOR - subCategory?: Prisma.XOR< - Prisma.CategoryNullableScalarRelationFilter, - Prisma.CategoryWhereInput - > | null - image?: Prisma.XOR - generations?: Prisma.GenerationEquipmentListRelationFilter - }, - 'id' -> +export type EquipmentWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.EquipmentWhereInput | Prisma.EquipmentWhereInput[] + OR?: Prisma.EquipmentWhereInput[] + NOT?: Prisma.EquipmentWhereInput | Prisma.EquipmentWhereInput[] + name?: Prisma.StringFilter<"Equipment"> | string + description?: Prisma.StringFilter<"Equipment"> | string + categoryId?: Prisma.StringFilter<"Equipment"> | string + subCategoryId?: Prisma.StringNullableFilter<"Equipment"> | string | null + imageId?: Prisma.StringFilter<"Equipment"> | string + createdAt?: Prisma.DateTimeFilter<"Equipment"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Equipment"> | Date | string + category?: Prisma.XOR + subCategory?: Prisma.XOR | null + image?: Prisma.XOR + generations?: Prisma.GenerationEquipmentListRelationFilter +}, "id"> export type EquipmentOrderByWithAggregationInput = { id?: Prisma.SortOrder @@ -267,21 +260,17 @@ export type EquipmentOrderByWithAggregationInput = { } export type EquipmentScalarWhereWithAggregatesInput = { - AND?: - | Prisma.EquipmentScalarWhereWithAggregatesInput - | Prisma.EquipmentScalarWhereWithAggregatesInput[] + AND?: Prisma.EquipmentScalarWhereWithAggregatesInput | Prisma.EquipmentScalarWhereWithAggregatesInput[] OR?: Prisma.EquipmentScalarWhereWithAggregatesInput[] - NOT?: - | Prisma.EquipmentScalarWhereWithAggregatesInput - | Prisma.EquipmentScalarWhereWithAggregatesInput[] - id?: Prisma.StringWithAggregatesFilter<'Equipment'> | string - name?: Prisma.StringWithAggregatesFilter<'Equipment'> | string - description?: Prisma.StringWithAggregatesFilter<'Equipment'> | string - categoryId?: Prisma.StringWithAggregatesFilter<'Equipment'> | string - subCategoryId?: Prisma.StringNullableWithAggregatesFilter<'Equipment'> | string | null - imageId?: Prisma.StringWithAggregatesFilter<'Equipment'> | string - createdAt?: Prisma.DateTimeWithAggregatesFilter<'Equipment'> | Date | string - updatedAt?: Prisma.DateTimeWithAggregatesFilter<'Equipment'> | Date | string + NOT?: Prisma.EquipmentScalarWhereWithAggregatesInput | Prisma.EquipmentScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Equipment"> | string + name?: Prisma.StringWithAggregatesFilter<"Equipment"> | string + description?: Prisma.StringWithAggregatesFilter<"Equipment"> | string + categoryId?: Prisma.StringWithAggregatesFilter<"Equipment"> | string + subCategoryId?: Prisma.StringNullableWithAggregatesFilter<"Equipment"> | string | null + imageId?: Prisma.StringWithAggregatesFilter<"Equipment"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Equipment"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Equipment"> | Date | string } export type EquipmentCreateInput = { @@ -411,287 +400,143 @@ export type EquipmentScalarRelationFilter = { } export type EquipmentCreateNestedManyWithoutImageInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutImageInput, - Prisma.EquipmentUncheckedCreateWithoutImageInput - > - | Prisma.EquipmentCreateWithoutImageInput[] - | Prisma.EquipmentUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutImageInput - | Prisma.EquipmentCreateOrConnectWithoutImageInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutImageInput[] | Prisma.EquipmentUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutImageInput | Prisma.EquipmentCreateOrConnectWithoutImageInput[] createMany?: Prisma.EquipmentCreateManyImageInputEnvelope connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] } export type EquipmentUncheckedCreateNestedManyWithoutImageInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutImageInput, - Prisma.EquipmentUncheckedCreateWithoutImageInput - > - | Prisma.EquipmentCreateWithoutImageInput[] - | Prisma.EquipmentUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutImageInput - | Prisma.EquipmentCreateOrConnectWithoutImageInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutImageInput[] | Prisma.EquipmentUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutImageInput | Prisma.EquipmentCreateOrConnectWithoutImageInput[] createMany?: Prisma.EquipmentCreateManyImageInputEnvelope connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] } export type EquipmentUpdateManyWithoutImageNestedInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutImageInput, - Prisma.EquipmentUncheckedCreateWithoutImageInput - > - | Prisma.EquipmentCreateWithoutImageInput[] - | Prisma.EquipmentUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutImageInput - | Prisma.EquipmentCreateOrConnectWithoutImageInput[] - upsert?: - | Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput - | Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutImageInput[] | Prisma.EquipmentUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutImageInput | Prisma.EquipmentCreateOrConnectWithoutImageInput[] + upsert?: Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput | Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput[] createMany?: Prisma.EquipmentCreateManyImageInputEnvelope set?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] disconnect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] delete?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] - update?: - | Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput - | Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput[] - updateMany?: - | Prisma.EquipmentUpdateManyWithWhereWithoutImageInput - | Prisma.EquipmentUpdateManyWithWhereWithoutImageInput[] + update?: Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput | Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput[] + updateMany?: Prisma.EquipmentUpdateManyWithWhereWithoutImageInput | Prisma.EquipmentUpdateManyWithWhereWithoutImageInput[] deleteMany?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] } export type EquipmentUncheckedUpdateManyWithoutImageNestedInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutImageInput, - Prisma.EquipmentUncheckedCreateWithoutImageInput - > - | Prisma.EquipmentCreateWithoutImageInput[] - | Prisma.EquipmentUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutImageInput - | Prisma.EquipmentCreateOrConnectWithoutImageInput[] - upsert?: - | Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput - | Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutImageInput[] | Prisma.EquipmentUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutImageInput | Prisma.EquipmentCreateOrConnectWithoutImageInput[] + upsert?: Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput | Prisma.EquipmentUpsertWithWhereUniqueWithoutImageInput[] createMany?: Prisma.EquipmentCreateManyImageInputEnvelope set?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] disconnect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] delete?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] - update?: - | Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput - | Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput[] - updateMany?: - | Prisma.EquipmentUpdateManyWithWhereWithoutImageInput - | Prisma.EquipmentUpdateManyWithWhereWithoutImageInput[] + update?: Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput | Prisma.EquipmentUpdateWithWhereUniqueWithoutImageInput[] + updateMany?: Prisma.EquipmentUpdateManyWithWhereWithoutImageInput | Prisma.EquipmentUpdateManyWithWhereWithoutImageInput[] deleteMany?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] } export type EquipmentCreateNestedManyWithoutCategoryInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutCategoryInput - > - | Prisma.EquipmentCreateWithoutCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutCategoryInput | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] createMany?: Prisma.EquipmentCreateManyCategoryInputEnvelope connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] } export type EquipmentCreateNestedManyWithoutSubCategoryInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput - > - | Prisma.EquipmentCreateWithoutSubCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutSubCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] createMany?: Prisma.EquipmentCreateManySubCategoryInputEnvelope connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] } export type EquipmentUncheckedCreateNestedManyWithoutCategoryInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutCategoryInput - > - | Prisma.EquipmentCreateWithoutCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutCategoryInput | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] createMany?: Prisma.EquipmentCreateManyCategoryInputEnvelope connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] } export type EquipmentUncheckedCreateNestedManyWithoutSubCategoryInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput - > - | Prisma.EquipmentCreateWithoutSubCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutSubCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] createMany?: Prisma.EquipmentCreateManySubCategoryInputEnvelope connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] } export type EquipmentUpdateManyWithoutCategoryNestedInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutCategoryInput - > - | Prisma.EquipmentCreateWithoutCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] - upsert?: - | Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput - | Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutCategoryInput | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] + upsert?: Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput | Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: Prisma.EquipmentCreateManyCategoryInputEnvelope set?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] disconnect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] delete?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] - update?: - | Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput - | Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput[] - updateMany?: - | Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput - | Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput[] + update?: Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput | Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput[] + updateMany?: Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput | Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] } export type EquipmentUpdateManyWithoutSubCategoryNestedInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput - > - | Prisma.EquipmentCreateWithoutSubCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] - upsert?: - | Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput - | Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutSubCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] + upsert?: Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput | Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput[] createMany?: Prisma.EquipmentCreateManySubCategoryInputEnvelope set?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] disconnect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] delete?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] - update?: - | Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput - | Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput[] - updateMany?: - | Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput - | Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput[] + update?: Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput | Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput[] + updateMany?: Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput | Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput[] deleteMany?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] } export type EquipmentUncheckedUpdateManyWithoutCategoryNestedInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutCategoryInput - > - | Prisma.EquipmentCreateWithoutCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] - upsert?: - | Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput - | Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutCategoryInput | Prisma.EquipmentCreateOrConnectWithoutCategoryInput[] + upsert?: Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput | Prisma.EquipmentUpsertWithWhereUniqueWithoutCategoryInput[] createMany?: Prisma.EquipmentCreateManyCategoryInputEnvelope set?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] disconnect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] delete?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] - update?: - | Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput - | Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput[] - updateMany?: - | Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput - | Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput[] + update?: Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput | Prisma.EquipmentUpdateWithWhereUniqueWithoutCategoryInput[] + updateMany?: Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput | Prisma.EquipmentUpdateManyWithWhereWithoutCategoryInput[] deleteMany?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] } export type EquipmentUncheckedUpdateManyWithoutSubCategoryNestedInput = { - create?: - | Prisma.XOR< - Prisma.EquipmentCreateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput - > - | Prisma.EquipmentCreateWithoutSubCategoryInput[] - | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] - connectOrCreate?: - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput - | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] - upsert?: - | Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput - | Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput[] + create?: Prisma.XOR | Prisma.EquipmentCreateWithoutSubCategoryInput[] | Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput[] + connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput | Prisma.EquipmentCreateOrConnectWithoutSubCategoryInput[] + upsert?: Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput | Prisma.EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput[] createMany?: Prisma.EquipmentCreateManySubCategoryInputEnvelope set?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] disconnect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] delete?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] connect?: Prisma.EquipmentWhereUniqueInput | Prisma.EquipmentWhereUniqueInput[] - update?: - | Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput - | Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput[] - updateMany?: - | Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput - | Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput[] + update?: Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput | Prisma.EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput[] + updateMany?: Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput | Prisma.EquipmentUpdateManyWithWhereWithoutSubCategoryInput[] deleteMany?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] } export type EquipmentCreateNestedOneWithoutGenerationsInput = { - create?: Prisma.XOR< - Prisma.EquipmentCreateWithoutGenerationsInput, - Prisma.EquipmentUncheckedCreateWithoutGenerationsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutGenerationsInput connect?: Prisma.EquipmentWhereUniqueInput } export type EquipmentUpdateOneRequiredWithoutGenerationsNestedInput = { - create?: Prisma.XOR< - Prisma.EquipmentCreateWithoutGenerationsInput, - Prisma.EquipmentUncheckedCreateWithoutGenerationsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.EquipmentCreateOrConnectWithoutGenerationsInput upsert?: Prisma.EquipmentUpsertWithoutGenerationsInput connect?: Prisma.EquipmentWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.EquipmentUpdateToOneWithWhereWithoutGenerationsInput, - Prisma.EquipmentUpdateWithoutGenerationsInput - >, - Prisma.EquipmentUncheckedUpdateWithoutGenerationsInput - > + update?: Prisma.XOR, Prisma.EquipmentUncheckedUpdateWithoutGenerationsInput> } export type EquipmentCreateWithoutImageInput = { @@ -718,10 +563,7 @@ export type EquipmentUncheckedCreateWithoutImageInput = { export type EquipmentCreateOrConnectWithoutImageInput = { where: Prisma.EquipmentWhereUniqueInput - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutImageInput, - Prisma.EquipmentUncheckedCreateWithoutImageInput - > + create: Prisma.XOR } export type EquipmentCreateManyImageInputEnvelope = { @@ -730,44 +572,32 @@ export type EquipmentCreateManyImageInputEnvelope = { export type EquipmentUpsertWithWhereUniqueWithoutImageInput = { where: Prisma.EquipmentWhereUniqueInput - update: Prisma.XOR< - Prisma.EquipmentUpdateWithoutImageInput, - Prisma.EquipmentUncheckedUpdateWithoutImageInput - > - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutImageInput, - Prisma.EquipmentUncheckedCreateWithoutImageInput - > + update: Prisma.XOR + create: Prisma.XOR } export type EquipmentUpdateWithWhereUniqueWithoutImageInput = { where: Prisma.EquipmentWhereUniqueInput - data: Prisma.XOR< - Prisma.EquipmentUpdateWithoutImageInput, - Prisma.EquipmentUncheckedUpdateWithoutImageInput - > + data: Prisma.XOR } export type EquipmentUpdateManyWithWhereWithoutImageInput = { where: Prisma.EquipmentScalarWhereInput - data: Prisma.XOR< - Prisma.EquipmentUpdateManyMutationInput, - Prisma.EquipmentUncheckedUpdateManyWithoutImageInput - > + data: Prisma.XOR } export type EquipmentScalarWhereInput = { AND?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] OR?: Prisma.EquipmentScalarWhereInput[] NOT?: Prisma.EquipmentScalarWhereInput | Prisma.EquipmentScalarWhereInput[] - id?: Prisma.StringFilter<'Equipment'> | string - name?: Prisma.StringFilter<'Equipment'> | string - description?: Prisma.StringFilter<'Equipment'> | string - categoryId?: Prisma.StringFilter<'Equipment'> | string - subCategoryId?: Prisma.StringNullableFilter<'Equipment'> | string | null - imageId?: Prisma.StringFilter<'Equipment'> | string - createdAt?: Prisma.DateTimeFilter<'Equipment'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Equipment'> | Date | string + id?: Prisma.StringFilter<"Equipment"> | string + name?: Prisma.StringFilter<"Equipment"> | string + description?: Prisma.StringFilter<"Equipment"> | string + categoryId?: Prisma.StringFilter<"Equipment"> | string + subCategoryId?: Prisma.StringNullableFilter<"Equipment"> | string | null + imageId?: Prisma.StringFilter<"Equipment"> | string + createdAt?: Prisma.DateTimeFilter<"Equipment"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Equipment"> | Date | string } export type EquipmentCreateWithoutCategoryInput = { @@ -794,10 +624,7 @@ export type EquipmentUncheckedCreateWithoutCategoryInput = { export type EquipmentCreateOrConnectWithoutCategoryInput = { where: Prisma.EquipmentWhereUniqueInput - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutCategoryInput - > + create: Prisma.XOR } export type EquipmentCreateManyCategoryInputEnvelope = { @@ -828,10 +655,7 @@ export type EquipmentUncheckedCreateWithoutSubCategoryInput = { export type EquipmentCreateOrConnectWithoutSubCategoryInput = { where: Prisma.EquipmentWhereUniqueInput - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput - > + create: Prisma.XOR } export type EquipmentCreateManySubCategoryInputEnvelope = { @@ -840,58 +664,34 @@ export type EquipmentCreateManySubCategoryInputEnvelope = { export type EquipmentUpsertWithWhereUniqueWithoutCategoryInput = { where: Prisma.EquipmentWhereUniqueInput - update: Prisma.XOR< - Prisma.EquipmentUpdateWithoutCategoryInput, - Prisma.EquipmentUncheckedUpdateWithoutCategoryInput - > - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutCategoryInput - > + update: Prisma.XOR + create: Prisma.XOR } export type EquipmentUpdateWithWhereUniqueWithoutCategoryInput = { where: Prisma.EquipmentWhereUniqueInput - data: Prisma.XOR< - Prisma.EquipmentUpdateWithoutCategoryInput, - Prisma.EquipmentUncheckedUpdateWithoutCategoryInput - > + data: Prisma.XOR } export type EquipmentUpdateManyWithWhereWithoutCategoryInput = { where: Prisma.EquipmentScalarWhereInput - data: Prisma.XOR< - Prisma.EquipmentUpdateManyMutationInput, - Prisma.EquipmentUncheckedUpdateManyWithoutCategoryInput - > + data: Prisma.XOR } export type EquipmentUpsertWithWhereUniqueWithoutSubCategoryInput = { where: Prisma.EquipmentWhereUniqueInput - update: Prisma.XOR< - Prisma.EquipmentUpdateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedUpdateWithoutSubCategoryInput - > - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedCreateWithoutSubCategoryInput - > + update: Prisma.XOR + create: Prisma.XOR } export type EquipmentUpdateWithWhereUniqueWithoutSubCategoryInput = { where: Prisma.EquipmentWhereUniqueInput - data: Prisma.XOR< - Prisma.EquipmentUpdateWithoutSubCategoryInput, - Prisma.EquipmentUncheckedUpdateWithoutSubCategoryInput - > + data: Prisma.XOR } export type EquipmentUpdateManyWithWhereWithoutSubCategoryInput = { where: Prisma.EquipmentScalarWhereInput - data: Prisma.XOR< - Prisma.EquipmentUpdateManyMutationInput, - Prisma.EquipmentUncheckedUpdateManyWithoutSubCategoryInput - > + data: Prisma.XOR } export type EquipmentCreateWithoutGenerationsInput = { @@ -918,30 +718,18 @@ export type EquipmentUncheckedCreateWithoutGenerationsInput = { export type EquipmentCreateOrConnectWithoutGenerationsInput = { where: Prisma.EquipmentWhereUniqueInput - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutGenerationsInput, - Prisma.EquipmentUncheckedCreateWithoutGenerationsInput - > + create: Prisma.XOR } export type EquipmentUpsertWithoutGenerationsInput = { - update: Prisma.XOR< - Prisma.EquipmentUpdateWithoutGenerationsInput, - Prisma.EquipmentUncheckedUpdateWithoutGenerationsInput - > - create: Prisma.XOR< - Prisma.EquipmentCreateWithoutGenerationsInput, - Prisma.EquipmentUncheckedCreateWithoutGenerationsInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.EquipmentWhereInput } export type EquipmentUpdateToOneWithWhereWithoutGenerationsInput = { where?: Prisma.EquipmentWhereInput - data: Prisma.XOR< - Prisma.EquipmentUpdateWithoutGenerationsInput, - Prisma.EquipmentUncheckedUpdateWithoutGenerationsInput - > + data: Prisma.XOR } export type EquipmentUpdateWithoutGenerationsInput = { @@ -1092,6 +880,7 @@ export type EquipmentUncheckedUpdateManyWithoutSubCategoryInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } + /** * Count Type EquipmentCountOutputType */ @@ -1100,18 +889,14 @@ export type EquipmentCountOutputType = { generations: number } -export type EquipmentCountOutputTypeSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentCountOutputTypeSelect = { generations?: boolean | EquipmentCountOutputTypeCountGenerationsArgs } /** * EquipmentCountOutputType without action */ -export type EquipmentCountOutputTypeDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the EquipmentCountOutputType */ @@ -1121,70 +906,54 @@ export type EquipmentCountOutputTypeDefaultArgs< /** * EquipmentCountOutputType without action */ -export type EquipmentCountOutputTypeCountGenerationsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentCountOutputTypeCountGenerationsArgs = { where?: Prisma.GenerationEquipmentWhereInput } -export type EquipmentSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - description?: boolean - categoryId?: boolean - subCategoryId?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - category?: boolean | Prisma.CategoryDefaultArgs - subCategory?: boolean | Prisma.Equipment$subCategoryArgs - image?: boolean | Prisma.AssetDefaultArgs - generations?: boolean | Prisma.Equipment$generationsArgs - _count?: boolean | Prisma.EquipmentCountOutputTypeDefaultArgs - }, - ExtArgs['result']['equipment'] -> -export type EquipmentSelectCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - description?: boolean - categoryId?: boolean - subCategoryId?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - category?: boolean | Prisma.CategoryDefaultArgs - subCategory?: boolean | Prisma.Equipment$subCategoryArgs - image?: boolean | Prisma.AssetDefaultArgs - }, - ExtArgs['result']['equipment'] -> +export type EquipmentSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + categoryId?: boolean + subCategoryId?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + category?: boolean | Prisma.CategoryDefaultArgs + subCategory?: boolean | Prisma.Equipment$subCategoryArgs + image?: boolean | Prisma.AssetDefaultArgs + generations?: boolean | Prisma.Equipment$generationsArgs + _count?: boolean | Prisma.EquipmentCountOutputTypeDefaultArgs +}, ExtArgs["result"]["equipment"]> -export type EquipmentSelectUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - name?: boolean - description?: boolean - categoryId?: boolean - subCategoryId?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - category?: boolean | Prisma.CategoryDefaultArgs - subCategory?: boolean | Prisma.Equipment$subCategoryArgs - image?: boolean | Prisma.AssetDefaultArgs - }, - ExtArgs['result']['equipment'] -> +export type EquipmentSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + categoryId?: boolean + subCategoryId?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + category?: boolean | Prisma.CategoryDefaultArgs + subCategory?: boolean | Prisma.Equipment$subCategoryArgs + image?: boolean | Prisma.AssetDefaultArgs +}, ExtArgs["result"]["equipment"]> + +export type EquipmentSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + categoryId?: boolean + subCategoryId?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + category?: boolean | Prisma.CategoryDefaultArgs + subCategory?: boolean | Prisma.Equipment$subCategoryArgs + image?: boolean | Prisma.AssetDefaultArgs +}, ExtArgs["result"]["equipment"]> export type EquipmentSelectScalar = { id?: boolean @@ -1197,83 +966,55 @@ export type EquipmentSelectScalar = { updatedAt?: boolean } -export type EquipmentOmit< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetOmit< - | 'id' - | 'name' - | 'description' - | 'categoryId' - | 'subCategoryId' - | 'imageId' - | 'createdAt' - | 'updatedAt', - ExtArgs['result']['equipment'] -> -export type EquipmentInclude< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentOmit = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "categoryId" | "subCategoryId" | "imageId" | "createdAt" | "updatedAt", ExtArgs["result"]["equipment"]> +export type EquipmentInclude = { category?: boolean | Prisma.CategoryDefaultArgs subCategory?: boolean | Prisma.Equipment$subCategoryArgs image?: boolean | Prisma.AssetDefaultArgs generations?: boolean | Prisma.Equipment$generationsArgs _count?: boolean | Prisma.EquipmentCountOutputTypeDefaultArgs } -export type EquipmentIncludeCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentIncludeCreateManyAndReturn = { category?: boolean | Prisma.CategoryDefaultArgs subCategory?: boolean | Prisma.Equipment$subCategoryArgs image?: boolean | Prisma.AssetDefaultArgs } -export type EquipmentIncludeUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentIncludeUpdateManyAndReturn = { category?: boolean | Prisma.CategoryDefaultArgs subCategory?: boolean | Prisma.Equipment$subCategoryArgs image?: boolean | Prisma.AssetDefaultArgs } -export type $EquipmentPayload< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { - name: 'Equipment' +export type $EquipmentPayload = { + name: "Equipment" objects: { category: Prisma.$CategoryPayload subCategory: Prisma.$CategoryPayload | null image: Prisma.$AssetPayload generations: Prisma.$GenerationEquipmentPayload[] } - scalars: runtime.Types.Extensions.GetPayloadResult< - { - id: string - name: string - description: string - categoryId: string - subCategoryId: string | null - imageId: string - createdAt: Date - updatedAt: Date - }, - ExtArgs['result']['equipment'] - > + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + name: string + description: string + categoryId: string + subCategoryId: string | null + imageId: string + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["equipment"]> composites: {} } -export type EquipmentGetPayload = - runtime.Types.Result.GetResult +export type EquipmentGetPayload = runtime.Types.Result.GetResult -export type EquipmentCountArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = Omit & { - select?: EquipmentCountAggregateInputType | true -} +export type EquipmentCountArgs = + Omit & { + select?: EquipmentCountAggregateInputType | true + } -export interface EquipmentDelegate< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> { - [K: symbol]: { types: Prisma.TypeMap['model']['Equipment']; meta: { name: 'Equipment' } } +export interface EquipmentDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Equipment'], meta: { name: 'Equipment' } } /** * Find zero or one Equipment that matches the filter. * @param {EquipmentFindUniqueArgs} args - Arguments to find a Equipment @@ -1285,19 +1026,7 @@ export interface EquipmentDelegate< * } * }) */ - findUnique( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findUnique', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Equipment that matches the filter or throw an error with `error.code='P2025'` @@ -1311,19 +1040,7 @@ export interface EquipmentDelegate< * } * }) */ - findUniqueOrThrow( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Equipment that matches the filter. @@ -1338,19 +1055,7 @@ export interface EquipmentDelegate< * } * }) */ - findFirst( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findFirst', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Equipment that matches the filter or @@ -1366,19 +1071,7 @@ export interface EquipmentDelegate< * } * }) */ - findFirstOrThrow( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findFirstOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Equipment that matches the filter. @@ -1396,16 +1089,7 @@ export interface EquipmentDelegate< * const equipmentWithIdOnly = await prisma.equipment.findMany({ select: { id: true } }) * */ - findMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - > + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a Equipment. @@ -1419,19 +1103,7 @@ export interface EquipmentDelegate< * }) * */ - create( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'create', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + create(args: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Equipment. @@ -1445,9 +1117,7 @@ export interface EquipmentDelegate< * }) * */ - createMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many Equipment and returns the data saved in the database. @@ -1471,16 +1141,7 @@ export interface EquipmentDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'createManyAndReturn', - GlobalOmitOptions - > - > + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Equipment. @@ -1494,19 +1155,7 @@ export interface EquipmentDelegate< * }) * */ - delete( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'delete', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + delete(args: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Equipment. @@ -1523,19 +1172,7 @@ export interface EquipmentDelegate< * }) * */ - update( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'update', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + update(args: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Equipment. @@ -1549,9 +1186,7 @@ export interface EquipmentDelegate< * }) * */ - deleteMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Equipment. @@ -1570,9 +1205,7 @@ export interface EquipmentDelegate< * }) * */ - updateMany( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Equipment and returns the data updated in the database. @@ -1602,16 +1235,7 @@ export interface EquipmentDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'updateManyAndReturn', - GlobalOmitOptions - > - > + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Equipment. @@ -1630,19 +1254,8 @@ export interface EquipmentDelegate< * } * }) */ - upsert( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__EquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'upsert', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__EquipmentClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + /** * Count the number of Equipment. @@ -1656,7 +1269,7 @@ export interface EquipmentDelegate< * // ... the filter for the Equipment we want to count * } * }) - **/ + **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< @@ -1690,10 +1303,8 @@ export interface EquipmentDelegate< * }, * take: 10, * }) - **/ - aggregate( - args: Prisma.Subset, - ): Prisma.PrismaPromise> + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by Equipment. @@ -1712,7 +1323,7 @@ export interface EquipmentDelegate< * }, * }) * - **/ + **/ groupBy< T extends EquipmentGroupByArgs, HasSelectOrTake extends Prisma.Or< @@ -1722,58 +1333,59 @@ export interface EquipmentDelegate< OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: EquipmentGroupByArgs['orderBy'] } : { orderBy?: EquipmentGroupByArgs['orderBy'] }, - OrderFields extends Prisma.ExcludeUnderscoreKeys< - Prisma.Keys> - >, + 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 + ? `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 - : 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 ? GetEquipmentGroupByPayload : Prisma.PrismaPromise - /** - * Fields of the Equipment model - */ - readonly fields: EquipmentFieldRefs + : `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 ? GetEquipmentGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Equipment model + */ +readonly fields: EquipmentFieldRefs; } /** @@ -1782,83 +1394,25 @@ export interface EquipmentDelegate< * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ -export interface Prisma__EquipmentClient< - T, - Null = never, - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise' - category = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__CategoryClient< - | runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > - subCategory = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__CategoryClient< - runtime.Types.Result.GetResult< - Prisma.$CategoryPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > - image = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__AssetClient< - | runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > - generations = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > +export interface Prisma__EquipmentClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + category = {}>(args?: Prisma.Subset>): Prisma.Prisma__CategoryClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + subCategory = {}>(args?: Prisma.Subset>): Prisma.Prisma__CategoryClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + image = {}>(args?: Prisma.Subset>): Prisma.Prisma__AssetClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + generations = {}>(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. * @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 + 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 + 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. @@ -1868,27 +1422,29 @@ export interface Prisma__EquipmentClient< finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } + + + /** * Fields of the Equipment model */ export interface EquipmentFieldRefs { - readonly id: Prisma.FieldRef<'Equipment', 'String'> - readonly name: Prisma.FieldRef<'Equipment', 'String'> - readonly description: Prisma.FieldRef<'Equipment', 'String'> - readonly categoryId: Prisma.FieldRef<'Equipment', 'String'> - readonly subCategoryId: Prisma.FieldRef<'Equipment', 'String'> - readonly imageId: Prisma.FieldRef<'Equipment', 'String'> - readonly createdAt: Prisma.FieldRef<'Equipment', 'DateTime'> - readonly updatedAt: Prisma.FieldRef<'Equipment', 'DateTime'> + readonly id: Prisma.FieldRef<"Equipment", 'String'> + readonly name: Prisma.FieldRef<"Equipment", 'String'> + readonly description: Prisma.FieldRef<"Equipment", 'String'> + readonly categoryId: Prisma.FieldRef<"Equipment", 'String'> + readonly subCategoryId: Prisma.FieldRef<"Equipment", 'String'> + readonly imageId: Prisma.FieldRef<"Equipment", 'String'> + readonly createdAt: Prisma.FieldRef<"Equipment", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Equipment", 'DateTime'> } + // Custom InputTypes /** * Equipment findUnique */ -export type EquipmentFindUniqueArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentFindUniqueArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -1910,9 +1466,7 @@ export type EquipmentFindUniqueArgs< /** * Equipment findUniqueOrThrow */ -export type EquipmentFindUniqueOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -1934,9 +1488,7 @@ export type EquipmentFindUniqueOrThrowArgs< /** * Equipment findFirst */ -export type EquipmentFindFirstArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentFindFirstArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -1988,9 +1540,7 @@ export type EquipmentFindFirstArgs< /** * Equipment findFirstOrThrow */ -export type EquipmentFindFirstOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2042,9 +1592,7 @@ export type EquipmentFindFirstOrThrowArgs< /** * Equipment findMany */ -export type EquipmentFindManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentFindManyArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2091,9 +1639,7 @@ export type EquipmentFindManyArgs< /** * Equipment create */ -export type EquipmentCreateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentCreateArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2115,9 +1661,7 @@ export type EquipmentCreateArgs< /** * Equipment createMany */ -export type EquipmentCreateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentCreateManyArgs = { /** * The data used to create many Equipment. */ @@ -2127,9 +1671,7 @@ export type EquipmentCreateManyArgs< /** * Equipment createManyAndReturn */ -export type EquipmentCreateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2151,9 +1693,7 @@ export type EquipmentCreateManyAndReturnArgs< /** * Equipment update */ -export type EquipmentUpdateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentUpdateArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2179,16 +1719,11 @@ export type EquipmentUpdateArgs< /** * Equipment updateMany */ -export type EquipmentUpdateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentUpdateManyArgs = { /** * The data used to update Equipment. */ - data: Prisma.XOR< - Prisma.EquipmentUpdateManyMutationInput, - Prisma.EquipmentUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which Equipment to update */ @@ -2202,9 +1737,7 @@ export type EquipmentUpdateManyArgs< /** * Equipment updateManyAndReturn */ -export type EquipmentUpdateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2216,10 +1749,7 @@ export type EquipmentUpdateManyAndReturnArgs< /** * The data used to update Equipment. */ - data: Prisma.XOR< - Prisma.EquipmentUpdateManyMutationInput, - Prisma.EquipmentUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which Equipment to update */ @@ -2237,9 +1767,7 @@ export type EquipmentUpdateManyAndReturnArgs< /** * Equipment upsert */ -export type EquipmentUpsertArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentUpsertArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2269,9 +1797,7 @@ export type EquipmentUpsertArgs< /** * Equipment delete */ -export type EquipmentDeleteArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentDeleteArgs = { /** * Select specific fields to fetch from the Equipment */ @@ -2293,9 +1819,7 @@ export type EquipmentDeleteArgs< /** * Equipment deleteMany */ -export type EquipmentDeleteManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentDeleteManyArgs = { /** * Filter which Equipment to delete */ @@ -2309,9 +1833,7 @@ export type EquipmentDeleteManyArgs< /** * Equipment.subCategory */ -export type Equipment$subCategoryArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Equipment$subCategoryArgs = { /** * Select specific fields to fetch from the Category */ @@ -2330,9 +1852,7 @@ export type Equipment$subCategoryArgs< /** * Equipment.generations */ -export type Equipment$generationsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Equipment$generationsArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -2346,9 +1866,7 @@ export type Equipment$generationsArgs< */ include?: Prisma.GenerationEquipmentInclude | null where?: Prisma.GenerationEquipmentWhereInput - orderBy?: - | Prisma.GenerationEquipmentOrderByWithRelationInput - | Prisma.GenerationEquipmentOrderByWithRelationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithRelationInput | Prisma.GenerationEquipmentOrderByWithRelationInput[] cursor?: Prisma.GenerationEquipmentWhereUniqueInput take?: number skip?: number @@ -2358,9 +1876,7 @@ export type Equipment$generationsArgs< /** * Equipment without action */ -export type EquipmentDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type EquipmentDefaultArgs = { /** * Select specific fields to fetch from the Equipment */ diff --git a/src/generated/prisma/models/Generation.ts b/src/generated/prisma/models/Generation.ts index a42c24f..80a842d 100644 --- a/src/generated/prisma/models/Generation.ts +++ b/src/generated/prisma/models/Generation.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -7,9 +8,9 @@ * * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import type * as $Enums from '../enums.js' -import type * as Prisma from '../internal/prismaNamespace.js' +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 Generation @@ -48,6 +49,7 @@ export type GenerationCountAggregateOutputType = { _all: number } + export type GenerationMinAggregateInputType = { id?: true characterId?: true @@ -73,9 +75,7 @@ export type GenerationCountAggregateInputType = { _all?: true } -export type GenerationAggregateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationAggregateArgs = { /** * Filter which Generation to aggregate. */ @@ -108,37 +108,36 @@ export type GenerationAggregateArgs< * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned Generations - **/ + **/ _count?: true | GenerationCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value - **/ + **/ _min?: GenerationMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value - **/ + **/ _max?: GenerationMaxAggregateInputType } export type GetGenerationAggregateType = { - [P in keyof T & keyof AggregateGeneration]: P extends '_count' | 'count' + [P in keyof T & keyof AggregateGeneration]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } -export type GenerationGroupByArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { + + + +export type GenerationGroupByArgs = { where?: Prisma.GenerationWhereInput - orderBy?: - | Prisma.GenerationOrderByWithAggregationInput - | Prisma.GenerationOrderByWithAggregationInput[] + orderBy?: Prisma.GenerationOrderByWithAggregationInput | Prisma.GenerationOrderByWithAggregationInput[] by: Prisma.GenerationScalarFieldEnum[] | Prisma.GenerationScalarFieldEnum having?: Prisma.GenerationScalarWhereWithAggregatesInput take?: number @@ -161,25 +160,28 @@ export type GenerationGroupByOutputType = { type GetGenerationGroupByPayload = Prisma.PrismaPromise< Array< - Prisma.PickEnumerable & { - [P in keyof T & keyof GenerationGroupByOutputType]: P extends '_count' - ? T[P] extends boolean - ? number + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof GenerationGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType : Prisma.GetScalarType - : Prisma.GetScalarType - } + } + > > -> + + export type GenerationWhereInput = { AND?: Prisma.GenerationWhereInput | Prisma.GenerationWhereInput[] OR?: Prisma.GenerationWhereInput[] NOT?: Prisma.GenerationWhereInput | Prisma.GenerationWhereInput[] - id?: Prisma.StringFilter<'Generation'> | string - characterId?: Prisma.StringFilter<'Generation'> | string - imageId?: Prisma.StringFilter<'Generation'> | string - createdAt?: Prisma.DateTimeFilter<'Generation'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Generation'> | Date | string + id?: Prisma.StringFilter<"Generation"> | string + characterId?: Prisma.StringFilter<"Generation"> | string + imageId?: Prisma.StringFilter<"Generation"> | string + createdAt?: Prisma.DateTimeFilter<"Generation"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Generation"> | Date | string character?: Prisma.XOR image?: Prisma.XOR equipments?: Prisma.GenerationEquipmentListRelationFilter @@ -196,22 +198,19 @@ export type GenerationOrderByWithRelationInput = { equipments?: Prisma.GenerationEquipmentOrderByRelationAggregateInput } -export type GenerationWhereUniqueInput = Prisma.AtLeast< - { - id?: string - AND?: Prisma.GenerationWhereInput | Prisma.GenerationWhereInput[] - OR?: Prisma.GenerationWhereInput[] - NOT?: Prisma.GenerationWhereInput | Prisma.GenerationWhereInput[] - characterId?: Prisma.StringFilter<'Generation'> | string - imageId?: Prisma.StringFilter<'Generation'> | string - createdAt?: Prisma.DateTimeFilter<'Generation'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Generation'> | Date | string - character?: Prisma.XOR - image?: Prisma.XOR - equipments?: Prisma.GenerationEquipmentListRelationFilter - }, - 'id' -> +export type GenerationWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: Prisma.GenerationWhereInput | Prisma.GenerationWhereInput[] + OR?: Prisma.GenerationWhereInput[] + NOT?: Prisma.GenerationWhereInput | Prisma.GenerationWhereInput[] + characterId?: Prisma.StringFilter<"Generation"> | string + imageId?: Prisma.StringFilter<"Generation"> | string + createdAt?: Prisma.DateTimeFilter<"Generation"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Generation"> | Date | string + character?: Prisma.XOR + image?: Prisma.XOR + equipments?: Prisma.GenerationEquipmentListRelationFilter +}, "id"> export type GenerationOrderByWithAggregationInput = { id?: Prisma.SortOrder @@ -225,18 +224,14 @@ export type GenerationOrderByWithAggregationInput = { } export type GenerationScalarWhereWithAggregatesInput = { - AND?: - | Prisma.GenerationScalarWhereWithAggregatesInput - | Prisma.GenerationScalarWhereWithAggregatesInput[] + AND?: Prisma.GenerationScalarWhereWithAggregatesInput | Prisma.GenerationScalarWhereWithAggregatesInput[] OR?: Prisma.GenerationScalarWhereWithAggregatesInput[] - NOT?: - | Prisma.GenerationScalarWhereWithAggregatesInput - | Prisma.GenerationScalarWhereWithAggregatesInput[] - id?: Prisma.StringWithAggregatesFilter<'Generation'> | string - characterId?: Prisma.StringWithAggregatesFilter<'Generation'> | string - imageId?: Prisma.StringWithAggregatesFilter<'Generation'> | string - createdAt?: Prisma.DateTimeWithAggregatesFilter<'Generation'> | Date | string - updatedAt?: Prisma.DateTimeWithAggregatesFilter<'Generation'> | Date | string + NOT?: Prisma.GenerationScalarWhereWithAggregatesInput | Prisma.GenerationScalarWhereWithAggregatesInput[] + id?: Prisma.StringWithAggregatesFilter<"Generation"> | string + characterId?: Prisma.StringWithAggregatesFilter<"Generation"> | string + imageId?: Prisma.StringWithAggregatesFilter<"Generation"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Generation"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Generation"> | Date | string } export type GenerationCreateInput = { @@ -337,201 +332,101 @@ export type GenerationScalarRelationFilter = { } export type GenerationCreateNestedManyWithoutImageInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutImageInput, - Prisma.GenerationUncheckedCreateWithoutImageInput - > - | Prisma.GenerationCreateWithoutImageInput[] - | Prisma.GenerationUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutImageInput - | Prisma.GenerationCreateOrConnectWithoutImageInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutImageInput[] | Prisma.GenerationUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutImageInput | Prisma.GenerationCreateOrConnectWithoutImageInput[] createMany?: Prisma.GenerationCreateManyImageInputEnvelope connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] } export type GenerationUncheckedCreateNestedManyWithoutImageInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutImageInput, - Prisma.GenerationUncheckedCreateWithoutImageInput - > - | Prisma.GenerationCreateWithoutImageInput[] - | Prisma.GenerationUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutImageInput - | Prisma.GenerationCreateOrConnectWithoutImageInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutImageInput[] | Prisma.GenerationUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutImageInput | Prisma.GenerationCreateOrConnectWithoutImageInput[] createMany?: Prisma.GenerationCreateManyImageInputEnvelope connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] } export type GenerationUpdateManyWithoutImageNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutImageInput, - Prisma.GenerationUncheckedCreateWithoutImageInput - > - | Prisma.GenerationCreateWithoutImageInput[] - | Prisma.GenerationUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutImageInput - | Prisma.GenerationCreateOrConnectWithoutImageInput[] - upsert?: - | Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput - | Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutImageInput[] | Prisma.GenerationUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutImageInput | Prisma.GenerationCreateOrConnectWithoutImageInput[] + upsert?: Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput | Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput[] createMany?: Prisma.GenerationCreateManyImageInputEnvelope set?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] disconnect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] delete?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] - update?: - | Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput - | Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput[] - updateMany?: - | Prisma.GenerationUpdateManyWithWhereWithoutImageInput - | Prisma.GenerationUpdateManyWithWhereWithoutImageInput[] + update?: Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput | Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput[] + updateMany?: Prisma.GenerationUpdateManyWithWhereWithoutImageInput | Prisma.GenerationUpdateManyWithWhereWithoutImageInput[] deleteMany?: Prisma.GenerationScalarWhereInput | Prisma.GenerationScalarWhereInput[] } export type GenerationUncheckedUpdateManyWithoutImageNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutImageInput, - Prisma.GenerationUncheckedCreateWithoutImageInput - > - | Prisma.GenerationCreateWithoutImageInput[] - | Prisma.GenerationUncheckedCreateWithoutImageInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutImageInput - | Prisma.GenerationCreateOrConnectWithoutImageInput[] - upsert?: - | Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput - | Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutImageInput[] | Prisma.GenerationUncheckedCreateWithoutImageInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutImageInput | Prisma.GenerationCreateOrConnectWithoutImageInput[] + upsert?: Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput | Prisma.GenerationUpsertWithWhereUniqueWithoutImageInput[] createMany?: Prisma.GenerationCreateManyImageInputEnvelope set?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] disconnect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] delete?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] - update?: - | Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput - | Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput[] - updateMany?: - | Prisma.GenerationUpdateManyWithWhereWithoutImageInput - | Prisma.GenerationUpdateManyWithWhereWithoutImageInput[] + update?: Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput | Prisma.GenerationUpdateWithWhereUniqueWithoutImageInput[] + updateMany?: Prisma.GenerationUpdateManyWithWhereWithoutImageInput | Prisma.GenerationUpdateManyWithWhereWithoutImageInput[] deleteMany?: Prisma.GenerationScalarWhereInput | Prisma.GenerationScalarWhereInput[] } export type GenerationCreateNestedManyWithoutCharacterInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutCharacterInput, - Prisma.GenerationUncheckedCreateWithoutCharacterInput - > - | Prisma.GenerationCreateWithoutCharacterInput[] - | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutCharacterInput - | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutCharacterInput[] | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutCharacterInput | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] createMany?: Prisma.GenerationCreateManyCharacterInputEnvelope connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] } export type GenerationUncheckedCreateNestedManyWithoutCharacterInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutCharacterInput, - Prisma.GenerationUncheckedCreateWithoutCharacterInput - > - | Prisma.GenerationCreateWithoutCharacterInput[] - | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutCharacterInput - | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutCharacterInput[] | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutCharacterInput | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] createMany?: Prisma.GenerationCreateManyCharacterInputEnvelope connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] } export type GenerationUpdateManyWithoutCharacterNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutCharacterInput, - Prisma.GenerationUncheckedCreateWithoutCharacterInput - > - | Prisma.GenerationCreateWithoutCharacterInput[] - | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutCharacterInput - | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] - upsert?: - | Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput - | Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutCharacterInput[] | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutCharacterInput | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] + upsert?: Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput | Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput[] createMany?: Prisma.GenerationCreateManyCharacterInputEnvelope set?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] disconnect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] delete?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] - update?: - | Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput - | Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput[] - updateMany?: - | Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput - | Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput[] + update?: Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput | Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput[] + updateMany?: Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput | Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput[] deleteMany?: Prisma.GenerationScalarWhereInput | Prisma.GenerationScalarWhereInput[] } export type GenerationUncheckedUpdateManyWithoutCharacterNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationCreateWithoutCharacterInput, - Prisma.GenerationUncheckedCreateWithoutCharacterInput - > - | Prisma.GenerationCreateWithoutCharacterInput[] - | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] - connectOrCreate?: - | Prisma.GenerationCreateOrConnectWithoutCharacterInput - | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] - upsert?: - | Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput - | Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput[] + create?: Prisma.XOR | Prisma.GenerationCreateWithoutCharacterInput[] | Prisma.GenerationUncheckedCreateWithoutCharacterInput[] + connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutCharacterInput | Prisma.GenerationCreateOrConnectWithoutCharacterInput[] + upsert?: Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput | Prisma.GenerationUpsertWithWhereUniqueWithoutCharacterInput[] createMany?: Prisma.GenerationCreateManyCharacterInputEnvelope set?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] disconnect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] delete?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] connect?: Prisma.GenerationWhereUniqueInput | Prisma.GenerationWhereUniqueInput[] - update?: - | Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput - | Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput[] - updateMany?: - | Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput - | Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput[] + update?: Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput | Prisma.GenerationUpdateWithWhereUniqueWithoutCharacterInput[] + updateMany?: Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput | Prisma.GenerationUpdateManyWithWhereWithoutCharacterInput[] deleteMany?: Prisma.GenerationScalarWhereInput | Prisma.GenerationScalarWhereInput[] } export type GenerationCreateNestedOneWithoutEquipmentsInput = { - create?: Prisma.XOR< - Prisma.GenerationCreateWithoutEquipmentsInput, - Prisma.GenerationUncheckedCreateWithoutEquipmentsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutEquipmentsInput connect?: Prisma.GenerationWhereUniqueInput } export type GenerationUpdateOneRequiredWithoutEquipmentsNestedInput = { - create?: Prisma.XOR< - Prisma.GenerationCreateWithoutEquipmentsInput, - Prisma.GenerationUncheckedCreateWithoutEquipmentsInput - > + create?: Prisma.XOR connectOrCreate?: Prisma.GenerationCreateOrConnectWithoutEquipmentsInput upsert?: Prisma.GenerationUpsertWithoutEquipmentsInput connect?: Prisma.GenerationWhereUniqueInput - update?: Prisma.XOR< - Prisma.XOR< - Prisma.GenerationUpdateToOneWithWhereWithoutEquipmentsInput, - Prisma.GenerationUpdateWithoutEquipmentsInput - >, - Prisma.GenerationUncheckedUpdateWithoutEquipmentsInput - > + update?: Prisma.XOR, Prisma.GenerationUncheckedUpdateWithoutEquipmentsInput> } export type GenerationCreateWithoutImageInput = { @@ -552,10 +447,7 @@ export type GenerationUncheckedCreateWithoutImageInput = { export type GenerationCreateOrConnectWithoutImageInput = { where: Prisma.GenerationWhereUniqueInput - create: Prisma.XOR< - Prisma.GenerationCreateWithoutImageInput, - Prisma.GenerationUncheckedCreateWithoutImageInput - > + create: Prisma.XOR } export type GenerationCreateManyImageInputEnvelope = { @@ -564,41 +456,29 @@ export type GenerationCreateManyImageInputEnvelope = { export type GenerationUpsertWithWhereUniqueWithoutImageInput = { where: Prisma.GenerationWhereUniqueInput - update: Prisma.XOR< - Prisma.GenerationUpdateWithoutImageInput, - Prisma.GenerationUncheckedUpdateWithoutImageInput - > - create: Prisma.XOR< - Prisma.GenerationCreateWithoutImageInput, - Prisma.GenerationUncheckedCreateWithoutImageInput - > + update: Prisma.XOR + create: Prisma.XOR } export type GenerationUpdateWithWhereUniqueWithoutImageInput = { where: Prisma.GenerationWhereUniqueInput - data: Prisma.XOR< - Prisma.GenerationUpdateWithoutImageInput, - Prisma.GenerationUncheckedUpdateWithoutImageInput - > + data: Prisma.XOR } export type GenerationUpdateManyWithWhereWithoutImageInput = { where: Prisma.GenerationScalarWhereInput - data: Prisma.XOR< - Prisma.GenerationUpdateManyMutationInput, - Prisma.GenerationUncheckedUpdateManyWithoutImageInput - > + data: Prisma.XOR } export type GenerationScalarWhereInput = { AND?: Prisma.GenerationScalarWhereInput | Prisma.GenerationScalarWhereInput[] OR?: Prisma.GenerationScalarWhereInput[] NOT?: Prisma.GenerationScalarWhereInput | Prisma.GenerationScalarWhereInput[] - id?: Prisma.StringFilter<'Generation'> | string - characterId?: Prisma.StringFilter<'Generation'> | string - imageId?: Prisma.StringFilter<'Generation'> | string - createdAt?: Prisma.DateTimeFilter<'Generation'> | Date | string - updatedAt?: Prisma.DateTimeFilter<'Generation'> | Date | string + id?: Prisma.StringFilter<"Generation"> | string + characterId?: Prisma.StringFilter<"Generation"> | string + imageId?: Prisma.StringFilter<"Generation"> | string + createdAt?: Prisma.DateTimeFilter<"Generation"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Generation"> | Date | string } export type GenerationCreateWithoutCharacterInput = { @@ -619,10 +499,7 @@ export type GenerationUncheckedCreateWithoutCharacterInput = { export type GenerationCreateOrConnectWithoutCharacterInput = { where: Prisma.GenerationWhereUniqueInput - create: Prisma.XOR< - Prisma.GenerationCreateWithoutCharacterInput, - Prisma.GenerationUncheckedCreateWithoutCharacterInput - > + create: Prisma.XOR } export type GenerationCreateManyCharacterInputEnvelope = { @@ -631,30 +508,18 @@ export type GenerationCreateManyCharacterInputEnvelope = { export type GenerationUpsertWithWhereUniqueWithoutCharacterInput = { where: Prisma.GenerationWhereUniqueInput - update: Prisma.XOR< - Prisma.GenerationUpdateWithoutCharacterInput, - Prisma.GenerationUncheckedUpdateWithoutCharacterInput - > - create: Prisma.XOR< - Prisma.GenerationCreateWithoutCharacterInput, - Prisma.GenerationUncheckedCreateWithoutCharacterInput - > + update: Prisma.XOR + create: Prisma.XOR } export type GenerationUpdateWithWhereUniqueWithoutCharacterInput = { where: Prisma.GenerationWhereUniqueInput - data: Prisma.XOR< - Prisma.GenerationUpdateWithoutCharacterInput, - Prisma.GenerationUncheckedUpdateWithoutCharacterInput - > + data: Prisma.XOR } export type GenerationUpdateManyWithWhereWithoutCharacterInput = { where: Prisma.GenerationScalarWhereInput - data: Prisma.XOR< - Prisma.GenerationUpdateManyMutationInput, - Prisma.GenerationUncheckedUpdateManyWithoutCharacterInput - > + data: Prisma.XOR } export type GenerationCreateWithoutEquipmentsInput = { @@ -675,30 +540,18 @@ export type GenerationUncheckedCreateWithoutEquipmentsInput = { export type GenerationCreateOrConnectWithoutEquipmentsInput = { where: Prisma.GenerationWhereUniqueInput - create: Prisma.XOR< - Prisma.GenerationCreateWithoutEquipmentsInput, - Prisma.GenerationUncheckedCreateWithoutEquipmentsInput - > + create: Prisma.XOR } export type GenerationUpsertWithoutEquipmentsInput = { - update: Prisma.XOR< - Prisma.GenerationUpdateWithoutEquipmentsInput, - Prisma.GenerationUncheckedUpdateWithoutEquipmentsInput - > - create: Prisma.XOR< - Prisma.GenerationCreateWithoutEquipmentsInput, - Prisma.GenerationUncheckedCreateWithoutEquipmentsInput - > + update: Prisma.XOR + create: Prisma.XOR where?: Prisma.GenerationWhereInput } export type GenerationUpdateToOneWithWhereWithoutEquipmentsInput = { where?: Prisma.GenerationWhereInput - data: Prisma.XOR< - Prisma.GenerationUpdateWithoutEquipmentsInput, - Prisma.GenerationUncheckedUpdateWithoutEquipmentsInput - > + data: Prisma.XOR } export type GenerationUpdateWithoutEquipmentsInput = { @@ -777,6 +630,7 @@ export type GenerationUncheckedUpdateManyWithoutCharacterInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } + /** * Count Type GenerationCountOutputType */ @@ -785,18 +639,14 @@ export type GenerationCountOutputType = { equipments: number } -export type GenerationCountOutputTypeSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationCountOutputTypeSelect = { equipments?: boolean | GenerationCountOutputTypeCountEquipmentsArgs } /** * GenerationCountOutputType without action */ -export type GenerationCountOutputTypeDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationCountOutputTypeDefaultArgs = { /** * Select specific fields to fetch from the GenerationCountOutputType */ @@ -806,58 +656,42 @@ export type GenerationCountOutputTypeDefaultArgs< /** * GenerationCountOutputType without action */ -export type GenerationCountOutputTypeCountEquipmentsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationCountOutputTypeCountEquipmentsArgs = { where?: Prisma.GenerationEquipmentWhereInput } -export type GenerationSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - characterId?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - character?: boolean | Prisma.CharacterDefaultArgs - image?: boolean | Prisma.AssetDefaultArgs - equipments?: boolean | Prisma.Generation$equipmentsArgs - _count?: boolean | Prisma.GenerationCountOutputTypeDefaultArgs - }, - ExtArgs['result']['generation'] -> -export type GenerationSelectCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - characterId?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - character?: boolean | Prisma.CharacterDefaultArgs - image?: boolean | Prisma.AssetDefaultArgs - }, - ExtArgs['result']['generation'] -> +export type GenerationSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + characterId?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + character?: boolean | Prisma.CharacterDefaultArgs + image?: boolean | Prisma.AssetDefaultArgs + equipments?: boolean | Prisma.Generation$equipmentsArgs + _count?: boolean | Prisma.GenerationCountOutputTypeDefaultArgs +}, ExtArgs["result"]["generation"]> -export type GenerationSelectUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - id?: boolean - characterId?: boolean - imageId?: boolean - createdAt?: boolean - updatedAt?: boolean - character?: boolean | Prisma.CharacterDefaultArgs - image?: boolean | Prisma.AssetDefaultArgs - }, - ExtArgs['result']['generation'] -> +export type GenerationSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + characterId?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + character?: boolean | Prisma.CharacterDefaultArgs + image?: boolean | Prisma.AssetDefaultArgs +}, ExtArgs["result"]["generation"]> + +export type GenerationSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + characterId?: boolean + imageId?: boolean + createdAt?: boolean + updatedAt?: boolean + character?: boolean | Prisma.CharacterDefaultArgs + image?: boolean | Prisma.AssetDefaultArgs +}, ExtArgs["result"]["generation"]> export type GenerationSelectScalar = { id?: boolean @@ -867,72 +701,48 @@ export type GenerationSelectScalar = { updatedAt?: boolean } -export type GenerationOmit< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetOmit< - 'id' | 'characterId' | 'imageId' | 'createdAt' | 'updatedAt', - ExtArgs['result']['generation'] -> -export type GenerationInclude< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationOmit = runtime.Types.Extensions.GetOmit<"id" | "characterId" | "imageId" | "createdAt" | "updatedAt", ExtArgs["result"]["generation"]> +export type GenerationInclude = { character?: boolean | Prisma.CharacterDefaultArgs image?: boolean | Prisma.AssetDefaultArgs equipments?: boolean | Prisma.Generation$equipmentsArgs _count?: boolean | Prisma.GenerationCountOutputTypeDefaultArgs } -export type GenerationIncludeCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationIncludeCreateManyAndReturn = { character?: boolean | Prisma.CharacterDefaultArgs image?: boolean | Prisma.AssetDefaultArgs } -export type GenerationIncludeUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationIncludeUpdateManyAndReturn = { character?: boolean | Prisma.CharacterDefaultArgs image?: boolean | Prisma.AssetDefaultArgs } -export type $GenerationPayload< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { - name: 'Generation' +export type $GenerationPayload = { + name: "Generation" objects: { character: Prisma.$CharacterPayload image: Prisma.$AssetPayload equipments: Prisma.$GenerationEquipmentPayload[] } - scalars: runtime.Types.Extensions.GetPayloadResult< - { - id: string - characterId: string - imageId: string - createdAt: Date - updatedAt: Date - }, - ExtArgs['result']['generation'] - > + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: string + characterId: string + imageId: string + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["generation"]> composites: {} } -export type GenerationGetPayload = - runtime.Types.Result.GetResult +export type GenerationGetPayload = runtime.Types.Result.GetResult -export type GenerationCountArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = Omit & { - select?: GenerationCountAggregateInputType | true -} - -export interface GenerationDelegate< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> { - [K: symbol]: { - types: Prisma.TypeMap['model']['Generation'] - meta: { name: 'Generation' } +export type GenerationCountArgs = + Omit & { + select?: GenerationCountAggregateInputType | true } + +export interface GenerationDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Generation'], meta: { name: 'Generation' } } /** * Find zero or one Generation that matches the filter. * @param {GenerationFindUniqueArgs} args - Arguments to find a Generation @@ -944,19 +754,7 @@ export interface GenerationDelegate< * } * }) */ - findUnique( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findUnique', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one Generation that matches the filter or throw an error with `error.code='P2025'` @@ -970,19 +768,7 @@ export interface GenerationDelegate< * } * }) */ - findUniqueOrThrow( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first Generation that matches the filter. @@ -997,19 +783,7 @@ export interface GenerationDelegate< * } * }) */ - findFirst( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findFirst', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first Generation that matches the filter or @@ -1025,19 +799,7 @@ export interface GenerationDelegate< * } * }) */ - findFirstOrThrow( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findFirstOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more Generations that matches the filter. @@ -1055,16 +817,7 @@ export interface GenerationDelegate< * const generationWithIdOnly = await prisma.generation.findMany({ select: { id: true } }) * */ - findMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findMany', - GlobalOmitOptions - > - > + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a Generation. @@ -1078,19 +831,7 @@ export interface GenerationDelegate< * }) * */ - create( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'create', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + create(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many Generations. @@ -1104,9 +845,7 @@ export interface GenerationDelegate< * }) * */ - createMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many Generations and returns the data saved in the database. @@ -1130,16 +869,7 @@ export interface GenerationDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'createManyAndReturn', - GlobalOmitOptions - > - > + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a Generation. @@ -1153,19 +883,7 @@ export interface GenerationDelegate< * }) * */ - delete( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'delete', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + delete(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one Generation. @@ -1182,19 +900,7 @@ export interface GenerationDelegate< * }) * */ - update( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'update', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + update(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more Generations. @@ -1208,9 +914,7 @@ export interface GenerationDelegate< * }) * */ - deleteMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Generations. @@ -1229,9 +933,7 @@ export interface GenerationDelegate< * }) * */ - updateMany( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more Generations and returns the data updated in the database. @@ -1261,16 +963,7 @@ export interface GenerationDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'updateManyAndReturn', - GlobalOmitOptions - > - > + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one Generation. @@ -1289,19 +982,8 @@ export interface GenerationDelegate< * } * }) */ - upsert( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'upsert', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + /** * Count the number of Generations. @@ -1315,7 +997,7 @@ export interface GenerationDelegate< * // ... the filter for the Generations we want to count * } * }) - **/ + **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< @@ -1349,10 +1031,8 @@ export interface GenerationDelegate< * }, * take: 10, * }) - **/ - aggregate( - args: Prisma.Subset, - ): Prisma.PrismaPromise> + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by Generation. @@ -1371,7 +1051,7 @@ export interface GenerationDelegate< * }, * }) * - **/ + **/ groupBy< T extends GenerationGroupByArgs, HasSelectOrTake extends Prisma.Or< @@ -1381,58 +1061,59 @@ export interface GenerationDelegate< OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: GenerationGroupByArgs['orderBy'] } : { orderBy?: GenerationGroupByArgs['orderBy'] }, - OrderFields extends Prisma.ExcludeUnderscoreKeys< - Prisma.Keys> - >, + 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 + ? `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 - : 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 ? GetGenerationGroupByPayload : Prisma.PrismaPromise - /** - * Fields of the Generation model - */ - readonly fields: GenerationFieldRefs + : `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 ? GetGenerationGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Generation model + */ +readonly fields: GenerationFieldRefs; } /** @@ -1441,70 +1122,24 @@ export interface GenerationDelegate< * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ -export interface Prisma__GenerationClient< - T, - Null = never, - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise' - character = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__CharacterClient< - | runtime.Types.Result.GetResult< - Prisma.$CharacterPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > - image = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__AssetClient< - | runtime.Types.Result.GetResult< - Prisma.$AssetPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > - equipments = {}>( - args?: Prisma.Subset>, - ): Prisma.PrismaPromise< - | runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - | Null - > +export interface Prisma__GenerationClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + character = {}>(args?: Prisma.Subset>): Prisma.Prisma__CharacterClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + image = {}>(args?: Prisma.Subset>): Prisma.Prisma__AssetClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + equipments = {}>(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. * @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 + 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 + 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. @@ -1514,24 +1149,26 @@ export interface Prisma__GenerationClient< finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } + + + /** * Fields of the Generation model */ export interface GenerationFieldRefs { - readonly id: Prisma.FieldRef<'Generation', 'String'> - readonly characterId: Prisma.FieldRef<'Generation', 'String'> - readonly imageId: Prisma.FieldRef<'Generation', 'String'> - readonly createdAt: Prisma.FieldRef<'Generation', 'DateTime'> - readonly updatedAt: Prisma.FieldRef<'Generation', 'DateTime'> + readonly id: Prisma.FieldRef<"Generation", 'String'> + readonly characterId: Prisma.FieldRef<"Generation", 'String'> + readonly imageId: Prisma.FieldRef<"Generation", 'String'> + readonly createdAt: Prisma.FieldRef<"Generation", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Generation", 'DateTime'> } + // Custom InputTypes /** * Generation findUnique */ -export type GenerationFindUniqueArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationFindUniqueArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1553,9 +1190,7 @@ export type GenerationFindUniqueArgs< /** * Generation findUniqueOrThrow */ -export type GenerationFindUniqueOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1577,9 +1212,7 @@ export type GenerationFindUniqueOrThrowArgs< /** * Generation findFirst */ -export type GenerationFindFirstArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationFindFirstArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1631,9 +1264,7 @@ export type GenerationFindFirstArgs< /** * Generation findFirstOrThrow */ -export type GenerationFindFirstOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1685,9 +1316,7 @@ export type GenerationFindFirstOrThrowArgs< /** * Generation findMany */ -export type GenerationFindManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationFindManyArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1734,9 +1363,7 @@ export type GenerationFindManyArgs< /** * Generation create */ -export type GenerationCreateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationCreateArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1758,9 +1385,7 @@ export type GenerationCreateArgs< /** * Generation createMany */ -export type GenerationCreateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationCreateManyArgs = { /** * The data used to create many Generations. */ @@ -1770,9 +1395,7 @@ export type GenerationCreateManyArgs< /** * Generation createManyAndReturn */ -export type GenerationCreateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1794,9 +1417,7 @@ export type GenerationCreateManyAndReturnArgs< /** * Generation update */ -export type GenerationUpdateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationUpdateArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1822,16 +1443,11 @@ export type GenerationUpdateArgs< /** * Generation updateMany */ -export type GenerationUpdateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationUpdateManyArgs = { /** * The data used to update Generations. */ - data: Prisma.XOR< - Prisma.GenerationUpdateManyMutationInput, - Prisma.GenerationUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which Generations to update */ @@ -1845,9 +1461,7 @@ export type GenerationUpdateManyArgs< /** * Generation updateManyAndReturn */ -export type GenerationUpdateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1859,10 +1473,7 @@ export type GenerationUpdateManyAndReturnArgs< /** * The data used to update Generations. */ - data: Prisma.XOR< - Prisma.GenerationUpdateManyMutationInput, - Prisma.GenerationUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which Generations to update */ @@ -1880,9 +1491,7 @@ export type GenerationUpdateManyAndReturnArgs< /** * Generation upsert */ -export type GenerationUpsertArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationUpsertArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1912,9 +1521,7 @@ export type GenerationUpsertArgs< /** * Generation delete */ -export type GenerationDeleteArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationDeleteArgs = { /** * Select specific fields to fetch from the Generation */ @@ -1936,9 +1543,7 @@ export type GenerationDeleteArgs< /** * Generation deleteMany */ -export type GenerationDeleteManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationDeleteManyArgs = { /** * Filter which Generations to delete */ @@ -1952,9 +1557,7 @@ export type GenerationDeleteManyArgs< /** * Generation.equipments */ -export type Generation$equipmentsArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type Generation$equipmentsArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1968,9 +1571,7 @@ export type Generation$equipmentsArgs< */ include?: Prisma.GenerationEquipmentInclude | null where?: Prisma.GenerationEquipmentWhereInput - orderBy?: - | Prisma.GenerationEquipmentOrderByWithRelationInput - | Prisma.GenerationEquipmentOrderByWithRelationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithRelationInput | Prisma.GenerationEquipmentOrderByWithRelationInput[] cursor?: Prisma.GenerationEquipmentWhereUniqueInput take?: number skip?: number @@ -1980,9 +1581,7 @@ export type Generation$equipmentsArgs< /** * Generation without action */ -export type GenerationDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationDefaultArgs = { /** * Select specific fields to fetch from the Generation */ diff --git a/src/generated/prisma/models/GenerationEquipment.ts b/src/generated/prisma/models/GenerationEquipment.ts index 1443de9..291194a 100644 --- a/src/generated/prisma/models/GenerationEquipment.ts +++ b/src/generated/prisma/models/GenerationEquipment.ts @@ -1,3 +1,4 @@ + /* !!! This is code generated by Prisma. Do not edit directly. !!! */ /* eslint-disable */ // biome-ignore-all lint: generated file @@ -7,16 +8,15 @@ * * 🟢 You can import this file directly. */ -import type * as runtime from '@prisma/client/runtime/client' -import type * as $Enums from '../enums.js' -import type * as Prisma from '../internal/prismaNamespace.js' +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 GenerationEquipment * */ -export type GenerationEquipmentModel = - runtime.Types.Result.DefaultSelection +export type GenerationEquipmentModel = runtime.Types.Result.DefaultSelection export type AggregateGenerationEquipment = { _count: GenerationEquipmentCountAggregateOutputType | null @@ -40,6 +40,7 @@ export type GenerationEquipmentCountAggregateOutputType = { _all: number } + export type GenerationEquipmentMinAggregateInputType = { generationId?: true equipmentId?: true @@ -56,9 +57,7 @@ export type GenerationEquipmentCountAggregateInputType = { _all?: true } -export type GenerationEquipmentAggregateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentAggregateArgs = { /** * Filter which GenerationEquipment to aggregate. */ @@ -68,9 +67,7 @@ export type GenerationEquipmentAggregateArgs< * * Determine the order of GenerationEquipments to fetch. */ - orderBy?: - | Prisma.GenerationEquipmentOrderByWithRelationInput - | Prisma.GenerationEquipmentOrderByWithRelationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithRelationInput | Prisma.GenerationEquipmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * @@ -93,37 +90,36 @@ export type GenerationEquipmentAggregateArgs< * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Count returned GenerationEquipments - **/ + **/ _count?: true | GenerationEquipmentCountAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the minimum value - **/ + **/ _min?: GenerationEquipmentMinAggregateInputType /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} * * Select which fields to find the maximum value - **/ + **/ _max?: GenerationEquipmentMaxAggregateInputType } export type GetGenerationEquipmentAggregateType = { - [P in keyof T & keyof AggregateGenerationEquipment]: P extends '_count' | 'count' + [P in keyof T & keyof AggregateGenerationEquipment]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType : Prisma.GetScalarType } -export type GenerationEquipmentGroupByArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { + + + +export type GenerationEquipmentGroupByArgs = { where?: Prisma.GenerationEquipmentWhereInput - orderBy?: - | Prisma.GenerationEquipmentOrderByWithAggregationInput - | Prisma.GenerationEquipmentOrderByWithAggregationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithAggregationInput | Prisma.GenerationEquipmentOrderByWithAggregationInput[] by: Prisma.GenerationEquipmentScalarFieldEnum[] | Prisma.GenerationEquipmentScalarFieldEnum having?: Prisma.GenerationEquipmentScalarWhereWithAggregatesInput take?: number @@ -141,11 +137,11 @@ export type GenerationEquipmentGroupByOutputType = { _max: GenerationEquipmentMaxAggregateOutputType | null } -type GetGenerationEquipmentGroupByPayload = - Prisma.PrismaPromise< - Array< - Prisma.PickEnumerable & { - [P in keyof T & keyof GenerationEquipmentGroupByOutputType]: P extends '_count' +type GetGenerationEquipmentGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof GenerationEquipmentGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType @@ -154,12 +150,14 @@ type GetGenerationEquipmentGroupByPayload > + + export type GenerationEquipmentWhereInput = { AND?: Prisma.GenerationEquipmentWhereInput | Prisma.GenerationEquipmentWhereInput[] OR?: Prisma.GenerationEquipmentWhereInput[] NOT?: Prisma.GenerationEquipmentWhereInput | Prisma.GenerationEquipmentWhereInput[] - generationId?: Prisma.StringFilter<'GenerationEquipment'> | string - equipmentId?: Prisma.StringFilter<'GenerationEquipment'> | string + generationId?: Prisma.StringFilter<"GenerationEquipment"> | string + equipmentId?: Prisma.StringFilter<"GenerationEquipment"> | string generation?: Prisma.XOR equipment?: Prisma.XOR } @@ -171,19 +169,16 @@ export type GenerationEquipmentOrderByWithRelationInput = { equipment?: Prisma.EquipmentOrderByWithRelationInput } -export type GenerationEquipmentWhereUniqueInput = Prisma.AtLeast< - { - generationId_equipmentId?: Prisma.GenerationEquipmentGenerationIdEquipmentIdCompoundUniqueInput - AND?: Prisma.GenerationEquipmentWhereInput | Prisma.GenerationEquipmentWhereInput[] - OR?: Prisma.GenerationEquipmentWhereInput[] - NOT?: Prisma.GenerationEquipmentWhereInput | Prisma.GenerationEquipmentWhereInput[] - generationId?: Prisma.StringFilter<'GenerationEquipment'> | string - equipmentId?: Prisma.StringFilter<'GenerationEquipment'> | string - generation?: Prisma.XOR - equipment?: Prisma.XOR - }, - 'generationId_equipmentId' -> +export type GenerationEquipmentWhereUniqueInput = Prisma.AtLeast<{ + generationId_equipmentId?: Prisma.GenerationEquipmentGenerationIdEquipmentIdCompoundUniqueInput + AND?: Prisma.GenerationEquipmentWhereInput | Prisma.GenerationEquipmentWhereInput[] + OR?: Prisma.GenerationEquipmentWhereInput[] + NOT?: Prisma.GenerationEquipmentWhereInput | Prisma.GenerationEquipmentWhereInput[] + generationId?: Prisma.StringFilter<"GenerationEquipment"> | string + equipmentId?: Prisma.StringFilter<"GenerationEquipment"> | string + generation?: Prisma.XOR + equipment?: Prisma.XOR +}, "generationId_equipmentId"> export type GenerationEquipmentOrderByWithAggregationInput = { generationId?: Prisma.SortOrder @@ -194,15 +189,11 @@ export type GenerationEquipmentOrderByWithAggregationInput = { } export type GenerationEquipmentScalarWhereWithAggregatesInput = { - AND?: - | Prisma.GenerationEquipmentScalarWhereWithAggregatesInput - | Prisma.GenerationEquipmentScalarWhereWithAggregatesInput[] + AND?: Prisma.GenerationEquipmentScalarWhereWithAggregatesInput | Prisma.GenerationEquipmentScalarWhereWithAggregatesInput[] OR?: Prisma.GenerationEquipmentScalarWhereWithAggregatesInput[] - NOT?: - | Prisma.GenerationEquipmentScalarWhereWithAggregatesInput - | Prisma.GenerationEquipmentScalarWhereWithAggregatesInput[] - generationId?: Prisma.StringWithAggregatesFilter<'GenerationEquipment'> | string - equipmentId?: Prisma.StringWithAggregatesFilter<'GenerationEquipment'> | string + NOT?: Prisma.GenerationEquipmentScalarWhereWithAggregatesInput | Prisma.GenerationEquipmentScalarWhereWithAggregatesInput[] + generationId?: Prisma.StringWithAggregatesFilter<"GenerationEquipment"> | string + equipmentId?: Prisma.StringWithAggregatesFilter<"GenerationEquipment"> | string } export type GenerationEquipmentCreateInput = { @@ -230,7 +221,9 @@ export type GenerationEquipmentCreateManyInput = { equipmentId: string } -export type GenerationEquipmentUpdateManyMutationInput = {} +export type GenerationEquipmentUpdateManyMutationInput = { + +} export type GenerationEquipmentUncheckedUpdateManyInput = { generationId?: Prisma.StringFieldUpdateOperationsInput | string @@ -268,207 +261,87 @@ export type GenerationEquipmentMinOrderByAggregateInput = { } export type GenerationEquipmentCreateNestedManyWithoutEquipmentInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput - > - | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] createMany?: Prisma.GenerationEquipmentCreateManyEquipmentInputEnvelope - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] } export type GenerationEquipmentUncheckedCreateNestedManyWithoutEquipmentInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput - > - | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] createMany?: Prisma.GenerationEquipmentCreateManyEquipmentInputEnvelope - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] } export type GenerationEquipmentUpdateManyWithoutEquipmentNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput - > - | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] - upsert?: - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] + upsert?: Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput[] createMany?: Prisma.GenerationEquipmentCreateManyEquipmentInputEnvelope set?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - disconnect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + disconnect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] delete?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] - update?: - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput[] - updateMany?: - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput[] - deleteMany?: - | Prisma.GenerationEquipmentScalarWhereInput - | Prisma.GenerationEquipmentScalarWhereInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] + update?: Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput[] + updateMany?: Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput[] + deleteMany?: Prisma.GenerationEquipmentScalarWhereInput | Prisma.GenerationEquipmentScalarWhereInput[] } export type GenerationEquipmentUncheckedUpdateManyWithoutEquipmentNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput - > - | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] - upsert?: - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutEquipmentInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput | Prisma.GenerationEquipmentCreateOrConnectWithoutEquipmentInput[] + upsert?: Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput[] createMany?: Prisma.GenerationEquipmentCreateManyEquipmentInputEnvelope set?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - disconnect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + disconnect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] delete?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] - update?: - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput[] - updateMany?: - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput[] - deleteMany?: - | Prisma.GenerationEquipmentScalarWhereInput - | Prisma.GenerationEquipmentScalarWhereInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] + update?: Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput[] + updateMany?: Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput[] + deleteMany?: Prisma.GenerationEquipmentScalarWhereInput | Prisma.GenerationEquipmentScalarWhereInput[] } export type GenerationEquipmentCreateNestedManyWithoutGenerationInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput - > - | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] createMany?: Prisma.GenerationEquipmentCreateManyGenerationInputEnvelope - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] } export type GenerationEquipmentUncheckedCreateNestedManyWithoutGenerationInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput - > - | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] createMany?: Prisma.GenerationEquipmentCreateManyGenerationInputEnvelope - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] } export type GenerationEquipmentUpdateManyWithoutGenerationNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput - > - | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] - upsert?: - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] + upsert?: Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput[] createMany?: Prisma.GenerationEquipmentCreateManyGenerationInputEnvelope set?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - disconnect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + disconnect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] delete?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] - update?: - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput[] - updateMany?: - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput[] - deleteMany?: - | Prisma.GenerationEquipmentScalarWhereInput - | Prisma.GenerationEquipmentScalarWhereInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] + update?: Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput[] + updateMany?: Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput[] + deleteMany?: Prisma.GenerationEquipmentScalarWhereInput | Prisma.GenerationEquipmentScalarWhereInput[] } export type GenerationEquipmentUncheckedUpdateManyWithoutGenerationNestedInput = { - create?: - | Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput - > - | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] - | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] - connectOrCreate?: - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput - | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] - upsert?: - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput - | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput[] + create?: Prisma.XOR | Prisma.GenerationEquipmentCreateWithoutGenerationInput[] | Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput[] + connectOrCreate?: Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput | Prisma.GenerationEquipmentCreateOrConnectWithoutGenerationInput[] + upsert?: Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput | Prisma.GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput[] createMany?: Prisma.GenerationEquipmentCreateManyGenerationInputEnvelope set?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - disconnect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] + disconnect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] delete?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] - connect?: - | Prisma.GenerationEquipmentWhereUniqueInput - | Prisma.GenerationEquipmentWhereUniqueInput[] - update?: - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput - | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput[] - updateMany?: - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput - | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput[] - deleteMany?: - | Prisma.GenerationEquipmentScalarWhereInput - | Prisma.GenerationEquipmentScalarWhereInput[] + connect?: Prisma.GenerationEquipmentWhereUniqueInput | Prisma.GenerationEquipmentWhereUniqueInput[] + update?: Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput | Prisma.GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput[] + updateMany?: Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput | Prisma.GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput[] + deleteMany?: Prisma.GenerationEquipmentScalarWhereInput | Prisma.GenerationEquipmentScalarWhereInput[] } export type GenerationEquipmentCreateWithoutEquipmentInput = { @@ -481,52 +354,35 @@ export type GenerationEquipmentUncheckedCreateWithoutEquipmentInput = { export type GenerationEquipmentCreateOrConnectWithoutEquipmentInput = { where: Prisma.GenerationEquipmentWhereUniqueInput - create: Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput - > + create: Prisma.XOR } export type GenerationEquipmentCreateManyEquipmentInputEnvelope = { - data: - | Prisma.GenerationEquipmentCreateManyEquipmentInput - | Prisma.GenerationEquipmentCreateManyEquipmentInput[] + data: Prisma.GenerationEquipmentCreateManyEquipmentInput | Prisma.GenerationEquipmentCreateManyEquipmentInput[] } export type GenerationEquipmentUpsertWithWhereUniqueWithoutEquipmentInput = { where: Prisma.GenerationEquipmentWhereUniqueInput - update: Prisma.XOR< - Prisma.GenerationEquipmentUpdateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedUpdateWithoutEquipmentInput - > - create: Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutEquipmentInput - > + update: Prisma.XOR + create: Prisma.XOR } export type GenerationEquipmentUpdateWithWhereUniqueWithoutEquipmentInput = { where: Prisma.GenerationEquipmentWhereUniqueInput - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateWithoutEquipmentInput, - Prisma.GenerationEquipmentUncheckedUpdateWithoutEquipmentInput - > + data: Prisma.XOR } export type GenerationEquipmentUpdateManyWithWhereWithoutEquipmentInput = { where: Prisma.GenerationEquipmentScalarWhereInput - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateManyMutationInput, - Prisma.GenerationEquipmentUncheckedUpdateManyWithoutEquipmentInput - > + data: Prisma.XOR } export type GenerationEquipmentScalarWhereInput = { AND?: Prisma.GenerationEquipmentScalarWhereInput | Prisma.GenerationEquipmentScalarWhereInput[] OR?: Prisma.GenerationEquipmentScalarWhereInput[] NOT?: Prisma.GenerationEquipmentScalarWhereInput | Prisma.GenerationEquipmentScalarWhereInput[] - generationId?: Prisma.StringFilter<'GenerationEquipment'> | string - equipmentId?: Prisma.StringFilter<'GenerationEquipment'> | string + generationId?: Prisma.StringFilter<"GenerationEquipment"> | string + equipmentId?: Prisma.StringFilter<"GenerationEquipment"> | string } export type GenerationEquipmentCreateWithoutGenerationInput = { @@ -539,44 +395,27 @@ export type GenerationEquipmentUncheckedCreateWithoutGenerationInput = { export type GenerationEquipmentCreateOrConnectWithoutGenerationInput = { where: Prisma.GenerationEquipmentWhereUniqueInput - create: Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput - > + create: Prisma.XOR } export type GenerationEquipmentCreateManyGenerationInputEnvelope = { - data: - | Prisma.GenerationEquipmentCreateManyGenerationInput - | Prisma.GenerationEquipmentCreateManyGenerationInput[] + data: Prisma.GenerationEquipmentCreateManyGenerationInput | Prisma.GenerationEquipmentCreateManyGenerationInput[] } export type GenerationEquipmentUpsertWithWhereUniqueWithoutGenerationInput = { where: Prisma.GenerationEquipmentWhereUniqueInput - update: Prisma.XOR< - Prisma.GenerationEquipmentUpdateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedUpdateWithoutGenerationInput - > - create: Prisma.XOR< - Prisma.GenerationEquipmentCreateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedCreateWithoutGenerationInput - > + update: Prisma.XOR + create: Prisma.XOR } export type GenerationEquipmentUpdateWithWhereUniqueWithoutGenerationInput = { where: Prisma.GenerationEquipmentWhereUniqueInput - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateWithoutGenerationInput, - Prisma.GenerationEquipmentUncheckedUpdateWithoutGenerationInput - > + data: Prisma.XOR } export type GenerationEquipmentUpdateManyWithWhereWithoutGenerationInput = { where: Prisma.GenerationEquipmentScalarWhereInput - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateManyMutationInput, - Prisma.GenerationEquipmentUncheckedUpdateManyWithoutGenerationInput - > + data: Prisma.XOR } export type GenerationEquipmentCreateManyEquipmentInput = { @@ -611,108 +450,70 @@ export type GenerationEquipmentUncheckedUpdateManyWithoutGenerationInput = { equipmentId?: Prisma.StringFieldUpdateOperationsInput | string } -export type GenerationEquipmentSelect< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - generationId?: boolean - equipmentId?: boolean - generation?: boolean | Prisma.GenerationDefaultArgs - equipment?: boolean | Prisma.EquipmentDefaultArgs - }, - ExtArgs['result']['generationEquipment'] -> -export type GenerationEquipmentSelectCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - generationId?: boolean - equipmentId?: boolean - generation?: boolean | Prisma.GenerationDefaultArgs - equipment?: boolean | Prisma.EquipmentDefaultArgs - }, - ExtArgs['result']['generationEquipment'] -> -export type GenerationEquipmentSelectUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetSelect< - { - generationId?: boolean - equipmentId?: boolean - generation?: boolean | Prisma.GenerationDefaultArgs - equipment?: boolean | Prisma.EquipmentDefaultArgs - }, - ExtArgs['result']['generationEquipment'] -> +export type GenerationEquipmentSelect = runtime.Types.Extensions.GetSelect<{ + generationId?: boolean + equipmentId?: boolean + generation?: boolean | Prisma.GenerationDefaultArgs + equipment?: boolean | Prisma.EquipmentDefaultArgs +}, ExtArgs["result"]["generationEquipment"]> + +export type GenerationEquipmentSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + generationId?: boolean + equipmentId?: boolean + generation?: boolean | Prisma.GenerationDefaultArgs + equipment?: boolean | Prisma.EquipmentDefaultArgs +}, ExtArgs["result"]["generationEquipment"]> + +export type GenerationEquipmentSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + generationId?: boolean + equipmentId?: boolean + generation?: boolean | Prisma.GenerationDefaultArgs + equipment?: boolean | Prisma.EquipmentDefaultArgs +}, ExtArgs["result"]["generationEquipment"]> export type GenerationEquipmentSelectScalar = { generationId?: boolean equipmentId?: boolean } -export type GenerationEquipmentOmit< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = runtime.Types.Extensions.GetOmit< - 'generationId' | 'equipmentId', - ExtArgs['result']['generationEquipment'] -> -export type GenerationEquipmentInclude< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentOmit = runtime.Types.Extensions.GetOmit<"generationId" | "equipmentId", ExtArgs["result"]["generationEquipment"]> +export type GenerationEquipmentInclude = { generation?: boolean | Prisma.GenerationDefaultArgs equipment?: boolean | Prisma.EquipmentDefaultArgs } -export type GenerationEquipmentIncludeCreateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentIncludeCreateManyAndReturn = { generation?: boolean | Prisma.GenerationDefaultArgs equipment?: boolean | Prisma.EquipmentDefaultArgs } -export type GenerationEquipmentIncludeUpdateManyAndReturn< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentIncludeUpdateManyAndReturn = { generation?: boolean | Prisma.GenerationDefaultArgs equipment?: boolean | Prisma.EquipmentDefaultArgs } -export type $GenerationEquipmentPayload< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { - name: 'GenerationEquipment' +export type $GenerationEquipmentPayload = { + name: "GenerationEquipment" objects: { generation: Prisma.$GenerationPayload equipment: Prisma.$EquipmentPayload } - scalars: runtime.Types.Extensions.GetPayloadResult< - { - generationId: string - equipmentId: string - }, - ExtArgs['result']['generationEquipment'] - > + scalars: runtime.Types.Extensions.GetPayloadResult<{ + generationId: string + equipmentId: string + }, ExtArgs["result"]["generationEquipment"]> composites: {} } -export type GenerationEquipmentGetPayload< - S extends boolean | null | undefined | GenerationEquipmentDefaultArgs, -> = runtime.Types.Result.GetResult +export type GenerationEquipmentGetPayload = runtime.Types.Result.GetResult -export type GenerationEquipmentCountArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = Omit & { - select?: GenerationEquipmentCountAggregateInputType | true -} - -export interface GenerationEquipmentDelegate< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> { - [K: symbol]: { - types: Prisma.TypeMap['model']['GenerationEquipment'] - meta: { name: 'GenerationEquipment' } +export type GenerationEquipmentCountArgs = + Omit & { + select?: GenerationEquipmentCountAggregateInputType | true } + +export interface GenerationEquipmentDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['GenerationEquipment'], meta: { name: 'GenerationEquipment' } } /** * Find zero or one GenerationEquipment that matches the filter. * @param {GenerationEquipmentFindUniqueArgs} args - Arguments to find a GenerationEquipment @@ -724,19 +525,7 @@ export interface GenerationEquipmentDelegate< * } * }) */ - findUnique( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findUnique', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find one GenerationEquipment that matches the filter or throw an error with `error.code='P2025'` @@ -750,19 +539,7 @@ export interface GenerationEquipmentDelegate< * } * }) */ - findUniqueOrThrow( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find the first GenerationEquipment that matches the filter. @@ -777,19 +554,7 @@ export interface GenerationEquipmentDelegate< * } * }) */ - findFirst( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findFirst', - GlobalOmitOptions - > | null, - null, - ExtArgs, - GlobalOmitOptions - > + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> /** * Find the first GenerationEquipment that matches the filter or @@ -805,19 +570,7 @@ export interface GenerationEquipmentDelegate< * } * }) */ - findFirstOrThrow( - args?: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findFirstOrThrow', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Find zero or more GenerationEquipments that matches the filter. @@ -835,16 +588,7 @@ export interface GenerationEquipmentDelegate< * const generationEquipmentWithGenerationIdOnly = await prisma.generationEquipment.findMany({ select: { generationId: true } }) * */ - findMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'findMany', - GlobalOmitOptions - > - > + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> /** * Create a GenerationEquipment. @@ -858,19 +602,7 @@ export interface GenerationEquipmentDelegate< * }) * */ - create( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'create', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + create(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Create many GenerationEquipments. @@ -884,9 +616,7 @@ export interface GenerationEquipmentDelegate< * }) * */ - createMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Create many GenerationEquipments and returns the data saved in the database. @@ -910,16 +640,7 @@ export interface GenerationEquipmentDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - createManyAndReturn( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'createManyAndReturn', - GlobalOmitOptions - > - > + createManyAndReturn(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> /** * Delete a GenerationEquipment. @@ -933,19 +654,7 @@ export interface GenerationEquipmentDelegate< * }) * */ - delete( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'delete', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + delete(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Update one GenerationEquipment. @@ -962,19 +671,7 @@ export interface GenerationEquipmentDelegate< * }) * */ - update( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'update', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + update(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> /** * Delete zero or more GenerationEquipments. @@ -988,9 +685,7 @@ export interface GenerationEquipmentDelegate< * }) * */ - deleteMany( - args?: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more GenerationEquipments. @@ -1009,9 +704,7 @@ export interface GenerationEquipmentDelegate< * }) * */ - updateMany( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise /** * Update zero or more GenerationEquipments and returns the data updated in the database. @@ -1041,16 +734,7 @@ export interface GenerationEquipmentDelegate< * Read more here: https://pris.ly/d/null-undefined * */ - updateManyAndReturn( - args: Prisma.SelectSubset>, - ): Prisma.PrismaPromise< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'updateManyAndReturn', - GlobalOmitOptions - > - > + updateManyAndReturn(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> /** * Create or update one GenerationEquipment. @@ -1069,19 +753,8 @@ export interface GenerationEquipmentDelegate< * } * }) */ - upsert( - args: Prisma.SelectSubset>, - ): Prisma.Prisma__GenerationEquipmentClient< - runtime.Types.Result.GetResult< - Prisma.$GenerationEquipmentPayload, - T, - 'upsert', - GlobalOmitOptions - >, - never, - ExtArgs, - GlobalOmitOptions - > + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__GenerationEquipmentClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + /** * Count the number of GenerationEquipments. @@ -1095,7 +768,7 @@ export interface GenerationEquipmentDelegate< * // ... the filter for the GenerationEquipments we want to count * } * }) - **/ + **/ count( args?: Prisma.Subset, ): Prisma.PrismaPromise< @@ -1129,10 +802,8 @@ export interface GenerationEquipmentDelegate< * }, * take: 10, * }) - **/ - aggregate( - args: Prisma.Subset, - ): Prisma.PrismaPromise> + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> /** * Group by GenerationEquipment. @@ -1151,7 +822,7 @@ export interface GenerationEquipmentDelegate< * }, * }) * - **/ + **/ groupBy< T extends GenerationEquipmentGroupByArgs, HasSelectOrTake extends Prisma.Or< @@ -1161,60 +832,59 @@ export interface GenerationEquipmentDelegate< OrderByArg extends Prisma.True extends HasSelectOrTake ? { orderBy: GenerationEquipmentGroupByArgs['orderBy'] } : { orderBy?: GenerationEquipmentGroupByArgs['orderBy'] }, - OrderFields extends Prisma.ExcludeUnderscoreKeys< - Prisma.Keys> - >, + 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 + ? `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 - : 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 - ? GetGenerationEquipmentGroupByPayload - : Prisma.PrismaPromise - /** - * Fields of the GenerationEquipment model - */ - readonly fields: GenerationEquipmentFieldRefs + : `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 ? GetGenerationEquipmentGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the GenerationEquipment model + */ +readonly fields: GenerationEquipmentFieldRefs; } /** @@ -1223,59 +893,23 @@ export interface GenerationEquipmentDelegate< * Because we want to prevent naming conflicts as mentioned in * https://github.com/prisma/prisma-client-js/issues/707 */ -export interface Prisma__GenerationEquipmentClient< - T, - Null = never, - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, - GlobalOmitOptions = {}, -> extends Prisma.PrismaPromise { - readonly [Symbol.toStringTag]: 'PrismaPromise' - generation = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__GenerationClient< - | runtime.Types.Result.GetResult< - Prisma.$GenerationPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > - equipment = {}>( - args?: Prisma.Subset>, - ): Prisma.Prisma__EquipmentClient< - | runtime.Types.Result.GetResult< - Prisma.$EquipmentPayload, - T, - 'findUniqueOrThrow', - GlobalOmitOptions - > - | Null, - Null, - ExtArgs, - GlobalOmitOptions - > +export interface Prisma__GenerationEquipmentClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + generation = {}>(args?: Prisma.Subset>): Prisma.Prisma__GenerationClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + equipment = {}>(args?: Prisma.Subset>): Prisma.Prisma__EquipmentClient, 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 + 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 + 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. @@ -1285,21 +919,23 @@ export interface Prisma__GenerationEquipmentClient< finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise } + + + /** * Fields of the GenerationEquipment model */ export interface GenerationEquipmentFieldRefs { - readonly generationId: Prisma.FieldRef<'GenerationEquipment', 'String'> - readonly equipmentId: Prisma.FieldRef<'GenerationEquipment', 'String'> + readonly generationId: Prisma.FieldRef<"GenerationEquipment", 'String'> + readonly equipmentId: Prisma.FieldRef<"GenerationEquipment", 'String'> } + // Custom InputTypes /** * GenerationEquipment findUnique */ -export type GenerationEquipmentFindUniqueArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentFindUniqueArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1321,9 +957,7 @@ export type GenerationEquipmentFindUniqueArgs< /** * GenerationEquipment findUniqueOrThrow */ -export type GenerationEquipmentFindUniqueOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentFindUniqueOrThrowArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1345,9 +979,7 @@ export type GenerationEquipmentFindUniqueOrThrowArgs< /** * GenerationEquipment findFirst */ -export type GenerationEquipmentFindFirstArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentFindFirstArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1369,9 +1001,7 @@ export type GenerationEquipmentFindFirstArgs< * * Determine the order of GenerationEquipments to fetch. */ - orderBy?: - | Prisma.GenerationEquipmentOrderByWithRelationInput - | Prisma.GenerationEquipmentOrderByWithRelationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithRelationInput | Prisma.GenerationEquipmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * @@ -1401,9 +1031,7 @@ export type GenerationEquipmentFindFirstArgs< /** * GenerationEquipment findFirstOrThrow */ -export type GenerationEquipmentFindFirstOrThrowArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentFindFirstOrThrowArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1425,9 +1053,7 @@ export type GenerationEquipmentFindFirstOrThrowArgs< * * Determine the order of GenerationEquipments to fetch. */ - orderBy?: - | Prisma.GenerationEquipmentOrderByWithRelationInput - | Prisma.GenerationEquipmentOrderByWithRelationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithRelationInput | Prisma.GenerationEquipmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * @@ -1457,9 +1083,7 @@ export type GenerationEquipmentFindFirstOrThrowArgs< /** * GenerationEquipment findMany */ -export type GenerationEquipmentFindManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentFindManyArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1481,9 +1105,7 @@ export type GenerationEquipmentFindManyArgs< * * Determine the order of GenerationEquipments to fetch. */ - orderBy?: - | Prisma.GenerationEquipmentOrderByWithRelationInput - | Prisma.GenerationEquipmentOrderByWithRelationInput[] + orderBy?: Prisma.GenerationEquipmentOrderByWithRelationInput | Prisma.GenerationEquipmentOrderByWithRelationInput[] /** * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} * @@ -1508,9 +1130,7 @@ export type GenerationEquipmentFindManyArgs< /** * GenerationEquipment create */ -export type GenerationEquipmentCreateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentCreateArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1526,18 +1146,13 @@ export type GenerationEquipmentCreateArgs< /** * The data needed to create a GenerationEquipment. */ - data: Prisma.XOR< - Prisma.GenerationEquipmentCreateInput, - Prisma.GenerationEquipmentUncheckedCreateInput - > + data: Prisma.XOR } /** * GenerationEquipment createMany */ -export type GenerationEquipmentCreateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentCreateManyArgs = { /** * The data used to create many GenerationEquipments. */ @@ -1547,9 +1162,7 @@ export type GenerationEquipmentCreateManyArgs< /** * GenerationEquipment createManyAndReturn */ -export type GenerationEquipmentCreateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentCreateManyAndReturnArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1571,9 +1184,7 @@ export type GenerationEquipmentCreateManyAndReturnArgs< /** * GenerationEquipment update */ -export type GenerationEquipmentUpdateArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentUpdateArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1589,10 +1200,7 @@ export type GenerationEquipmentUpdateArgs< /** * The data needed to update a GenerationEquipment. */ - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateInput, - Prisma.GenerationEquipmentUncheckedUpdateInput - > + data: Prisma.XOR /** * Choose, which GenerationEquipment to update. */ @@ -1602,16 +1210,11 @@ export type GenerationEquipmentUpdateArgs< /** * GenerationEquipment updateMany */ -export type GenerationEquipmentUpdateManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentUpdateManyArgs = { /** * The data used to update GenerationEquipments. */ - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateManyMutationInput, - Prisma.GenerationEquipmentUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which GenerationEquipments to update */ @@ -1625,9 +1228,7 @@ export type GenerationEquipmentUpdateManyArgs< /** * GenerationEquipment updateManyAndReturn */ -export type GenerationEquipmentUpdateManyAndReturnArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentUpdateManyAndReturnArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1639,10 +1240,7 @@ export type GenerationEquipmentUpdateManyAndReturnArgs< /** * The data used to update GenerationEquipments. */ - data: Prisma.XOR< - Prisma.GenerationEquipmentUpdateManyMutationInput, - Prisma.GenerationEquipmentUncheckedUpdateManyInput - > + data: Prisma.XOR /** * Filter which GenerationEquipments to update */ @@ -1660,9 +1258,7 @@ export type GenerationEquipmentUpdateManyAndReturnArgs< /** * GenerationEquipment upsert */ -export type GenerationEquipmentUpsertArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentUpsertArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1682,25 +1278,17 @@ export type GenerationEquipmentUpsertArgs< /** * In case the GenerationEquipment found by the `where` argument doesn't exist, create a new GenerationEquipment with this data. */ - create: Prisma.XOR< - Prisma.GenerationEquipmentCreateInput, - Prisma.GenerationEquipmentUncheckedCreateInput - > + create: Prisma.XOR /** * In case the GenerationEquipment was found with the provided `where` argument, update it with this data. */ - update: Prisma.XOR< - Prisma.GenerationEquipmentUpdateInput, - Prisma.GenerationEquipmentUncheckedUpdateInput - > + update: Prisma.XOR } /** * GenerationEquipment delete */ -export type GenerationEquipmentDeleteArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentDeleteArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ @@ -1722,9 +1310,7 @@ export type GenerationEquipmentDeleteArgs< /** * GenerationEquipment deleteMany */ -export type GenerationEquipmentDeleteManyArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentDeleteManyArgs = { /** * Filter which GenerationEquipments to delete */ @@ -1738,9 +1324,7 @@ export type GenerationEquipmentDeleteManyArgs< /** * GenerationEquipment without action */ -export type GenerationEquipmentDefaultArgs< - ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, -> = { +export type GenerationEquipmentDefaultArgs = { /** * Select specific fields to fetch from the GenerationEquipment */ diff --git a/src/index.ts b/src/index.ts index bf0c2fa..7791395 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,22 +1,53 @@ -import { Hono } from 'hono' +// @ts-ignore +import index from "./ui/index.html"; +import { Hono } from "hono"; import { serveStatic } from 'hono/bun' +import { cors } from 'hono/cors' import asset from './api/asset' import character from './api/character' import equipment from './api/equipment' import generation from './api/generation' +import extract from './api/extract' const app = new Hono() -app.get('/', (c) => { - return c.text('Hello Hono!') -}) +// Enable CORS +app.use('/*', cors()) -// Serve static files from data/files +// API Sub-App +const api = new Hono() +const route = api.route('/assets', asset) + .route('/characters', character) + .route('/equipments', equipment) + .route('/generations', generation) + .route('/extract', extract) + +// Mount API +app.route('/api', api) + +// Serve static files from data/files under /files path app.use('/files/*', serveStatic({ root: './data' })) -app.route('/assets', asset) -app.route('/characters', character) -app.route('/equipments', equipment) -app.route('/generations', generation) +// Export type for RPC +export type AppType = typeof route -export default app +// Serve the frontend +const server = Bun.serve({ + port: 3000, + routes: { + // Serve index.html for root + "/": index, + + // Proxy API requests to Hono + "/api/*": app.fetch, + "/files/*": app.fetch, + + // Catch-all for SPA routing (fallback to index.html) + "/*": index, + }, + development: process.env.NODE_ENV !== "production", +}); + +console.log(`🚀 Server running at ${server.url}`); + +export default app; diff --git a/src/service/ai.ts b/src/service/ai.ts new file mode 100644 index 0000000..3212186 --- /dev/null +++ b/src/service/ai.ts @@ -0,0 +1,107 @@ +import { GoogleGenAI } from "@google/genai"; +import { z } from 'zod'; +import zodToJsonSchema from "zod-to-json-schema"; + +// Generic AI service interface for flexibility +export interface AIService { + generateText(prompt: string, images: File[], schema?: z.ZodType): Promise; + generateImage(prompt: string, referenceImages?: File[]): Promise; +} + +export class GeminiService implements AIService { + private genAI: GoogleGenAI; + + constructor() { + this.genAI = new GoogleGenAI({ apiKey: process.env.API_KEY || '' }); + } + + // Generates JSON output from text and images using Gemini + async generateText(prompt: string, images: File[] = [], schema?: z.ZodType): Promise { + const model = 'gemini-1.5-flash'; // Or 'gemini-2.0-flash-exp' if available for faster responses + + const parts: any[] = []; + + // Convert files to base64 parts + for (const image of images) { + const buffer = await image.arrayBuffer(); + const base64 = Buffer.from(buffer).toString('base64'); + parts.push({ + inlineData: { + mimeType: image.type, + data: base64 + } + }); + } + + parts.push({ text: prompt }); + + const config: any = { + responseMimeType: "application/json", + }; + + if (schema) { + config.responseSchema = zodToJsonSchema(schema); + } + + const result = await this.genAI.models.generateContent({ + model: model, + contents: { parts }, + config: config + }); + + const text = result.response.text(); + if (!text) throw new Error("No text generated"); + + try { + // Clean up markdown if present + const cleanText = text.replace(/^```(json)?\n?|\n?```$/g, '').trim(); + const json = JSON.parse(cleanText); + + if (schema) { + return schema.parse(json); + } + return json as T; + } catch (e: unknown) { + console.error("Failed to parse JSON", text); + const error = e instanceof Error ? e : new Error(String(e)); + throw new Error("Invalid JSON response from AI", { cause: error }); + } + } + + // Generates an image based on prompt and optional reference images + async generateImage(prompt: string, referenceImages: File[] = []): Promise { + const parts: any[] = []; + + for (const image of referenceImages) { + const buffer = await image.arrayBuffer(); + const base64 = Buffer.from(buffer).toString('base64'); + parts.push({ + inlineData: { + mimeType: image.type, + data: base64 + } + }); + } + + parts.push({ text: prompt }); + + const result = await this.genAI.models.generateContent({ + model: 'gemini-2.0-flash-exp', // Using a known capable model + contents: { parts }, + }); + + // Check for image in response + const candidate = result.response.candidates?.[0]; + if (candidate?.content?.parts) { + for (const part of candidate.content.parts) { + if (part.inlineData && part.inlineData.mimeType.startsWith('image/')) { + return `data:${part.inlineData.mimeType};base64,${part.inlineData.data}`; + } + } + } + + throw new Error("No image generated in response"); + } +} + +export const aiService = new GeminiService(); diff --git a/src/service/asset.ts b/src/service/asset.ts index 0b334a6..39c4ba3 100644 --- a/src/service/asset.ts +++ b/src/service/asset.ts @@ -1,7 +1,7 @@ import { ulid } from 'ulidx' import { prisma } from '../db' import { join, extname } from 'path' -import { writeFile } from '../lib/fileSystem' +// import { writeFile } from '../lib/fileSystem' // Using Bun.write export class AssetService { static async createAsset(file: File, meta: { name: string; type: string }) { @@ -10,20 +10,34 @@ export class AssetService { const filename = `${id}${ext}` const path = join('data/files', filename) - await writeFile(path, file) + // await writeFile(path, file) + await Bun.write(path, await file.arrayBuffer()) const asset = await prisma.asset.create({ data: { id, name: meta.name, type: meta.type, - path, + path: filename, // Save only filename or relative path }, }) return asset } + // New method to handle already saved files + static async createAssetRecord(params: { path: string; name: string; type: string }) { + const id = ulid() + return prisma.asset.create({ + data: { + id, + name: params.name, + type: params.type, + path: params.path, + }, + }) + } + static async getAsset(id: string) { return prisma.asset.findUnique({ where: { id }, diff --git a/src/service/category.ts b/src/service/category.ts new file mode 100644 index 0000000..c2b10c4 --- /dev/null +++ b/src/service/category.ts @@ -0,0 +1,56 @@ +import { prisma } from '../db' +import { ulid } from 'ulidx' + +export class CategoryService { + /** + * Finds a category by name (case-insensitive) or creates it if it doesn't exist. + * If a parentId is provided, it links the category as a sub-category. + */ + static async findOrCreate(name: string, parentId?: string): Promise { + const normalizedName = name.trim() + + // Check if category exists + const existing = await prisma.category.findFirst({ + where: { + name: { + equals: normalizedName, + // mode: 'insensitive' // SQLite doesn't support 'mode: insensitive' directly like Postgres, usually need manual lower() or collate NOCASE + }, + parentId: parentId || null + } + }) + + if (existing) { + return existing.id + } + + // Create new category + const id = ulid() + const newCategory = await prisma.category.create({ + data: { + id, + name: normalizedName, + parentId: parentId || null + } + }) + + return newCategory.id + } + + /** + * Lists all main categories with their sub-categories. + */ + static async listAll() { + return prisma.category.findMany({ + where: { + parentId: null + }, + include: { + subCategories: true + }, + orderBy: { + name: 'asc' + } + }) + } +} diff --git a/src/service/equipment.ts b/src/service/equipment.ts index 71c008e..4426b44 100644 --- a/src/service/equipment.ts +++ b/src/service/equipment.ts @@ -1,7 +1,11 @@ import { prisma } from '../db' import { Prisma } from '../generated/prisma/client' +import { ulid } from 'ulidx' export class EquipmentService { + /** + * Lists equipment with pagination and optional filtering by category/subcategory. + */ static async listEquipments( pagination: { page: number; limit: number }, filters?: { categoryId?: string; subCategoryId?: string }, @@ -36,4 +40,32 @@ export class EquipmentService { return { total, items, page, limit, totalPages: Math.ceil(total / limit) } } + + /** + * Saves a new equipment item, linking it to an asset (the refined image) and a category. + */ + static async createEquipment(data: { + name: string + description: string + imageId: string + categoryId: string + subCategoryId?: string + }) { + const id = ulid() + + return prisma.equipment.create({ + data: { + id, + name: data.name, + description: data.description, + imageId: data.imageId, + categoryId: data.categoryId, + subCategoryId: data.subCategoryId, + }, + include: { + image: true, + category: true, + } + }) + } } diff --git a/src/service/extraction.test.ts b/src/service/extraction.test.ts new file mode 100644 index 0000000..d6053d6 --- /dev/null +++ b/src/service/extraction.test.ts @@ -0,0 +1,71 @@ +import { describe, expect, test, mock } from 'bun:test' +import { ExtractionService } from './extraction' + +// Mock dependencies +mock.module('./ai', () => ({ + aiService: { + generateText: mock(async () => ({ + assets: [{ + item_name: 'Helmet', + description: 'A rusty helmet', + background_color: 'Red', + category: 'Head' + }] + })), + generateImage: mock(async () => 'data:image/png;base64,mockImage'), + } +})) + +mock.module('./file', () => ({ + FileService: { + saveBase64Image: mock(async () => ({ + path: 'data/files/123.webp', + filename: '123.webp', + mimeType: 'image/webp' + })) + } +})) + +mock.module('./category', () => ({ + CategoryService: { + findOrCreate: mock(async () => 'cat_123') + } +})) + +mock.module('./asset', () => ({ + AssetService: { + createAssetRecord: mock(async () => ({ id: 'asset_123' })) + } +})) + +mock.module('./equipment', () => ({ + EquipmentService: { + createEquipment: mock(async () => ({ id: 'eq_123', name: 'Helmet' })) + } +})) + +mock.module('sharp', () => { + return () => ({ + metadata: () => Promise.resolve({ width: 100, height: 100 }), + clone: () => ({ + extract: () => ({ + toBuffer: () => Promise.resolve(Buffer.from('mockCrop')) + }) + }) + }) +}) + +describe('ExtractionService', () => { + test('analyzeImage calls AI service', async () => { + const file = new File(['dummy'], 'test.png', { type: 'image/png' }) + const result = await ExtractionService.analyzeImage(file) + expect(result.assets.length).toBe(1) + expect(result.assets[0].item_name).toBe('Helmet') + }) + + test('generateTextureSheet calls AI service', async () => { + const file = new File(['dummy'], 'test.png', { type: 'image/png' }) + const result = await ExtractionService.generateTextureSheet(file, []) + expect(result).toBe('data:image/png;base64,mockImage') + }) +}) diff --git a/src/service/extraction.ts b/src/service/extraction.ts new file mode 100644 index 0000000..c916228 --- /dev/null +++ b/src/service/extraction.ts @@ -0,0 +1,196 @@ +import { aiService } from './ai' +import sharp from 'sharp' +import { z } from 'zod' + +// Types for the extraction process +export interface ExtractedAsset { + item_name: string + description: string + background_color: string + category: string // Added category +} + +export interface AnalysisResponse { + assets: ExtractedAsset[] +} + +export interface BoundingBoxResponse { + grid_dimensions: { + rows: number + cols: number + } + assets: { + item_name: string + coordinates: [number, number, number, number] // ymin, xmin, ymax, xmax + bg_color_detected: string + }[] +} + +export class ExtractionService { + /** + * Analyzes an image to identify extractable assets. + */ + static async analyzeImage(file: File): Promise { + const prompt = ` +Task: Character Asset Identification for Extraction + +Instructions: +1. Analyze the character in the image and identify all distinct, extractable equipment and clothing items. +2. Filter for items that are clearly visible: tops, bottoms, headwear, footwear, specialized armor (arm guards, leg guards), and accessories (scarves, belts, capes). +3. For each identified item, assign one of the following high-contrast background colors for future segmentation: Red, Yellow, Green, White, Blue, Black, Magenta, Cyan, Orange, Gray. Avoid repeating colors if possible. +4. Limit to a maximum of 9 most prominent assets. +5. Assign a general category to each item (e.g., Head, Body, Legs, Feet, Weapon, Accessory). + +Output Format (Strict JSON): +Return ONLY a JSON object with a list of assets. +`; + + const schema = z.object({ + assets: z.array(z.object({ + item_name: z.string().describe("Name of the item"), + background_color: z.string().describe("Background color assigned"), + description: z.string().describe("Description of the item"), + category: z.string().describe("Category of the item"), + })), + }); + + return aiService.generateText(prompt, [file], schema); + } + + /** + * Generates a texture sheet with isolated assets on solid backgrounds. + */ + static async generateTextureSheet(file: File, assets: ExtractedAsset[]): Promise { + const HEX_COLORS: Record = { + Red: '#FF0000', Yellow: '#FFFF00', Green: '#00FF00', White: '#FFFFFF', + Blue: '#0000FF', Black: '#000000', Magenta: '#FF00FF', Cyan: '#00FFFF', + Orange: '#FFA500', Gray: '#808080' + }; + + const mappingString = assets.map(asset => { + const colorName = asset.background_color; + const hex = HEX_COLORS[colorName] || '#000000'; + return `- ${asset.item_name}: ${colorName} Background (${hex}). ${asset.description}`; + }).join('\n'); + + const prompt = ` +Task: Character Asset Extraction & Grid Generation + +Instructions: +Analyze the character in the provided image and extract the following ${assets.length} specific assets into a new, single image organized in a grid layout (e.g., 2x3, 3x3 depending on count). + +Core Constraints: +1. Isolated Assets: Each item must be placed within its own distinct square tile. No overlapping. +2. Ghost Mannequin Style: Extract ONLY the items. Remove the character's body entirely. Clothing and armor must appear as empty, 3D shells as if worn by an invisible person. +3. Solid Chroma Key Backgrounds: Each tile must use the specific solid background color assigned below. Ensure zero shadows, highlights, or gradients on the background to facilitate clean digital segmentation. +4. Output Format: Generate a square texture sheet. Ignore the original image aspect ratio for the final output canvas. + +Item & Background Mapping: +${mappingString} + +Output Requirement: High-resolution texture sheet, flat lay presentation, sharp edges, and uniform lighting across all assets. +`; + + return aiService.generateImage(prompt, [file]); + } + + /** + * Detects bounding boxes for assets in the texture sheet. + */ + static async detectBoundingBoxes(sheetBase64: string): Promise { + const buffer = Buffer.from(sheetBase64.replace(/^data:image\/\w+;base64,/, ''), 'base64'); + const file = new File([buffer], 'sheet.png', { type: 'image/png' }); + + const prompt = ` +Task: Spatial Asset Detection & Normalized Grid Mapping + +Instructions: +1. Analyze the provided image consisting of character assets arranged in a grid. +2. Identify the bounding box for each distinct asset container (the colored square background tiles). +3. Return the coordinates for each box using a normalized scale of 0.0 to 1.0. + - [ymin, xmin, ymax, xmax] + - (0, 0) is the top-left corner; (1.0, 1.0) is the bottom-right corner. +4. Ensure the box coordinates strictly encompass the outer boundary of each colored tile. + +Output Format (Strict JSON): +Return ONLY a JSON object. Provide the grid dimensions and a list of detected assets with their coordinates. +`; + + const schema = z.object({ + grid_dimensions: z.object({ + rows: z.number(), + cols: z.number(), + }), + assets: z.array(z.object({ + item_name: z.string(), + coordinates: z.tuple([z.number(), z.number(), z.number(), z.number()]).describe("[ymin, xmin, ymax, xmax]"), + bg_color_detected: z.string(), + })), + }); + + return aiService.generateText(prompt, [file], schema); + } + + /** + * Crops assets from the texture sheet based on bounding boxes. + */ + static async cropAssets(sheetBase64: string, boxes: BoundingBoxResponse): Promise<{ name: string, base64: string }[]> { + const buffer = Buffer.from(sheetBase64.replace(/^data:image\/\w+;base64,/, ''), 'base64'); + const image = sharp(buffer); + const metadata = await image.metadata(); + + if (!metadata.width || !metadata.height) throw new Error("Could not determine image dimensions"); + + const croppedAssets = []; + + for (const box of boxes.assets) { + const [ymin, xmin, ymax, xmax] = box.coordinates; + + const left = Math.floor(xmin * metadata.width); + const top = Math.floor(ymin * metadata.height); + const width = Math.floor((xmax - xmin) * metadata.width); + const height = Math.floor((ymax - ymin) * metadata.height); + + // Ensure we don't go out of bounds + const safeLeft = Math.max(0, left); + const safeTop = Math.max(0, top); + const safeWidth = Math.min(width, metadata.width - safeLeft); + const safeHeight = Math.min(height, metadata.height - safeTop); + + if (safeWidth <= 0 || safeHeight <= 0) continue; + + const cropBuffer = await image + .clone() + .extract({ left: safeLeft, top: safeTop, width: safeWidth, height: safeHeight }) + .toBuffer(); + + croppedAssets.push({ + name: box.item_name, + base64: `data:image/png;base64,${cropBuffer.toString('base64')}` + }); + } + + return croppedAssets; + } + + /** + * Refines a cropped asset (removes background, upscales). + */ + static async refineAsset(base64: string): Promise { + const buffer = Buffer.from(base64.replace(/^data:image\/\w+;base64,/, ''), 'base64'); + const file = new File([buffer], 'crop.png', { type: 'image/png' }); + + const prompt = ` +Task: Asset Refinement + +Instructions: +1. Process the provided asset image. +2. Remove the existing colored background and replace it with a pure white background (#FFFFFF) (or transparent if possible, but white is safer for now). +3. Upscale the image and enhance details for high-quality game asset presentation. +4. Ensure the object is centered and fully visible. +5. Return only the image. +`; + // Using generateImage with image input + return aiService.generateImage(prompt, [file]); + } +} diff --git a/src/service/file.test.ts b/src/service/file.test.ts new file mode 100644 index 0000000..7dfe2e2 --- /dev/null +++ b/src/service/file.test.ts @@ -0,0 +1,41 @@ +import { describe, expect, test, mock } from 'bun:test' +import { FileService } from './file' + +// Valid 1x1 PNG Base64 +const VALID_PNG_BASE64 = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=='; +const VALID_PNG_BUFFER = Buffer.from(VALID_PNG_BASE64, 'base64'); + +// Mock sharp +mock.module('sharp', () => { + return () => ({ + webp: () => ({ + toBuffer: () => Promise.resolve(new Uint8Array([1, 2, 3])) + }) + }) +}) + +// Mock Bun.write +const mockWrite = mock((path: string, content: any) => Promise.resolve(content.length)) +// @ts-ignore +Bun.write = mockWrite + +describe('FileService', () => { + test('saveFile saves a file and converts to webp if image', async () => { + // Pass valid PNG buffer + const file = new File([VALID_PNG_BUFFER], 'test.png', { type: 'image/png' }) + const result = await FileService.saveFile(file) + + expect(result.filename.endsWith('.webp')).toBe(true) + expect(result.mimeType).toBe('image/webp') + expect(mockWrite).toHaveBeenCalled() + expect(mockWrite.mock.calls[0][0]).toContain('data/files') + }) + + test('saveBase64Image saves a base64 string as webp', async () => { + // Pass valid base64 + const result = await FileService.saveBase64Image(VALID_PNG_BASE64) + + expect(result.filename.endsWith('.webp')).toBe(true) + expect(mockWrite).toHaveBeenCalled() + }) +}) diff --git a/src/service/file.ts b/src/service/file.ts new file mode 100644 index 0000000..a3c88d4 --- /dev/null +++ b/src/service/file.ts @@ -0,0 +1,80 @@ +import { join } from 'path' +import { ulid } from 'ulidx' +import sharp from 'sharp' +// import { writeFile as bunWriteFile } from 'bun' + +export class FileService { + /** + * Saves a file to the data/files directory. + * If the file is an image, it converts it to WebP format. + * @param file The file to save. + * @param name Optional name for the file (used for extension detection if original name is missing). + * @returns The relative path to the saved file. + */ + static async saveFile(file: File | Blob, name?: string): Promise<{ path: string; filename: string; mimeType: string }> { + const id = ulid() + let buffer: ArrayBuffer + let filename: string + let mimeType: string + + if (file instanceof File) { + buffer = await file.arrayBuffer() + // Detect if it's an image based on type or extension + if (file.type.startsWith('image/')) { + const result = await this.optimizeImage(buffer) + buffer = result.buffer + filename = `${id}.webp` + mimeType = 'image/webp' + } else { + // Fallback for non-images (though we mostly deal with images) + const ext = name ? name.split('.').pop() : 'bin' + filename = `${id}.${ext}` + mimeType = file.type || 'application/octet-stream' + } + } else { + // Blob case + buffer = await file.arrayBuffer() + const result = await this.optimizeImage(buffer) + buffer = result.buffer + filename = `${id}.webp` + mimeType = 'image/webp' + } + + const path = join('data/files', filename) + // Bun.write is global + await Bun.write(path, buffer) + + return { path, filename, mimeType } + } + + /** + * Optimizes an image buffer by converting it to WebP using sharp. + */ + private static async optimizeImage(buffer: ArrayBuffer): Promise<{ buffer: ArrayBuffer }> { + const optimizedBuffer = await sharp(buffer) + .webp({ quality: 80 }) // Good balance between size and quality + .toBuffer() + + return { buffer: optimizedBuffer } + } + + /** + * Saves a base64 string as an image file. + */ + static async saveBase64Image(base64: string): Promise<{ path: string; filename: string }> { + // Strip prefix if present + const data = base64.replace(/^data:image\/\w+;base64,/, '') + const buffer = Buffer.from(data, 'base64') + + // Optimize + const { buffer: optimized } = await this.optimizeImage(buffer) + + const id = ulid() + const filename = `${id}.webp` + const path = join('data/files', filename) + + await Bun.write(path, optimized) + + return { path, filename } + } +} diff --git a/src/ui/App.tsx b/src/ui/App.tsx new file mode 100644 index 0000000..56e0e77 --- /dev/null +++ b/src/ui/App.tsx @@ -0,0 +1,82 @@ +import React, { useState } from 'react'; +import { ExtractionStatus } from './types'; +import { Extractor } from './components/Extractor'; +import { Stash } from './components/Stash'; +import { LoadingOverlay } from './components/LoadingOverlay'; + +export default function App() { + const [view, setView] = useState<'extractor' | 'stash'>('extractor'); + const [status, setStatus] = useState('idle'); + const [statusMessage, setStatusMessage] = useState(''); + const [error, setError] = useState(null); + + const handleStatusChange = (newStatus: ExtractionStatus, message?: string) => { + setStatus(newStatus); + if (message) setStatusMessage(message); + }; + + const NavButton = ({ target, label, color, icon }: any) => ( + + ); + + return ( +

+ ); +} \ No newline at end of file diff --git a/src/ui/client.ts b/src/ui/client.ts new file mode 100644 index 0000000..84c4efc --- /dev/null +++ b/src/ui/client.ts @@ -0,0 +1,15 @@ +import { hc } from 'hono/client' +import type { AppType } from '../../index' + +// Create a typed client +// Since we are serving frontend and backend on the same origin (port 3000), +// we can use '/' as the base URL, or explicit localhost. +// However, 'hc' needs the base URL to construct requests. +// If running in browser, '/' works. +// Note: We need to point to '/api' because our routes are mounted under '/api'. +// But wait, AppType is exported from 'route' variable which is the API sub-app. +// The routes in AppType are like '/assets', '/extract', etc. +// But they are mounted at '/api'. +// So if we use hc('/api'), it should work. + +export const client = hc('/api') diff --git a/src/ui/components/Extractor.tsx b/src/ui/components/Extractor.tsx new file mode 100644 index 0000000..f619014 --- /dev/null +++ b/src/ui/components/Extractor.tsx @@ -0,0 +1,217 @@ +import React, { useState } from 'react'; +import { ExtractionStatus, ExtractedAsset } from '../types'; +import { client } from '../client'; + +interface ExtractorProps { + onStatusChange: (status: ExtractionStatus, message?: string) => void; + onError: (msg: string | null) => void; + onAssetsExtracted: (assets: ExtractedAsset[]) => void; + status: ExtractionStatus; + statusMessage: string; +} + +export const Extractor: React.FC = ({ + onStatusChange, + onError, + onAssetsExtracted, + status, + statusMessage +}) => { + const [file, setFile] = useState(null); + const [preview, setPreview] = useState(null); + const [results, setResults] = useState([]); + + const handleFileChange = (e: React.ChangeEvent) => { + if (e.target.files && e.target.files[0]) { + const f = e.target.files[0]; + setFile(f); + setPreview(URL.createObjectURL(f)); + setResults([]); + onError(null); + onStatusChange('idle'); + } + }; + + const handleExtract = async () => { + if (!file) return; + + setResults([]); + onError(null); + onStatusChange('analyzing', "Starting extraction..."); + + try { + // Hono RPC Client for File Upload + const response = await client.extract.$post({ + form: { + image: file + } + }); + + if (!response.ok) throw new Error("Server error"); + if (!response.body) throw new Error("No response body"); + + const reader = response.body.getReader(); + const decoder = new TextDecoder(); + let buffer = ''; + + while (true) { + const { done, value } = await reader.read(); + if (done) break; + + buffer += decoder.decode(value, { stream: true }); + const lines = buffer.split('\n\n'); // SSE events are separated by double newline + buffer = lines.pop() || ''; // Keep incomplete line + + for (const line of lines) { + if (line.startsWith('event: ')) { + // Basic SSE parsing + const eventMatch = line.match(/^event: (.+)$/m); + const dataMatch = line.match(/^data: (.+)$/m); + + if (eventMatch && dataMatch) { + const event = eventMatch[1].trim(); + const data = JSON.parse(dataMatch[1]); + + if (event === 'status') { + onStatusChange(data.status, data.message); + } else if (event === 'complete') { + onStatusChange('complete', "Extraction complete!"); + setResults(data.assets); + onAssetsExtracted(data.assets); + } else if (event === 'error') { + throw new Error(data.message); + } + } + } + } + } + + } catch (e: unknown) { + console.error(e); + const error = e instanceof Error ? e : new Error(String(e)); + onError(error.message || "Extraction failed"); + onStatusChange('error'); + } + }; + + const handleReset = () => { + setFile(null); + if (preview) URL.revokeObjectURL(preview); + setPreview(null); + setResults([]); + onStatusChange('idle'); + }; + + if (results.length > 0) { + return ( + + ); + } + + // Initial State + return ( +
+ {!file ? ( +
+
+ +
+

UPLOAD SOURCE

+

Drop character image to identify and extract equipment sprites.

+
+ +
+
+ ) : ( +
+
+
+

Staging Area

+
+ +
+ +
+ +
+ + +

POWERED BY GEMINI 2.0 FLASH

+
+ )} +
+ ); +}; \ No newline at end of file diff --git a/src/ui/components/LoadingOverlay.tsx b/src/ui/components/LoadingOverlay.tsx new file mode 100644 index 0000000..97c1f5b --- /dev/null +++ b/src/ui/components/LoadingOverlay.tsx @@ -0,0 +1,49 @@ +import React from 'react'; +import { ExtractionStatus } from '../types'; + +interface LoadingOverlayProps { + status: ExtractionStatus; + current?: number; + total?: number; +} + +export const LoadingOverlay: React.FC = ({ status, current = 0, total = 0 }) => { + const getStatusText = () => { + switch (status) { + case 'analyzing': return 'Scanning Neural Patterns...'; + case 'generating': return 'Synthesizing Texture Data...'; + case 'splitting': return 'Isolating Components...'; + case 'refining': return 'Upscaling & Polishing...'; + default: return 'Processing...'; + } + }; + + const percent = total > 0 ? Math.round((current / total) * 100) : 0; + + return ( +
+
+
+ System Status + {percent}% +
+
+
+
+
+ +
+
+
+
+
+
+ +

{getStatusText()}

+

Do not close window

+
+ ); +}; \ No newline at end of file diff --git a/src/ui/components/Stash.tsx b/src/ui/components/Stash.tsx new file mode 100644 index 0000000..120faaf --- /dev/null +++ b/src/ui/components/Stash.tsx @@ -0,0 +1,83 @@ +import React, { useState, useEffect } from 'react'; +import { StashItem } from '../types'; +import { client } from '../client'; + +interface StashProps { + onNavigateToExtractor: () => void; +} + +export const Stash: React.FC = ({ onNavigateToExtractor }) => { + const [items, setItems] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + fetchItems(); + }, []); + + const fetchItems = async () => { + try { + // Using Hono RPC client + const res = await client.equipments.$get({ + query: { + limit: '100' + } + }); + const data = await res.json(); + setItems(data.items); + } catch (e) { + console.error("Failed to load stash", e); + } finally { + setLoading(false); + } + }; + + if (loading) { + return
Loading Stash...
; + } + + if (items.length === 0) { + return ( +
+
+ +
+

Empty Stash

+

Your inventory is empty. Use the Extractor to loot equipment from character images.

+ +
+ ); + } + + return ( +
+
+
+

Your Stash

+

{items.length} Items Collected

+
+ +
+ +
+ {items.map((item) => ( +
+
+
+ +
+
+
+

{item.item_name}

+
+

{(item as any).category?.name || 'Unknown'}

+
+
+ ))} +
+
+ ); +}; \ No newline at end of file diff --git a/src/ui/index.css b/src/ui/index.css new file mode 100644 index 0000000..ff98c58 --- /dev/null +++ b/src/ui/index.css @@ -0,0 +1,71 @@ +@import "tailwindcss"; + +@theme { + --color-border: #e5e7eb; + --color-input: #e5e7eb; + --color-ring: #0a0a0a; + --color-background: #ffffff; + --color-foreground: #0a0a0a; + + --color-primary: #171717; + --color-primary-foreground: #fafafa; + + --color-secondary: #f5f5f5; + --color-secondary-foreground: #171717; + + --color-destructive: #ef4444; + --color-destructive-foreground: #fafafa; + + --color-muted: #f5f5f5; + --color-muted-foreground: #737373; + + --color-accent: #f5f5f5; + --color-accent-foreground: #171717; + + --color-popover: #ffffff; + --color-popover-foreground: #0a0a0a; + + --color-card: #ffffff; + --color-card-foreground: #0a0a0a; + + --radius-lg: 0.5rem; + --radius-md: calc(0.5rem - 2px); + --radius-sm: calc(0.5rem - 4px); +} + +body { + font-family: 'Inter', sans-serif; + background-color: #f3f4f6; /* Gray 100 */ + background-image: + radial-gradient(#e5e7eb 1px, transparent 1px), + radial-gradient(#e5e7eb 1px, transparent 1px); + background-size: 20px 20px; + background-position: 0 0, 10px 10px; + color: #1f2937; /* Gray 800 */ +} + +/* Custom Scrollbar */ +.custom-scrollbar::-webkit-scrollbar { + width: 8px; + height: 8px; +} +.custom-scrollbar::-webkit-scrollbar-track { + background: #e5e7eb; + border-radius: 4px; +} +.custom-scrollbar::-webkit-scrollbar-thumb { + background: #9ca3af; + border-radius: 4px; + border: 2px solid #e5e7eb; +} +.custom-scrollbar::-webkit-scrollbar-thumb:hover { + background: #6b7280; +} + +@keyframes fade-in-up { + from { opacity: 0; transform: translateY(10px); } + to { opacity: 1; transform: translateY(0); } +} +.animate-fade-in-up { + animation: fade-in-up 0.4s ease-out forwards; +} diff --git a/src/ui/index.html b/src/ui/index.html new file mode 100644 index 0000000..d1dcbe8 --- /dev/null +++ b/src/ui/index.html @@ -0,0 +1,15 @@ + + + + + + Forgery + + + + + +
+ + + \ No newline at end of file diff --git a/src/ui/index.ts b/src/ui/index.ts new file mode 100644 index 0000000..f67b2c6 --- /dev/null +++ b/src/ui/index.ts @@ -0,0 +1 @@ +console.log("Hello via Bun!"); \ No newline at end of file diff --git a/src/ui/index.tsx b/src/ui/index.tsx new file mode 100644 index 0000000..07f4ded --- /dev/null +++ b/src/ui/index.tsx @@ -0,0 +1,6 @@ +import { createRoot } from 'react-dom/client'; +import App from './App'; +import './index.css'; + +const root = createRoot(document.getElementById('root') as HTMLElement); +root.render(); diff --git a/src/ui/types.ts b/src/ui/types.ts new file mode 100644 index 0000000..fa67d2c --- /dev/null +++ b/src/ui/types.ts @@ -0,0 +1,28 @@ +export interface Asset { + item_name: string; + background_color: string; + description: string; + category: string; +} + +export interface ExtractedAsset extends Asset { + imageUrl: string; + id?: string; +} + +export interface Category { + id: string; + name: string; +} + +export interface StashItem { + id: string; + item_name: string; + imageUrl: string; + description: string; + category?: Category; + subCategory?: Category; + createdAt: number; +} + +export type ExtractionStatus = 'idle' | 'analyzing' | 'generating' | 'splitting' | 'refining' | 'complete' | 'error'; diff --git a/ui/ui-demo/.gitignore b/ui/ui-demo/.gitignore deleted file mode 100644 index a547bf3..0000000 --- a/ui/ui-demo/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? diff --git a/ui/ui-demo/App.tsx b/ui/ui-demo/App.tsx deleted file mode 100644 index e7d6c2c..0000000 --- a/ui/ui-demo/App.tsx +++ /dev/null @@ -1,173 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { ExtractionStatus, StashItem, CroppedAsset } from './types'; -import { LoadingOverlay } from './components/LoadingOverlay'; -import { Extractor } from './components/Extractor'; -import { Stash } from './components/Stash'; -import { Modifier } from './components/Modifier'; - -export default function App() { - const [view, setView] = useState<'extractor' | 'stash' | 'modifier'>('extractor'); - const [status, setStatus] = useState('idle'); - const [loadingCurrent, setLoadingCurrent] = useState(0); - const [loadingTotal, setLoadingTotal] = useState(0); - const [error, setError] = useState(null); - const [stash, setStash] = useState([]); - const [apiKeySelected, setApiKeySelected] = useState(false); - const [notification, setNotification] = useState(null); - - useEffect(() => { - checkApiKey(); - loadStash(); - }, []); - - const checkApiKey = async () => { - const aistudio = (window as any).aistudio; - if (aistudio?.hasSelectedApiKey) { - const hasKey = await aistudio.hasSelectedApiKey(); - setApiKeySelected(hasKey); - } else { - setApiKeySelected(true); - } - }; - - const handleSelectKey = async () => { - const aistudio = (window as any).aistudio; - if (aistudio?.openSelectKey) { - await aistudio.openSelectKey(); - setApiKeySelected(true); - } - }; - - const loadStash = () => { - try { - // Changed key to reflect new app name - const saved = localStorage.getItem('forgery_stash'); - if (saved) setStash(JSON.parse(saved)); - } catch (e) { - console.error("Failed to load stash", e); - } - }; - - const saveStash = (items: StashItem[]) => { - setStash(items); - localStorage.setItem('forgery_stash', JSON.stringify(items)); - }; - - const handleAddToStash = (assets: CroppedAsset[]) => { - const newItems: StashItem[] = assets.map(asset => ({ - id: Math.random().toString(36).substr(2, 9), - item_name: asset.item_name, - imageUrl: asset.refinedImageUrl || asset.imageUrl, - createdAt: Date.now() - })); - saveStash([...newItems, ...stash]); - showNotification("Loot successfully stashed!"); - }; - - const showNotification = (msg: string) => { - setNotification(msg); - setTimeout(() => setNotification(null), 3000); - }; - - const handleStatusChange = (newStatus: ExtractionStatus, current?: number, total?: number) => { - setStatus(newStatus); - if (current !== undefined) setLoadingCurrent(current); - if (total !== undefined) setLoadingTotal(total); - }; - - const NavButton = ({ target, label, color, icon }: any) => ( - - ); - - return ( -
- {/* Notifications */} - {notification && ( -
-
- {notification} -
- )} - - {/* Global Error */} - {error && ( -
- {error} - -
- )} - - {/* Loading */} - {(status !== 'idle' && status !== 'complete' && status !== 'error') && ( - - )} - -
-
-
- -
-
-

Forgery

-

Digital Asset Synthesis

-
-
- -
- - - - - {!apiKeySelected && (window as any).aistudio && ( - - )} -
-
- -
- {view === 'extractor' && ( - {}} - apiKeyValid={apiKeySelected} - onConnectKey={handleSelectKey} - onSaveToStash={handleAddToStash} - /> - )} - {view === 'stash' && ( - saveStash(stash.filter(i => i.id !== id))} - onClear={() => saveStash([])} - onNavigateToExtractor={() => setView('extractor')} - /> - )} - {view === 'modifier' && ( - setView('extractor')} - /> - )} -
-
- ); -} \ No newline at end of file diff --git a/ui/ui-demo/README.md b/ui/ui-demo/README.md deleted file mode 100644 index 3d0d7bf..0000000 --- a/ui/ui-demo/README.md +++ /dev/null @@ -1,20 +0,0 @@ -
-GHBanner -
- -# Run and deploy your AI Studio app - -This contains everything you need to run your app locally. - -View your app in AI Studio: https://ai.studio/apps/drive/19Xb6Drl-US_jUxV3S8ruwCrcP6C8ZUHh - -## Run Locally - -**Prerequisites:** Node.js - - -1. Install dependencies: - `npm install` -2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key -3. Run the app: - `npm run dev` diff --git a/ui/ui-demo/components/AssetList.tsx b/ui/ui-demo/components/AssetList.tsx deleted file mode 100644 index 987fc45..0000000 --- a/ui/ui-demo/components/AssetList.tsx +++ /dev/null @@ -1,89 +0,0 @@ -import React from 'react'; -import { Asset, HEX_COLORS } from '../types'; - -interface AssetListProps { - assets: Asset[]; - onConfirm: () => void; - onCancel: () => void; - selectedModel: string; - onModelChange: (model: string) => void; -} - -export const AssetList: React.FC = ({ assets, onConfirm, onCancel, selectedModel, onModelChange }) => { - return ( -
-
-
-

Identified Assets

-

Review the items detected for extraction.

-
- - {assets.length} Items Found - -
- -
- {assets.map((asset, idx) => ( -
-
-
-

{asset.item_name}

-

{asset.description}

-
- Target Key: {asset.background_color} -
-
-
- ))} -
- - {/* Model Selection */} -
-

Extraction Model

-
-
- ); -}; \ No newline at end of file diff --git a/ui/ui-demo/components/Extractor.tsx b/ui/ui-demo/components/Extractor.tsx deleted file mode 100644 index faa5528..0000000 --- a/ui/ui-demo/components/Extractor.tsx +++ /dev/null @@ -1,277 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { analyzeImageForAssets, generateTextureSheet, detectAssetBoundingBoxes, cropAssetsFromSheet, refineAssetImage } from '../services/geminiService'; -import { AnalysisResponse, CroppedAsset, ExtractionStatus } from '../types'; - -interface ExtractorProps { - onStatusChange: (status: ExtractionStatus, index?: number, total?: number) => void; - onError: (msg: string | null) => void; - onAssetsExtracted: (assets: CroppedAsset[]) => void; - apiKeyValid: boolean; - onConnectKey: () => void; - onSaveToStash: (assets: CroppedAsset[]) => void; -} - -export const Extractor: React.FC = ({ - onStatusChange, - onError, - onAssetsExtracted, - apiKeyValid, - onConnectKey, - onSaveToStash -}) => { - const [files, setFiles] = useState([]); - const [previews, setPreviews] = useState([]); - const [results, setResults] = useState([]); - const [selectedSourceIdx, setSelectedSourceIdx] = useState(null); - - // Handle Paste Events - useEffect(() => { - const handlePaste = (e: ClipboardEvent) => { - if (e.clipboardData && e.clipboardData.items) { - const items = e.clipboardData.items; - const newFiles: File[] = []; - for (let i = 0; i < items.length; i++) { - if (items[i].type.indexOf("image") !== -1) { - const blob = items[i].getAsFile(); - if (blob) { - newFiles.push(blob); - } - } - } - - if (newFiles.length > 0) { - addFiles(newFiles); - } - } - }; - - window.addEventListener('paste', handlePaste); - return () => { - window.removeEventListener('paste', handlePaste); - }; - }, []); // Empty dependency array means this runs once on mount and cleans up on unmount - - const handleFileChange = (e: React.ChangeEvent) => { - if (e.target.files) addFiles(Array.from(e.target.files)); - }; - - const addFiles = (newFiles: File[]) => { - setFiles(prev => [...prev, ...newFiles]); - setPreviews(prev => [...prev, ...newFiles.map(f => URL.createObjectURL(f))]); - setResults([]); // Clear results on new upload - onError(null); - }; - - const removeFile = (idx: number) => { - const newFiles = [...files]; - const newPreviews = [...previews]; - URL.revokeObjectURL(newPreviews[idx]); - newFiles.splice(idx, 1); - newPreviews.splice(idx, 1); - setFiles(newFiles); - setPreviews(newPreviews); - }; - - const handleExtract = async () => { - if (files.length === 0) return; - if (!apiKeyValid) { - onConnectKey(); - return; - } - - setResults([]); - onError(null); - const allAssets: CroppedAsset[] = []; - - try { - for (let i = 0; i < files.length; i++) { - onStatusChange('analyzing', i + 1, files.length); - - // 1. Analyze - let analysis: AnalysisResponse; - try { - analysis = await analyzeImageForAssets(files[i]); - } catch (e) { - console.error(`Analysis failed for ${files[i].name}`, e); - continue; - } - - if (analysis.assets.length === 0) continue; - - // 2. Generate Sheet - onStatusChange('generating', i + 1, files.length); - const sheetUrl = await generateTextureSheet(files[i], analysis.assets); - - // 3. Slice - onStatusChange('splitting', i + 1, files.length); - const base64 = sheetUrl.split(',')[1]; - const boxes = await detectAssetBoundingBoxes(base64); - const cropped = await cropAssetsFromSheet(sheetUrl, boxes.assets); - - // 4. Refine - onStatusChange('refining', i + 1, files.length); - const refined = await Promise.all(cropped.map(async (a) => { - try { - const refinedUrl = await refineAssetImage(a.imageUrl); - return { ...a, refinedImageUrl: refinedUrl, sourceIndex: i }; - } catch { - return { ...a, sourceIndex: i }; - } - })); - - allAssets.push(...refined); - } - - setResults(allAssets); - onAssetsExtracted(allAssets); - onStatusChange('complete'); - if (allAssets.length > 0) setSelectedSourceIdx(0); - - } catch (e: any) { - console.error(e); - onError(e.message || "Extraction failed"); - onStatusChange('error'); - } - }; - - const handleReset = () => { - setFiles([]); - previews.forEach(p => URL.revokeObjectURL(p)); - setPreviews([]); - setResults([]); - onStatusChange('idle'); - }; - - if (results.length > 0) { - const filtered = selectedSourceIdx !== null - ? results.filter(r => r.sourceIndex === selectedSourceIdx) - : results; - - return ( -
- {/* Source Selection Strip */} -
-

Source References

-
- {previews.map((src, idx) => ( - - ))} -
-
- - {/* Results Grid */} -
-
-
-

- ✦ LOOT ACQUIRED -

-

{filtered.length} items found

-
-
- - -
-
- -
- {filtered.map((item, i) => ( -
-
- {/* Checkerboard bg */} -
- - - {/* Download Overlay */} - - - -
-
-
{item.item_name}
-
-
-
- ))} -
-
-
- ); - } - - // Initial State - return ( -
- {files.length === 0 ? ( -
-
- -
-

UPLOAD SOURCES

-

Drop character images to identify and extract equipment sprites.

-
- Paste (Ctrl+V) Supported -
-
- -
-
- ) : ( -
-
-
-

Staging Area ({files.length})

- Drag, Drop, or Paste more -
- -
- -
- {previews.map((src, i) => ( -
- - -
- ))} -
- - -

POWERED BY GEMINI 2.5 FLASH

-
- )} -
- ); -}; \ No newline at end of file diff --git a/ui/ui-demo/components/LoadingOverlay.tsx b/ui/ui-demo/components/LoadingOverlay.tsx deleted file mode 100644 index febff12..0000000 --- a/ui/ui-demo/components/LoadingOverlay.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react'; - -interface LoadingOverlayProps { - status: string; - current?: number; - total?: number; -} - -export const LoadingOverlay: React.FC = ({ status, current, total }) => { - let title = 'PROCESSING'; - let description = 'Please wait...'; - - switch (status) { - case 'analyzing': - title = 'SCANNING ASSETS'; - description = 'Identifying equipment geometry...'; - break; - case 'generating': - title = 'FORGING TEXTURES'; - description = 'Creating ghost mannequin sprites...'; - break; - case 'splitting': - title = 'CUTTING SPRITES'; - description = 'Slicing texture sheet boundaries...'; - break; - case 'refining': - title = 'POLISHING'; - description = 'Refining edges and normalizing...'; - break; - case 'modifying': - title = 'SYNTHESIZING'; - description = 'Equipping character with new gear...'; - break; - } - - return ( -
-
- {/* Top Decoration */} -
- -
-
-
-
- -

- {title} -

-

- {description} -

- - {total && total > 1 && ( -
-
- Progress - {current} / {total} -
-
-
-
-
- )} -
-
- ); -}; \ No newline at end of file diff --git a/ui/ui-demo/components/Modifier.tsx b/ui/ui-demo/components/Modifier.tsx deleted file mode 100644 index cc251c9..0000000 --- a/ui/ui-demo/components/Modifier.tsx +++ /dev/null @@ -1,197 +0,0 @@ -import React, { useState } from 'react'; -import { generateModifiedCharacter } from '../services/geminiService'; -import { StashItem, ExtractionStatus } from '../types'; - -interface ModifierProps { - stash: StashItem[]; - onStatusChange: (status: ExtractionStatus) => void; - onError: (msg: string | null) => void; - apiKeyValid: boolean; - onConnectKey: () => void; - onNavigateToExtractor: () => void; -} - -export const Modifier: React.FC = ({ - stash, - onStatusChange, - onError, - apiKeyValid, - onConnectKey, - onNavigateToExtractor -}) => { - const [baseFile, setBaseFile] = useState(null); - const [basePreview, setBasePreview] = useState(null); - const [selectedItemIds, setSelectedItemIds] = useState>(new Set()); - const [resultUrl, setResultUrl] = useState(null); - const [selectedModel, setSelectedModel] = useState('gemini-3-pro-image-preview'); - - const handleBaseChange = (e: React.ChangeEvent) => { - if (e.target.files && e.target.files[0]) { - const f = e.target.files[0]; - setBaseFile(f); - setBasePreview(URL.createObjectURL(f)); - setResultUrl(null); - onError(null); - } - }; - - const toggleItem = (id: string) => { - const next = new Set(selectedItemIds); - if (next.has(id)) next.delete(id); - else next.add(id); - setSelectedItemIds(next); - }; - - const handleForge = async () => { - if (!baseFile || selectedItemIds.size === 0) return; - if (!apiKeyValid) { - onConnectKey(); - return; - } - - onStatusChange('modifying'); - setResultUrl(null); - onError(null); - - try { - const items = stash.filter(i => selectedItemIds.has(i.id)); - const url = await generateModifiedCharacter(baseFile, items, selectedModel); - setResultUrl(url); - onStatusChange('idle'); - } catch (e: any) { - console.error(e); - onError(e.message || "Modification failed"); - onStatusChange('error'); - } - }; - - return ( -
-
-

- ⚒ SMITHY -

-

Equip your characters with extracted assets.

-
- -
- {/* LEFT: Base Character */} -
-

Base Character

- -
- {basePreview ? ( - <> - - - - ) : ( - - )} -
- - {/* Model Selector */} -
-

Forge Model

-
- - -
-
-
- - {/* CENTER: Stash Selector */} -
-
-

Available Equipment

- {selectedItemIds.size} Selected -
- -
- {stash.length === 0 ? ( -
-

No equipment in stash.

- -
- ) : ( -
- {stash.map(item => { - const isSelected = selectedItemIds.has(item.id); - return ( -
toggleItem(item.id)} - className={`cursor-pointer rounded-lg border-2 p-2 transition-all hover:shadow-md ${isSelected ? 'border-purple-500 bg-purple-50' : 'border-stone-200 bg-white hover:border-stone-300'}`} - > -
- -
-

{item.item_name}

-
- ) - })} -
- )} -
- -
- -
-
-
- - {/* RESULT */} - {resultUrl && ( -
-

Masterpiece Created

- -
- )} -
- ); -}; \ No newline at end of file diff --git a/ui/ui-demo/components/Stash.tsx b/ui/ui-demo/components/Stash.tsx deleted file mode 100644 index f448fe7..0000000 --- a/ui/ui-demo/components/Stash.tsx +++ /dev/null @@ -1,74 +0,0 @@ -import React from 'react'; -import { StashItem } from '../types'; - -interface StashProps { - items: StashItem[]; - onRemove: (id: string) => void; - onClear: () => void; - onNavigateToExtractor: () => void; -} - -export const Stash: React.FC = ({ items, onRemove, onClear, onNavigateToExtractor }) => { - return ( -
-
-
-

- ❖ INVENTORY -

-

Manage your collection of extracted assets.

-
- {items.length > 0 && ( - - )} -
- - {items.length === 0 ? ( -
-
- -
-

Inventory Empty

-

Extract assets to populate your stash.

- -
- ) : ( -
- {items.map((item) => ( -
-
-
- - -
- - Download - - -
-
-
-

{item.item_name}

-

{new Date(item.createdAt).toLocaleDateString()}

-
-
- ))} -
- )} -
- ); -}; \ No newline at end of file diff --git a/ui/ui-demo/index.html b/ui/ui-demo/index.html deleted file mode 100644 index f5fb26a..0000000 --- a/ui/ui-demo/index.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - Forgery - - - - - - -
- - - \ No newline at end of file diff --git a/ui/ui-demo/index.tsx b/ui/ui-demo/index.tsx deleted file mode 100644 index 6ca5361..0000000 --- a/ui/ui-demo/index.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import App from './App'; - -const rootElement = document.getElementById('root'); -if (!rootElement) { - throw new Error("Could not find root element to mount to"); -} - -const root = ReactDOM.createRoot(rootElement); -root.render( - - - -); \ No newline at end of file diff --git a/ui/ui-demo/metadata.json b/ui/ui-demo/metadata.json deleted file mode 100644 index 1bdc092..0000000 --- a/ui/ui-demo/metadata.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Forgery", - "description": "Extract character assets and forge new characters using Gemini models.", - "requestFramePermissions": [] -} \ No newline at end of file diff --git a/ui/ui-demo/package.json b/ui/ui-demo/package.json deleted file mode 100644 index bf6c276..0000000 --- a/ui/ui-demo/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "forgery", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "vite build", - "preview": "vite preview" - }, - "dependencies": { - "react": "^19.2.4", - "@google/genai": "^1.40.0", - "react-dom": "^19.2.4" - }, - "devDependencies": { - "@types/node": "^22.14.0", - "@vitejs/plugin-react": "^5.0.0", - "typescript": "~5.8.2", - "vite": "^6.2.0" - } -} diff --git a/ui/ui-demo/services/geminiService.ts b/ui/ui-demo/services/geminiService.ts deleted file mode 100644 index 3c6e7be..0000000 --- a/ui/ui-demo/services/geminiService.ts +++ /dev/null @@ -1,398 +0,0 @@ -import { GoogleGenAI, Type } from "@google/genai"; -import { AnalysisResponse, Asset, BoundingBoxResponse, CroppedAsset, DetectedAssetBox, HEX_COLORS, StashItem } from "../types"; - -// Helper to convert File to Base64 -const fileToGenericBase64 = async (file: File): Promise => { - return new Promise((resolve, reject) => { - const reader = new FileReader(); - reader.onload = () => { - const result = reader.result as string; - // Remove data URL prefix (e.g., "data:image/png;base64,") - const base64 = result.split(',')[1]; - resolve(base64); - }; - reader.onerror = (error) => reject(error); - reader.readAsDataURL(file); - }); -}; - -export const analyzeImageForAssets = async (file: File): Promise => { - // Use a smart model for analysis (Gemini 3 Pro or Flash) to get accurate JSON - const ai = new GoogleGenAI({ apiKey: process.env.API_KEY }); - const base64Data = await fileToGenericBase64(file); - - const prompt = ` -Task: Character Asset Identification for Extraction - -Instructions: -1. Analyze the character in the image and identify all distinct, extractable equipment and clothing items. -2. Filter for items that are clearly visible: tops, bottoms, headwear, footwear, specialized armor (arm guards, leg guards), and accessories (scarves, belts, capes). -3. For each identified item, assign one of the following high-contrast background colors for future segmentation: Red, Yellow, Green, White, Blue, Black, Magenta, Cyan, Orange, Gray. Avoid repeating colors if possible. -4. Limit to a maximum of 9 most prominent assets. - -Output Format (Strict JSON): -Return ONLY a JSON object with a list of assets. -`; - - const response = await ai.models.generateContent({ - model: 'gemini-3-pro-preview', - contents: { - parts: [ - { inlineData: { mimeType: file.type, data: base64Data } }, - { text: prompt } - ] - }, - config: { - responseMimeType: "application/json", - responseSchema: { - type: Type.OBJECT, - properties: { - assets: { - type: Type.ARRAY, - items: { - type: Type.OBJECT, - properties: { - item_name: { type: Type.STRING }, - background_color: { type: Type.STRING }, - description: { type: Type.STRING }, - }, - required: ['item_name', 'background_color', 'description'], - }, - }, - }, - required: ['assets'] - }, - }, - }); - - const text = response.text; - if (!text) throw new Error("No response from analysis model"); - - let cleanText = text.trim(); - if (cleanText.startsWith('```')) { - cleanText = cleanText.replace(/^```(json)?/, '').replace(/```$/, '').trim(); - } - - const parsed = JSON.parse(cleanText); - if (!parsed.assets) parsed.assets = []; - - return parsed as AnalysisResponse; -}; - -export const generateTextureSheet = async (originalFile: File, assets: Asset[]): Promise => { - // Use Gemini 2.5 Flash Image ("Banana") for generation as requested - const ai = new GoogleGenAI({ apiKey: process.env.API_KEY }); - const base64Data = await fileToGenericBase64(originalFile); - - // Construct the mapping string dynamically - const mappingString = assets.map(asset => { - const colorName = asset.background_color; - // Fallback to black if hex not found - const hex = HEX_COLORS[colorName] || '#000000'; - return `- ${asset.item_name}: ${colorName} Background (${hex}). ${asset.description}`; - }).join('\n'); - - const prompt = ` -Task: Character Asset Extraction & Grid Generation - -Instructions: -Analyze the character in the provided image and extract the following ${assets.length} specific assets into a new, single image organized in a grid layout (e.g., 2x3, 3x3 depending on count). - -Core Constraints: -1. Isolated Assets: Each item must be placed within its own distinct square tile. No overlapping. -2. Ghost Mannequin Style: Extract ONLY the items. Remove the character's body entirely. Clothing and armor must appear as empty, 3D shells as if worn by an invisible person. -3. Solid Chroma Key Backgrounds: Each tile must use the specific solid background color assigned below. Ensure zero shadows, highlights, or gradients on the background to facilitate clean digital segmentation. -4. Output Format: Generate a square texture sheet. Ignore the original image aspect ratio for the final output canvas. - -Item & Background Mapping: -${mappingString} - -Output Requirement: High-resolution texture sheet, flat lay presentation, sharp edges, and uniform lighting across all assets. -`; - - const response = await ai.models.generateContent({ - model: 'gemini-2.5-flash-image', - contents: { - parts: [ - { inlineData: { mimeType: originalFile.type, data: base64Data } }, - { text: prompt } - ] - }, - config: { - imageConfig: { - aspectRatio: '1:1', - // imageSize not supported for gemini-2.5-flash-image - } - } - }); - - // Extract image - let imageUrl = ''; - if (response.candidates && response.candidates[0].content.parts) { - for (const part of response.candidates[0].content.parts) { - if (part.inlineData) { - imageUrl = `data:${part.inlineData.mimeType};base64,${part.inlineData.data}`; - break; - } - } - } - - if (!imageUrl) { - throw new Error("No image generated."); - } - - return imageUrl; -}; - -export const detectAssetBoundingBoxes = async (textureSheetBase64: string): Promise => { - const ai = new GoogleGenAI({ apiKey: process.env.API_KEY }); - - const prompt = ` -Task: Spatial Asset Detection & Normalized Grid Mapping - -Instructions: -1. Analyze the provided image consisting of character assets arranged in a grid. -2. Identify the bounding box for each distinct asset container (the colored square background tiles). -3. Return the coordinates for each box using a normalized scale of 0.0 to 1.0. - - [ymin, xmin, ymax, xmax] - - (0, 0) is the top-left corner; (1.0, 1.0) is the bottom-right corner. -4. Ensure the box coordinates strictly encompass the outer boundary of each colored tile. - -Output Format (Strict JSON): -Return ONLY a JSON object. Provide the grid dimensions and a list of detected assets with their coordinates. -`; - - const response = await ai.models.generateContent({ - model: 'gemini-3-pro-preview', - contents: { - parts: [ - { inlineData: { mimeType: 'image/png', data: textureSheetBase64 } }, - { text: prompt } - ] - }, - config: { - responseMimeType: "application/json", - responseSchema: { - type: Type.OBJECT, - properties: { - grid_dimensions: { - type: Type.OBJECT, - properties: { - rows: { type: Type.INTEGER }, - cols: { type: Type.INTEGER } - } - }, - assets: { - type: Type.ARRAY, - items: { - type: Type.OBJECT, - properties: { - item_name: { type: Type.STRING }, - coordinates: { - type: Type.ARRAY, - items: { type: Type.NUMBER }, - description: "[ymin, xmin, ymax, xmax]" - }, - bg_color_detected: { type: Type.STRING } - } - } - } - }, - required: ['assets', 'grid_dimensions'] - } - } - }); - - const text = response.text; - if (!text) throw new Error("No bounding box response from model"); - - let cleanText = text.trim(); - if (cleanText.startsWith('```')) { - cleanText = cleanText.replace(/^```(json)?/, '').replace(/```$/, '').trim(); - } - - let parsed: any; - try { - parsed = JSON.parse(cleanText); - } catch (e) { - console.error("Failed to parse JSON:", cleanText); - throw new Error("Invalid JSON response from detection model"); - } - - // Ensure assets array exists - if (!parsed.assets || !Array.isArray(parsed.assets)) { - parsed.assets = []; - } - - return parsed as BoundingBoxResponse; -}; - -export const cropAssetsFromSheet = async (sheetDataUrl: string, boxes: DetectedAssetBox[]): Promise[]> => { - return new Promise((resolve, reject) => { - const img = new Image(); - img.crossOrigin = "anonymous"; - img.onload = () => { - try { - const cropped: Omit[] = []; - - if (boxes && Array.isArray(boxes)) { - boxes.forEach(box => { - if (!box.coordinates || box.coordinates.length !== 4) return; - - const [ymin, xmin, ymax, xmax] = box.coordinates; - const canvas = document.createElement('canvas'); - const ctx = canvas.getContext('2d'); - - if (!ctx) return; - - // Convert normalized coords to pixels - const srcX = xmin * img.width; - const srcY = ymin * img.height; - const srcW = (xmax - xmin) * img.width; - const srcH = (ymax - ymin) * img.height; - - canvas.width = srcW; - canvas.height = srcH; - - ctx.drawImage(img, srcX, srcY, srcW, srcH, 0, 0, srcW, srcH); - - cropped.push({ - item_name: box.item_name || "Unknown Asset", - imageUrl: canvas.toDataURL('image/png') - }); - }); - } - - resolve(cropped); - } catch (e) { - reject(e); - } - }; - img.onerror = (e) => reject(e); - img.src = sheetDataUrl; - }); -}; - -export const refineAssetImage = async (base64Data: string): Promise => { - const ai = new GoogleGenAI({ apiKey: process.env.API_KEY }); - - const prompt = ` -Task: Asset Refinement - -Instructions: -1. Process the provided asset image. -2. Remove the existing colored background and replace it with a pure white background (#FFFFFF). -3. Upscale the image and enhance details for high-quality game asset presentation. -4. Ensure the object is centered and fully visible. -5. Return only the image. - `; - - // Remove header if present - const cleanBase64 = base64Data.includes(',') ? base64Data.split(',')[1] : base64Data; - - const response = await ai.models.generateContent({ - model: 'gemini-2.5-flash-image', - contents: { - parts: [ - { inlineData: { mimeType: 'image/png', data: cleanBase64 } }, - { text: prompt } - ] - } - }); - - // Extract image - let imageUrl = ''; - if (response.candidates && response.candidates[0].content.parts) { - for (const part of response.candidates[0].content.parts) { - if (part.inlineData) { - imageUrl = `data:${part.inlineData.mimeType};base64,${part.inlineData.data}`; - break; - } - } - } - - if (!imageUrl) { - throw new Error("No refined image generated."); - } - - return imageUrl; -}; - -export const generateModifiedCharacter = async ( - characterFile: File, - assets: StashItem[], - model: string = 'gemini-3-pro-image-preview' -): Promise => { - const ai = new GoogleGenAI({ apiKey: process.env.API_KEY }); - - // Base Character - const charBase64 = await fileToGenericBase64(characterFile); - - const parts: any[] = []; - - parts.push({ - inlineData: { mimeType: characterFile.type, data: charBase64 } - }); - parts.push({ text: "Base Character Reference" }); - - // Assets - for (const asset of assets) { - // imageUrl is likely a data URL "data:image/png;base64,....." - const matches = asset.imageUrl.match(/^data:(.+);base64,(.+)$/); - if (matches && matches.length === 3) { - const mimeType = matches[1]; - const data = matches[2]; - parts.push({ - inlineData: { mimeType, data } - }); - parts.push({ text: `Equipment to equip: ${asset.item_name}` }); - } - } - - const prompt = ` - Task: Character Synthesis and Equipment Modification. - - 1. Reference the 'Base Character' for pose, body type, facial features, and general art style. - 2. Reference the 'Equipment to equip' images. - 3. Generate a new image of the Base Character wearing the provided items. - 4. The items should replace existing clothing/armor in that slot (e.g. new helmet replaces old hat, armor replaces shirt). - 5. Seamlessly blend the items into the character's style. - 6. Maintain the exact pose and angle of the Base Character. - 7. High quality, detailed, game art style. - `; - - parts.push({ text: prompt }); - - const imageConfig: any = { - aspectRatio: '1:1', - }; - - if (model === 'gemini-3-pro-image-preview') { - imageConfig.imageSize = '2K'; - } - - const response = await ai.models.generateContent({ - model: model, - contents: { parts }, - config: { - imageConfig: imageConfig - } - }); - - // Extract image - let imageUrl = ''; - if (response.candidates && response.candidates[0].content.parts) { - for (const part of response.candidates[0].content.parts) { - if (part.inlineData) { - imageUrl = `data:${part.inlineData.mimeType};base64,${part.inlineData.data}`; - break; - } - } - } - - if (!imageUrl) { - throw new Error("No image generated."); - } - - return imageUrl; -}; \ No newline at end of file diff --git a/ui/ui-demo/tsconfig.json b/ui/ui-demo/tsconfig.json deleted file mode 100644 index 2c6eed5..0000000 --- a/ui/ui-demo/tsconfig.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "experimentalDecorators": true, - "useDefineForClassFields": false, - "module": "ESNext", - "lib": [ - "ES2022", - "DOM", - "DOM.Iterable" - ], - "skipLibCheck": true, - "types": [ - "node" - ], - "moduleResolution": "bundler", - "isolatedModules": true, - "moduleDetection": "force", - "allowJs": true, - "jsx": "react-jsx", - "paths": { - "@/*": [ - "./*" - ] - }, - "allowImportingTsExtensions": true, - "noEmit": true - } -} \ No newline at end of file diff --git a/ui/ui-demo/types.ts b/ui/ui-demo/types.ts deleted file mode 100644 index 65ca5e8..0000000 --- a/ui/ui-demo/types.ts +++ /dev/null @@ -1,53 +0,0 @@ -export interface Asset { - item_name: string; - background_color: string; - description: string; -} - -export interface AnalysisResponse { - assets: Asset[]; -} - -export type ExtractionStatus = 'idle' | 'analyzing' | 'reviewing' | 'generating' | 'sheet_ready' | 'splitting' | 'refining' | 'complete' | 'error' | 'modifying'; - -export interface ColorMap { - [key: string]: string; -} - -export const HEX_COLORS: ColorMap = { - Red: '#FF0000', - Yellow: '#FFFF00', - Green: '#00FF00', - White: '#FFFFFF', - Blue: '#0000FF', - Black: '#000000', - Magenta: '#FF00FF', - Cyan: '#00FFFF', - Orange: '#FFA500', - Gray: '#808080', -}; - -export interface DetectedAssetBox { - item_name: string; - coordinates: [number, number, number, number]; // ymin, xmin, ymax, xmax - bg_color_detected: string; -} - -export interface BoundingBoxResponse { - grid_dimensions: { rows: number; cols: number }; - assets: DetectedAssetBox[]; -} - -export interface CroppedAsset { - item_name: string; - imageUrl: string; - refinedImageUrl?: string; - sourceIndex: number; -} - -export interface StashItem { - id: string; - item_name: string; - imageUrl: string; - createdAt: number; -} \ No newline at end of file diff --git a/ui/ui-demo/vite.config.ts b/ui/ui-demo/vite.config.ts deleted file mode 100644 index ee5fb8d..0000000 --- a/ui/ui-demo/vite.config.ts +++ /dev/null @@ -1,23 +0,0 @@ -import path from 'path'; -import { defineConfig, loadEnv } from 'vite'; -import react from '@vitejs/plugin-react'; - -export default defineConfig(({ mode }) => { - const env = loadEnv(mode, '.', ''); - return { - server: { - port: 3000, - host: '0.0.0.0', - }, - plugins: [react()], - define: { - 'process.env.API_KEY': JSON.stringify(env.GEMINI_API_KEY), - 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY) - }, - resolve: { - alias: { - '@': path.resolve(__dirname, '.'), - } - } - }; -});